.elementor-kit-4085{--e-global-color-primary:#2C4A7E;--e-global-color-secondary:#456FAD;--e-global-color-text:#7A7A7A;--e-global-color-accent:#456FAD;--e-global-color-41655f8:#E2E2E2;--e-global-color-db0d3d1:#A7A5A5;--e-global-color-fc3df80:#6EA3D7;--e-global-color-bb7209f:#FFFFFF;--e-global-color-4e70c51:#F5F5F5;--e-global-color-43b29b5:#FFF7F0;--e-global-color-64d6a0a:#000000;--e-global-typography-primary-font-family:"Roboto";--e-global-typography-primary-font-weight:600;--e-global-typography-secondary-font-family:"Roboto Slab";--e-global-typography-secondary-font-weight:400;--e-global-typography-text-font-family:"Roboto";--e-global-typography-text-font-weight:400;--e-global-typography-accent-font-family:"Roboto";--e-global-typography-accent-font-weight:500;}.elementor-kit-4085 button,.elementor-kit-4085 input[type="button"],.elementor-kit-4085 input[type="submit"],.elementor-kit-4085 .elementor-button{background-color:var( --e-global-color-secondary );color:var( --e-global-color-bb7209f );}.elementor-kit-4085 button:hover,.elementor-kit-4085 button:focus,.elementor-kit-4085 input[type="button"]:hover,.elementor-kit-4085 input[type="button"]:focus,.elementor-kit-4085 input[type="submit"]:hover,.elementor-kit-4085 input[type="submit"]:focus,.elementor-kit-4085 .elementor-button:hover,.elementor-kit-4085 .elementor-button:focus{background-color:var( --e-global-color-41655f8 );color:var( --e-global-color-primary );}.elementor-kit-4085 e-page-transition{background-color:#FFBC7D;}.elementor-kit-4085 a{color:var( --e-global-color-secondary );}.elementor-kit-4085 a:hover{color:var( --e-global-color-fc3df80 );}.elementor-kit-4085 h1{color:var( --e-global-color-primary );font-size:36px;}.elementor-kit-4085 h2{color:var( --e-global-color-primary );font-size:28px;}.elementor-kit-4085 h3{color:var( --e-global-color-fc3df80 );font-size:21px;}.elementor-kit-4085 h4{color:var( --e-global-color-secondary );font-size:16px;font-weight:400;}.elementor-kit-4085 h5{font-size:18px;font-weight:400;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1400px;}.e-con{--container-max-width:1400px;}.elementor-widget:not(:last-child){--kit-widget-spacing:20px;}.elementor-element{--widgets-spacing:20px 20px;--widgets-spacing-row:20px;--widgets-spacing-column:20px;}{}h1.entry-title{display:var(--page-title-display);}.site-header .site-branding{flex-direction:column;align-items:stretch;}.site-header{padding-inline-end:0px;padding-inline-start:0px;}.site-footer .site-branding{flex-direction:column;align-items:stretch;}@media(max-width:1200px){.elementor-kit-4085 h2{font-size:1.75em;}.elementor-kit-4085 h3{font-size:1.3em;}.elementor-kit-4085 h4{font-size:1em;}}@media(max-width:1024px){.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-4085 h3{font-size:18px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//**
 * Digytekno 2026 — Tipografía responsiva para Elementor
 * Tema: Hello Elementor
 * Breakpoints Elementor configurados:
 *   Móvil vertical     ≤ 767px
 *   Móvil horizontal   ≤ 880px
 *   Tableta vertical   ≤ 1024px
 *   Tableta horizontal ≤ 1200px
 *   Desktop            ≥ 1201px
 *   H6 incluido en todos los breakpoints
 *
 * Pegar en: Elementor → Configuración del sitio → CSS personalizado
 */

/* ══════════════════════════════════════════════════════════════
   TOKENS — DESKTOP ≥ 1201px
   ══════════════════════════════════════════════════════════════ */
:root {
    --dgt-h1: 3.5rem;       /* 56px */
    --dgt-h2: 2.2rem;       /* 40px */
    --dgt-h3: 1.75rem;      /* 28px */
    --dgt-h4: 1.375rem;     /* 22px */
    --dgt-h5: 1rem;         /* 16px */
    --dgt-h6: 0.875rem;     /* 14px */

    --dgt-lh1: 1.10;
    --dgt-lh2: 1.15;
    --dgt-lh3: 1.20;
    --dgt-lh4: 1.25;
    --dgt-lh5: 1.35;
    --dgt-lh6: 1.40;

    --dgt-ls1: -0.02em;
    --dgt-ls2: -0.015em;
    --dgt-ls3: -0.01em;
    --dgt-ls4: 0em;
    --dgt-ls5: 0.05em;
    --dgt-ls6: 0.08em;

    --dgt-fw1: 800;
    --dgt-fw2: 700;
    --dgt-fw3: 600;
    --dgt-fw4: 600;
    --dgt-fw5: 500;
    --dgt-fw6: 500;
}

/* ══════════════════════════════════════════════════════════════
   TABLETA HORIZONTAL — max-width: 1200px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1200px) {
    :root {
        --dgt-h1: 3rem;         /* 48px */
        --dgt-h2: 2.25rem;      /* 36px */
        --dgt-h3: 1.625rem;     /* 26px */
        --dgt-h4: 1.25rem;      /* 20px */
        --dgt-h5: 0.9375rem;    /* 15px */
        --dgt-h6: 0.8125rem;    /* 13px */
    }
}

/* ══════════════════════════════════════════════════════════════
   TABLETA VERTICAL — max-width: 1024px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 1024px) {
    :root {
        --dgt-h1: 2.75rem;      /* 44px */
        --dgt-h2: 1.75rem;         /* 32px */
        --dgt-h3: 1.5rem;       /* 24px */
        --dgt-h4: 1.1875rem;    /* 19px */
        --dgt-h5: 0.9375rem;    /* 15px */
        --dgt-h6: 0.8125rem;    /* 13px */
    }
}

/* ══════════════════════════════════════════════════════════════
   MÓVIL HORIZONTAL — max-width: 880px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 880px) {
    :root {
        --dgt-h1: 2.375rem;     /* 38px */
        --dgt-h2: 1.6rem;      /* 28px */
        --dgt-h3: 1.375rem;     /* 22px */
        --dgt-h4: 1.125rem;     /* 18px */
        --dgt-h5: 0.875rem;     /* 14px */
        --dgt-h6: 0.8125rem;    /* 13px */
    }
}

/* ══════════════════════════════════════════════════════════════
   MÓVIL VERTICAL — max-width: 767px
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    :root {
        --dgt-h1: 2rem;         /* 32px */
        --dgt-h2: 1.25rem;     /* 26px */
        --dgt-h3: 1.25rem;      /* 20px */
        --dgt-h4: 1.0625rem;    /* 17px */
        --dgt-h5: 0.8125rem;    /* 13px */
        --dgt-h6: 0.75rem;      /* 12px */
    }
}

/* ══════════════════════════════════════════════════════════════
   HELLO ELEMENTOR — Reset de estilos base del tema
   Hello no aplica estilos tipográficos propios, pero sí hereda
   del normalize. Se sobreescriben aquí de forma limpia.
   ══════════════════════════════════════════════════════════════ */
.hello-elementor h1,
.hello-elementor h2,
.hello-elementor h3,
.hello-elementor h4,
.hello-elementor h5,
.hello-elementor h6,
.page-header .page-title,
.entry-title {
    font-family: inherit;
    margin: 0;
    padding: 0;
}

/* ══════════════════════════════════════════════════════════════
   HEADINGS NATIVOS — compatibles con Hello Elementor
   ══════════════════════════════════════════════════════════════ */
.hello-elementor h1,
h1 {
    font-size: var(--dgt-h1) !important;
    line-height: var(--dgt-lh1) !important;
    font-weight: var(--dgt-fw1) !important;
    letter-spacing: var(--dgt-ls1) !important;
}
.hello-elementor h2,
h2 {
    font-size: var(--dgt-h2) !important;
    line-height: var(--dgt-lh2) !important;
    font-weight: var(--dgt-fw2) !important;
    letter-spacing: var(--dgt-ls2) !important;
}
.hello-elementor h3,
h3 {
    font-size: var(--dgt-h3) !important;
    line-height: var(--dgt-lh3) !important;
    font-weight: var(--dgt-fw3) !important;
    letter-spacing: var(--dgt-ls3) !important;
}
.hello-elementor h4,
h4 {
    font-size: var(--dgt-h4) !important;
    line-height: var(--dgt-lh4) !important;
    font-weight: var(--dgt-fw4) !important;
    letter-spacing: var(--dgt-ls4) !important;
}
.hello-elementor h5,
h5 {
    font-size: var(--dgt-h5) !important;
    line-height: var(--dgt-lh5) !important;
    font-weight: var(--dgt-fw5) !important;
    letter-spacing: var(--dgt-ls5) !important;
}
.hello-elementor h6,
h6 {
    font-size: var(--dgt-h6) !important;
    line-height: var(--dgt-lh6) !important;
    font-weight: var(--dgt-fw6) !important;
    letter-spacing: var(--dgt-ls6) !important;
}

/* ══════════════════════════════════════════════════════════════
   WIDGET HEADING DE ELEMENTOR
   ══════════════════════════════════════════════════════════════ */
.elementor-widget-heading .elementor-heading-title {
    line-height: inherit;
}

.elementor-widget-heading h1,
.elementor-heading-title.elementor-size-xxl {
    font-size: var(--dgt-h1) !important;
    line-height: var(--dgt-lh1) !important;
    font-weight: var(--dgt-fw1) !important;
    letter-spacing: var(--dgt-ls1) !important;
}
.elementor-widget-heading h2,
.elementor-heading-title.elementor-size-xl {
    font-size: var(--dgt-h2) !important;
    line-height: var(--dgt-lh2) !important;
    font-weight: var(--dgt-fw2) !important;
    letter-spacing: var(--dgt-ls2) !important;
}
.elementor-widget-heading h3,
.elementor-heading-title.elementor-size-large {
    font-size: var(--dgt-h3) !important;
    line-height: var(--dgt-lh3) !important;
    font-weight: var(--dgt-fw3) !important;
    letter-spacing: var(--dgt-ls3) !important;
}
.elementor-widget-heading h4,
.elementor-heading-title.elementor-size-medium {
    font-size: var(--dgt-h4) !important;
    line-height: var(--dgt-lh4) !important;
    font-weight: var(--dgt-fw4) !important;
    letter-spacing: var(--dgt-ls4) !important;
}
.elementor-widget-heading h5,
.elementor-heading-title.elementor-size-small {
    font-size: var(--dgt-h5) !important;
    line-height: var(--dgt-lh5) !important;
    font-weight: var(--dgt-fw5) !important;
    letter-spacing: var(--dgt-ls5) !important;
}
.elementor-widget-heading h6,
.elementor-heading-title.elementor-size-xs {
    font-size: var(--dgt-h6) !important;
    line-height: var(--dgt-lh6) !important;
    font-weight: var(--dgt-fw6) !important;
    letter-spacing: var(--dgt-ls6) !important;
}

/* ══════════════════════════════════════════════════════════════
   HELLO ELEMENTOR — Page title / Entry title (blog, archivo)
   ══════════════════════════════════════════════════════════════ */
.hello-elementor .page-header .page-title,
.hello-elementor .entry-title,
.hello-elementor .entry-title a {
    font-size: var(--dgt-h2) !important;
    line-height: var(--dgt-lh2) !important;
    font-weight: var(--dgt-fw2) !important;
    letter-spacing: var(--dgt-ls2) !important;
}

/* ══════════════════════════════════════════════════════════════
   ELEMENTOR PRO — Loop Grid, Posts Widget
   ══════════════════════════════════════════════════════════════ */
.elementor-loop-item h1,
.elementor-loop-item h2,
.elementor-loop-item h3,
.elementor-post__title,
.elementor-post__title a {
    font-size: var(--dgt-h3) !important;
    line-height: var(--dgt-lh3) !important;
    font-weight: var(--dgt-fw3) !important;
    letter-spacing: var(--dgt-ls3) !important;
}

/* ══════════════════════════════════════════════════════════════
   HERO SECTION — Titular + subtítulo + texto soporte
   Aplica a secciones con clase: .dgt-hero, .elementor-section
   que contengan el heading principal de página
   ══════════════════════════════════════════════════════════════ */

/* H1 hero — línea principal blanca, bold */
.elementor-location-header h1,
.e-con h1,
.elementor-section h1,
.dgt-hero h1,
.dgt-hero .elementor-heading-title {
    font-size: var(--dgt-h1) !important;
    font-weight: 800 !important;
    line-height: 1.08 !important;
    letter-spacing: -0.025em !important;
    color: #ffffff !important;
}

/* H2 hero — línea secundaria itálica, color acento */
.elementor-location-header h2,
.e-con h2,
.elementor-section h2,
.dgt-hero h2,
.dgt-hero .elementor-heading-title.elementor-size-xl {
    font-size: var(--dgt-h2) !important;
    font-weight: 700 !important;
    font-style: normal !important;
    line-height: 1.10 !important;
    letter-spacing: -0.02em !important;
    color: #375797 !important;          /* azul oscuro — ajustar a color de marca */
}

/* Subtítulo hero — texto soporte pequeño */
.dgt-hero p,
.dgt-hero .elementor-widget-text-editor p,
.elementor-section.dgt-hero .elementor-widget-text-editor p {
    font-size: 1rem !important;          /* 16px */
    font-weight: 400 !important;
    font-style: italic !important;
    line-height: 1.6 !important;
    letter-spacing: 0 !important;
    color: rgba(255, 255, 255, 0.85) !important;
    max-width: 640px !important;
    margin-top: 1.25em !important;
}

/* ── TABLETA HORIZONTAL ≤ 1200px ───────────────────────────── */
@media (max-width: 1200px) {
    .elementor-location-header h1,
    .e-con h1,
    .elementor-section h1,
    .dgt-hero h1 {
        font-size: 3rem !important;      /* 48px */
        line-height: 1.08 !important;
    }
    .elementor-location-header h2,
    .e-con h2,
    .elementor-section h2,
    .dgt-hero h2 {
        font-size: 2.25rem !important;   /* 36px */
    }
}

/* ── TABLETA VERTICAL ≤ 1024px ─────────────────────────────── */
@media (max-width: 1024px) {
    .elementor-location-header h1,
    .e-con h1,
    .elementor-section h1,
    .dgt-hero h1 {
        font-size: 2.75rem !important;   /* 44px */
    }
    .elementor-location-header h2,
    .e-con h2,
    .elementor-section h2,
    .dgt-hero h2 {
        font-size: 2rem !important;      /* 32px */
    }
    .dgt-hero p {
        font-size: 0.9375rem !important; /* 15px */
    }
}

/* ── MÓVIL HORIZONTAL ≤ 880px ──────────────────────────────── */
@media (max-width: 880px) {
    .elementor-location-header h1,
    .e-con h1,
    .elementor-section h1,
    .dgt-hero h1 {
        font-size: 2.25rem !important;   /* 36px */
        line-height: 1.10 !important;
    }
    .elementor-location-header h2,
    .e-con h2,
    .elementor-section h2,
    .dgt-hero h2 {
        font-size: 1.75rem !important;   /* 28px */
    }
    .dgt-hero p {
        font-size: 0.875rem !important;  /* 14px */
        max-width: 100% !important;
    }
}

/* ── MÓVIL VERTICAL ≤ 767px ────────────────────────────────── */
@media (max-width: 767px) {
    .elementor-location-header h1,
    .e-con h1,
    .elementor-section h1,
    .dgt-hero h1 {
        font-size: 1.875rem !important;  /* 30px */
        line-height: 1.12 !important;
        letter-spacing: -0.02em !important;
    }
    .elementor-location-header h2,
    .e-con h2,
    .elementor-section h2,
    .dgt-hero h2 {
        font-size: 1.5rem !important;    /* 24px */
        line-height: 1.15 !important;
    }
    .dgt-hero p {
        font-size: 0.875rem !important;  /* 14px */
        line-height: 1.55 !important;
        margin-top: 1em !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   BANDA TEXTO / TESTIMONIAL — texto centrado sobre fondo oscuro
   Agregar clase CSS "dgt-banda" a la sección en Elementor
   ══════════════════════════════════════════════════════════════ */
.dgt-banda,
.dgt-banda .elementor-container,
.dgt-banda .elementor-widget-text-editor,
.dgt-banda .elementor-widget-text-editor p,
.dgt-banda p {
    text-align: center !important;
}

.dgt-banda .elementor-widget-text-editor p,
.dgt-banda p {
    font-size: 1.0625rem !important;     /* 17px */
    font-style: italic !important;
    font-weight: 400 !important;
    line-height: 1.65 !important;
    letter-spacing: 0.01em !important;
    color: rgba(255, 255, 255, 0.90) !important;
    max-width: 860px !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

@media (max-width: 1024px) {
    .dgt-banda .elementor-widget-text-editor p,
    .dgt-banda p {
        font-size: 1rem !important;      /* 16px */
        max-width: 680px !important;
    }
}

@media (max-width: 767px) {
    .dgt-banda .elementor-widget-text-editor p,
    .dgt-banda p {
        font-size: 0.9375rem !important; /* 15px */
        line-height: 1.6 !important;
        max-width: 100% !important;
        padding: 0 1rem !important;
    }
}

/* ══════════════════════════════════════════════════════════════
   ICON BOX — Título + descripción (cards con ícono)
   ══════════════════════════════════════════════════════════════ */
.elementor-widget-icon-box .elementor-icon-box-title,
.elementor-widget-icon-box .elementor-icon-box-title a {
    font-size: 1rem !important;          /* 16px fijo — no escala con H3 */
    font-weight: 700 !important;
    line-height: 1.15 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 0.35em !important;
}

.elementor-widget-icon-box .elementor-icon-box-description {
    font-size: 1rem !important;      /* 14px */
    line-height: 1.25 !important;
    color: inherit;
    margin-top: 0.5em !important;
}

/* Ícono — tamaño y visibilidad */
.elementor-widget-icon-box .elementor-icon {
    margin-bottom: 0em !important;
}

.elementor-widget-icon-box .elementor-icon i,
.elementor-widget-icon-box .elementor-icon svg {
    font-size: 2.75rem !important;       /* 44px — más visible */
    color: #1a6fc4 !important;           /* azul marca — ajustar si es necesario */
    transition: transform 0.2s ease, color 0.2s ease !important;
}

/* Hover — retroalimentación visual */
.elementor-widget-icon-box:hover .elementor-icon i,
.elementor-widget-icon-box:hover .elementor-icon svg {
    color: #2e8de8 !important;           /* azul más claro al hover */
    transform: scale(1.1) !important;
}

@media (max-width: 1024px) {
    .elementor-widget-icon-box .elementor-icon i,
    .elementor-widget-icon-box .elementor-icon svg {
        font-size: 2.5rem !important;    /* 40px */
    }
}

@media (max-width: 767px) {
    .elementor-widget-icon-box .elementor-icon i,
    .elementor-widget-icon-box .elementor-icon svg {
        font-size: 2.25rem !important;   /* 36px */
    }
}

/* ══════════════════════════════════════════════════════════════
   IMAGE BOX — mismo tratamiento
   ══════════════════════════════════════════════════════════════ */
.elementor-widget-image-box .elementor-image-box-title {
    font-size: 1rem !important;
    font-weight: 700 !important;
    line-height: 1.15 !important;
    margin-bottom: 0.35em !important;
}

.elementor-widget-image-box .elementor-image-box-description {
    font-size: 0.875rem !important;
    line-height: 1.55 !important;
    margin-top: 0.35em !important;
}

/* ══════════════════════════════════════════════════════════════
   CALL TO ACTION — Botón + texto CTA (widget nativo Elementor)
   ══════════════════════════════════════════════════════════════ */
.elementor-widget-button .elementor-button {
    font-size: 0.9375rem !important;     /* 15px */
    font-weight: 600 !important;
    letter-spacing: 0.02em !important;
    line-height: 1.2 !important;
    padding: 0.75em 1.5em !important;
}

/* CTA card tipo "caja" — heading + botón */
.elementor-cta__title {
    font-size: 1.125rem !important;      /* 18px */
    font-weight: 700 !important;
    line-height: 1.2 !important;
    letter-spacing: -0.01em !important;
    margin-bottom: 0.75em !important;
}

.elementor-cta__description {
    font-size: 0.875rem !important;      /* 14px */
    line-height: 1.55 !important;
    margin-bottom: 1em !important;
}

/* ══════════════════════════════════════════════════════════════
   CARDS GENÉRICAS — columnas con heading + texto
   ══════════════════════════════════════════════════════════════ */
.elementor-column .elementor-widget-heading .elementor-heading-title {
    line-height: 1.15 !important;
    margin-bottom: 0.3em !important;
}

/* ══════════════════════════════════════════════════════════════
   MOBILE ≤ 767px — ajuste cards apiladas
   ══════════════════════════════════════════════════════════════ */
@media (max-width: 767px) {
    .elementor-widget-icon-box .elementor-icon-box-title,
    .elementor-widget-icon-box .elementor-icon-box-title a {
        font-size: 0.9375rem !important; /* 15px */
        line-height: 1.10 !important;
    }

    .elementor-widget-icon-box .elementor-icon-box-description,
    .elementor-widget-image-box .elementor-image-box-description {
        font-size: 0.8125rem !important; /* 13px */
    }

    .elementor-widget-icon-box .elementor-icon i,
    .elementor-widget-icon-box .elementor-icon svg {
        font-size: 1.75rem !important;   /* 28px */
    }

    .elementor-cta__title {
        font-size: 1rem !important;      /*
 16px */
    }

    .elementor-widget-button .elementor-button {
        font-size: 0.875rem !important;  /* 14px */
        padding: 0.7em 1.25em !important;
    }

    .elementor-column .elementor-widget-heading .elementor-heading-title {
        line-height: 1.10 !important;
    }
}/* End custom CSS */