.elementor-kit-7{--e-global-color-primary:#0F2747;--e-global-color-secondary:#0F2747;--e-global-color-text:#1F2933;--e-global-color-accent:#1F5FAE;--e-global-color-glsteel:#566476;--e-global-color-glmist:#E9EDF2;--e-global-color-glpaper:#FFFFFF;--e-global-color-glsignal:#1F5FAE;--e-global-color-glmuted:#AEBBCC;--e-global-typography-primary-font-family:"Archivo";--e-global-typography-secondary-font-family:"Archivo";--e-global-typography-text-font-family:"Public Sans";--e-global-typography-accent-font-family:"Public Sans";--e-global-typography-glmono-font-family:"IBM Plex Mono";--e-global-typography-glmono-font-weight:500;background-color:#FFFFFF;color:#1F2933;font-family:"Public Sans", Sans-serif;font-size:18px;line-height:1.6em;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#1F5FAE;font-family:"Public Sans", Sans-serif;font-size:18px;line-height:1em;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#1F5FAE;border-radius:4px 4px 4px 4px;padding:12px 32px 12px 32px;}.elementor-kit-7 button:hover,.elementor-kit-7 button:focus,.elementor-kit-7 input[type="button"]:hover,.elementor-kit-7 input[type="button"]:focus,.elementor-kit-7 input[type="submit"]:hover,.elementor-kit-7 input[type="submit"]:focus,.elementor-kit-7 .elementor-button:hover,.elementor-kit-7 .elementor-button:focus{background-color:#0F2747;color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#0F2747;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-kit-7 p{margin-block-end:16px;}.elementor-kit-7 a{color:#0F2747;}.elementor-kit-7 a:hover{color:#1F5FAE;}.elementor-kit-7 h1{color:#0F2747;font-family:"Archivo", Sans-serif;font-size:57.6px;line-height:1.1em;letter-spacing:-0.03em;}.elementor-kit-7 h2{color:#0F2747;font-family:"Archivo", Sans-serif;font-size:38.4px;line-height:1.1em;letter-spacing:-0.02em;}.elementor-kit-7 h3{color:#0F2747;font-family:"Archivo", Sans-serif;font-size:25.6px;line-height:1.3em;letter-spacing:-0.02em;}.elementor-kit-7 h4{color:#0F2747;font-family:"Archivo", Sans-serif;font-size:18px;line-height:1.3em;letter-spacing:-0.02em;}.elementor-kit-7 img{border-radius:12px 12px 12px 12px;}.elementor-kit-7 label{color:#0F2747;font-family:"Public Sans", Sans-serif;font-size:14.4px;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-family:"Public Sans", Sans-serif;font-size:18px;color:#1F2933;accent-color:#1F5FAE;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:rgba(86,100,118,0.45);border-radius:4px 4px 4px 4px;transition:0.22ms;padding:12px 16px 12px 16px;}.elementor-kit-7 input:focus:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea:focus,.elementor-kit-7 .elementor-field-textual:focus{color:#1F2933;background-color:#FFFFFF;border-style:solid;border-width:1px 1px 1px 1px;border-color:#1F5FAE;border-radius:4px 4px 4px 4px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1200px;}.e-con{--container-max-width:1200px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}.elementor-widget:not(:last-child){--kit-widget-spacing:0px;}.elementor-element{--widgets-spacing:0px 0px;--widgets-spacing-row:0px;--widgets-spacing-column:0px;}{}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:1024px){.elementor-kit-7{font-size:17px;}.elementor-kit-7 h1{font-size:45.2px;}.elementor-kit-7 h2{font-size:32.2px;}.elementor-kit-7 h3{font-size:23.3px;}.elementor-kit-7 h4{font-size:17px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:17px;}.elementor-kit-7 label{font-size:14px;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}@media(max-width:767px){.elementor-kit-7{font-size:16px;}.elementor-kit-7 h1{font-size:36.6px;}.elementor-kit-7 h2{font-size:27.9px;}.elementor-kit-7 h3{font-size:21.1px;}.elementor-kit-7 h4{font-size:16px;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:16px;}.elementor-kit-7 label{font-size:13.4px;}.elementor-kit-7 input:not([type="button"]):not([type="submit"]),.elementor-kit-7 textarea,.elementor-kit-7 .elementor-field-textual{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;--container-default-padding-top:0px;--container-default-padding-right:0px;--container-default-padding-bottom:0px;--container-default-padding-left:0px;}}
/* Start custom CSS *//* ============================================================
   GL SOLUTIONS SERVICES LLC — shared CSS (Elementor kit, post 7)
   Written by wp-build/04-kit.php. Source of truth: assets/css/*.css.

   - Repeated components live here; one-section rules are anchored to
     the section #id so they win (1-x-x) without !important.
   - Widget rules are anchored to the widget class
     (.elementor-widget-X.class) because the kit CSS loads BEFORE
     Elementor's per-template CSS and would lose 0-2-0 ties
     (WIB-Web-Kit/docs/07-trampas.md §3). Do not "simplify" them.
   - 10 is replaced by the page ID of Services at build time.
   ============================================================ */
:root {
  --gl-ink: #0f2747;
  --gl-navy: #0f2747;
  --gl-steel: #566476;
  --gl-mist: #e9edf2;
  --gl-paper: #ffffff;
  --gl-signal: #1f5fae;
  --gl-signal-d: #1f5fae;
  --gl-line: rgba(86, 100, 118, 0.25);
  --gl-line-strong: rgba(86, 100, 118, 0.45);
  --gl-graphite: #1f2933;
  --gl-sky: #7fa9e0;
  --gl-on-ink-muted: #aebbcc;
  --gl-ease: cubic-bezier(0.2, 0.7, 0.2, 1);
  --gl-dur: 220ms;
  --gl-dur-slow: 600ms;
  --gl-header-h: 72px;
}
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--gl-header-h) + 16px); }
body { -webkit-font-smoothing: antialiased; text-rendering: optimizeLegibility; overflow-x: clip; }
h1, h2, h3, h4 { text-wrap: balance; }
p { text-wrap: pretty; }
a[href^="tel:"] { white-space: nowrap; }
:focus-visible { outline: 2px solid var(--gl-signal); outline-offset: 3px; border-radius: 2px; }

/* Inline links in text (base.css a): 1.5px teal underline */
.elementor-widget-text-editor a { text-decoration: underline; text-decoration-color: var(--gl-signal); text-decoration-thickness: 1.5px; text-underline-offset: 0.18em; transition: color var(--gl-dur) var(--gl-ease); }
.elementor-widget-text-editor p + p { margin-top: 16px; }

/* ---- Buttons: colors live in the widget panel; this is only what the panel can't express ---- */
.elementor-widget-button.gl-btn .elementor-button { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 52px; line-height: 1; white-space: nowrap; transition: background-color var(--gl-dur) var(--gl-ease), border-color var(--gl-dur) var(--gl-ease), color var(--gl-dur) var(--gl-ease), transform var(--gl-dur) var(--gl-ease); }
.elementor-widget-button.gl-btn .elementor-button:active { transform: translateY(1px); }
.elementor-widget-button.gl-btn--sm .elementor-button { min-height: 44px; }
/* "Learn more →" (cards): a button widget without a box */
.elementor-widget-button.gl-link-arrow .elementor-button { display: inline-flex; align-items: center; gap: 8px; min-height: 0; padding: 0; border: 0; background: transparent; line-height: 1; }
.elementor-widget-button.gl-link-arrow .elementor-button-icon { display: inline-flex; transition: transform var(--gl-dur) var(--gl-ease); }
.elementor-widget-button.gl-link-arrow .elementor-button:hover .elementor-button-icon { transform: translateX(3px); }

/* ---- Entrance animation = components.css .reveal (14px fade-up, 600ms) ---- */
@keyframes glFadeUp { from { opacity: 0; transform: translateY(14px); } to { opacity: 1; transform: none; } }
.elementor-element.animated.fadeInUp { animation-name: glFadeUp; animation-timing-function: var(--gl-ease); }
.elementor-element.animated.animated-fast { animation-duration: var(--gl-dur-slow); }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .elementor-element.elementor-invisible { visibility: visible; }
  .elementor-element.animated { animation: none; }
}

/* ---- Measures ---- */
.e-con.gl-section-head { max-width: 36em; margin-bottom: 64px; }
.gl-lead { max-width: 34em; }
.gl-hero__title { max-width: 12em; }
.gl-hero__media img { width: 100%; aspect-ratio: 8 / 5; object-fit: cover; }
.gl-split__media img { width: 100%; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 1025px) { .e-con.gl-split--reverse > :first-child { order: 2; } }

/* ---- Header (layout.css .site-header): fixed + transparent, solid after 24px of scroll ---- */
.e-con.gl-header { position: fixed; top: 0; left: 0; right: 0; width: 100%; z-index: 50; background: transparent; border-bottom: 1px solid transparent; transition: background-color var(--gl-dur) var(--gl-ease), border-color var(--gl-dur) var(--gl-ease); }
.gl-header.elementor-sticky__spacer, .gl-header + .elementor-sticky__spacer { display: none; }
.e-con.gl-header.elementor-sticky--effects { background: rgba(255, 255, 255, 0.94); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px); border-bottom-color: var(--gl-line); }
#gl-header .gl-header__nav { width: auto; flex-shrink: 0; }
#gl-header .gl-header__brand { flex-shrink: 0; }
#gl-header .elementor-nav-menu--main .elementor-item { padding-left: 0; padding-right: 0; }
#gl-header .elementor-nav-menu--main .elementor-item:after { height: 2px; }
/* Mobile panel (layout.css .nav__panel): full width under the 72px header, paper background */
#gl-header .elementor-nav-menu--dropdown.elementor-nav-menu__container { position: fixed; left: 0; right: 0; top: var(--gl-header-h); width: auto; max-height: calc(100vh - var(--gl-header-h)); overflow: auto; margin: 0; background: var(--gl-paper); box-shadow: 0 16px 32px -24px rgba(15, 39, 71, 0.35); }
#gl-header .elementor-nav-menu--dropdown .elementor-nav-menu { padding: 8px 0; }
#gl-header .elementor-menu-toggle { color: var(--gl-navy); background: transparent; border: 0; }

.gl-brand { display: inline-flex; align-items: center; gap: 12px; color: var(--gl-navy); text-decoration: none; font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif; font-weight: 700; font-size: 16.8px; letter-spacing: -0.01em; line-height: 1; transition: color var(--gl-dur) var(--gl-ease); }
.gl-brand:hover { color: var(--gl-navy); }
.gl-brand > svg, .gl-brand > img { display: block; height: 36px; width: auto; }
.gl-brand__name { display: inline-flex; flex-direction: column; gap: 2px; }
.gl-brand__name small { font-family: 'IBM Plex Mono', ui-monospace, Menlo, monospace; font-size: 9.6px; font-weight: 500; letter-spacing: 0.14em; text-transform: uppercase; color: var(--gl-steel); transition: color var(--gl-dur) var(--gl-ease); }
@media (max-width: 767px) { #gl-header .gl-brand__name { display: none; } }
/* Mobile CTA lives in the dropdown as a full-width button (layout.css .nav__panel .btn); hidden elsewhere */
#gl-header .elementor-nav-menu--main .gl-menu-cta { display: none; }
#gl-header .elementor-nav-menu--dropdown .gl-menu-cta { padding: 16px 24px 8px; border-top: 0; }
#gl-header .elementor-nav-menu--dropdown .gl-menu-cta > a { display: flex; justify-content: center; min-height: 44px; padding: 8px 24px; background: var(--gl-signal-d); color: var(--gl-paper); border-radius: 4px; font-weight: 500; }
#gl-header .elementor-nav-menu--dropdown .gl-menu-cta > a:hover, #gl-header .elementor-nav-menu--dropdown .gl-menu-cta > a:focus { background: var(--gl-navy); color: var(--gl-paper); }

/* Dark heroes (Home y Services, en CUALQUIER idioma): cabecera blanca hasta hacer scroll.
   La clase .gl-hero-dark la pone el mu-plugin gl-polylang-templates.php sobre la portada y
   Services y sus traducciones. Antes esto iba atado a body.page-id-9/10, asi que las paginas
   en espanol (104/105) se quedaban con los enlaces en navy sobre el hero navy: invisibles.
   No volver a atarlo a un ID de pagina. Migrado 2026-08-31. */
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .gl-brand,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-nav-menu--main .elementor-item,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-menu-toggle,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-menu-toggle { color: var(--gl-paper); }
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .gl-brand__name small,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .gl-brand__name small { color: var(--gl-on-ink-muted); }

/* ---- Cards (components.css .card) ---- */
.e-con.gl-card { transition: border-color var(--gl-dur) var(--gl-ease), transform var(--gl-dur) var(--gl-ease); }
.e-con.gl-card:hover { transform: translateY(-2px); }
.e-con.gl-card .gl-card__media img { display: block; width: 100%; aspect-ratio: 16 / 10; object-fit: cover; }

/* ---- Pasos del proceso (#gl-rail) — rejilla nativa de contenedores Elementor.
   Sustituye al antiguo widget HTML con <ol class="gl-rail-list">, que era el unico bloque de
   marcado crudo del sitio y que ademas llego VACIO a produccion (kit §06: un bloque HTML es un
   callejon sin salida que solo mantiene quien lo escribio). Ahora son 6 contenedores con
   icono + H3 + texto, editables desde el panel. Migrado 2026-08-31. ---- */
#gl-rail .gl-rail__intro { position: sticky; top: calc(var(--gl-header-h) + 32px); }
@media (max-width: 1024px) { #gl-rail .gl-rail__intro { position: static; } }
#gl-rail .gl-steps { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 40px 32px; }
@media (max-width: 767px) { #gl-rail .gl-steps { grid-template-columns: 1fr; gap: 32px; } }
#gl-rail .gl-step { border-top: 1px solid var(--gl-line); padding-top: 20px; }
#gl-rail .gl-step__icon .elementor-icon { color: var(--gl-signal); font-size: 22px; }
#gl-rail .gl-step__title .elementor-heading-title { margin: 0; font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif; font-size: 18px; font-weight: 600; line-height: 1.3; letter-spacing: -0.02em; color: var(--gl-navy); }
#gl-rail .gl-step__text { color: var(--gl-steel); font-size: 14.4px; line-height: 1.6; }
#gl-rail .gl-step__text p { margin: 0; }
@media (max-width: 1024px) { #gl-rail .gl-step__title .elementor-heading-title { font-size: 17px; } #gl-rail .gl-step__text { font-size: 14px; } }
@media (max-width: 767px) { #gl-rail .gl-step__title .elementor-heading-title { font-size: 16px; } #gl-rail .gl-step__text { font-size: 13.4px; } }

/* ---- Image + form card (components.css .form-split) ---- */
.e-con.gl-form-split__media { position: relative; }
.e-con.gl-form-split__media img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }
@media (min-width: 1025px) {
  .e-con.gl-form-split__media .elementor-widget-image { position: absolute; inset: 0; height: 100%; }
  .e-con.gl-form-split__media .elementor-widget-image > *, .e-con.gl-form-split__media img { height: 100%; aspect-ratio: auto; }
}

/* ---- Form (components.css .form) — field colors/borders come from the kit's Form Fields settings ---- */
.elementor-widget-form.gl-form .elementor-field-group { margin-bottom: 0; }
.elementor-widget-form.gl-form .elementor-field-textual { min-height: 52px; }
.elementor-widget-form.gl-form textarea.elementor-field-textual { min-height: 128px; resize: vertical; }
.elementor-widget-form.gl-form .elementor-field-textual:focus { border-color: var(--gl-signal-d); box-shadow: 0 0 0 3px rgba(31, 95, 174, 0.25); outline: none; }
.elementor-widget-form.gl-form .elementor-field-type-acceptance .elementor-field-subgroup label { font-size: 14.4px; font-weight: 400; color: var(--gl-steel); line-height: 1.6; }
.elementor-widget-form.gl-form .elementor-field-type-acceptance input[type='checkbox'] { width: 18px; height: 18px; margin-top: 0.2em; accent-color: var(--gl-signal-d); }
.elementor-widget-form.gl-form .elementor-field-type-acceptance a { color: var(--gl-navy); text-decoration: underline; text-decoration-color: var(--gl-signal); text-underline-offset: 0.18em; }
.elementor-widget-form.gl-form .elementor-button { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; line-height: 1; width: 100%; transition: background-color var(--gl-dur) var(--gl-ease), border-color var(--gl-dur) var(--gl-ease); }
/* Mensaje de estado sin caja ni filete: solo texto de color. Peticion del cliente (31-08-2026).
   Contrastes sobre el blanco de la tarjeta: azul 6.35:1, rojo 6.58:1, los dos AA. */
.elementor-widget-form.gl-form .elementor-message { padding: 0; border: 0; border-radius: 0; background: none; font-family: 'Public Sans', system-ui, sans-serif; font-weight: 500; font-size: 16px; line-height: 1.5; }
.elementor-widget-form.gl-form .elementor-message:not(.elementor-help-inline) { margin-top: 16px; }
.elementor-widget-form.gl-form .elementor-message.elementor-message-danger { color: #b42318; }
.elementor-widget-form.gl-form .elementor-message.elementor-message-success { color: var(--gl-signal); }
.elementor-widget-form.gl-form .elementor-field-textual.elementor-error, .elementor-widget-form.gl-form .elementor-error .elementor-field-textual { border-color: #b42318; }
.elementor-widget-form.gl-form .elementor-message-danger.elementor-help-inline { color: #b42318; font-size: 14.4px; }

/* ---- Contact details row (components.css .info) ---- */
.e-con.gl-info .elementor-widget-text-editor a { color: var(--gl-navy); font-weight: 500; text-decoration: none; }
.e-con.gl-info .elementor-widget-text-editor a:hover { text-decoration: underline; }

/* ---- Service blocks (components.css .service) ---- */
.e-con.gl-service { scroll-margin-top: calc(var(--gl-header-h) + 16px); }
.elementor-widget-icon-list.gl-checklist .elementor-icon-list-icon { margin-top: 0.2em; }

/* ---- FAQ (components.css .faq) ---- */
.elementor-widget-n-accordion.gl-faq .e-n-accordion-item { border-bottom: 1px solid var(--gl-line); }
.elementor-widget-n-accordion.gl-faq .e-n-accordion-item-title { cursor: pointer; }
.elementor-widget-n-accordion.gl-faq .e-n-accordion-item-title-icon { transition: transform var(--gl-dur) var(--gl-ease); }
.elementor-widget-n-accordion.gl-faq .e-n-accordion-item[open] .e-n-accordion-item-title-icon { transform: rotate(180deg); }
.elementor-widget-n-accordion.gl-faq .e-n-accordion-item > .e-con { max-width: 64ch; }

/* ---- Legal pages (base.css .prose) ---- */
.e-con.gl-legal { max-width: 72ch; }
.e-con.gl-legal .elementor-widget-text-editor ul, .e-con.gl-legal .elementor-widget-text-editor ol { padding-inline-start: 1.25em; margin: 16px 0 0; }
.e-con.gl-legal .elementor-widget-text-editor li + li { margin-top: 8px; }
.e-con.gl-legal .elementor-widget-text-editor ul + p, .e-con.gl-legal .elementor-widget-text-editor ol + p { margin-top: 16px; }

/* ---- Footer (layout.css .site-footer) ---- */
#gl-footer { color: var(--gl-on-ink-muted); }
#gl-footer .gl-brand { color: var(--gl-paper); margin-bottom: 16px; }
#gl-footer .gl-brand__name small { color: var(--gl-on-ink-muted); }
#gl-footer .elementor-widget-text-editor a, #gl-footer .elementor-icon-list-item a, #gl-footer .elementor-icon-list-text { color: var(--gl-paper); text-decoration: none; }
/* --gl-signal on --gl-ink is 2.36:1 and fails AA: on dark surfaces the accent is --gl-sky. */
#gl-footer .elementor-widget-text-editor a:hover, #gl-footer .elementor-icon-list-item a:hover, #gl-footer .elementor-icon-list-item a:hover .elementor-icon-list-text { color: var(--gl-sky); }
#gl-footer .gl-footer__disclaimer { max-width: 70ch; }
#gl-footer .gl-footer__meta { display: flex; flex-wrap: wrap; gap: 8px 24px; margin: 0; }

/* ---- Placeholder audit (base.css): add class="show-placeholders" to <body> to outline every placeholder ---- */
.show-placeholders [data-placeholder] { outline: 3px dashed #f59e0b; outline-offset: -3px; }

/* ============================================================
   HEADER (template 43) - hand-built in Elementor by the client.
   Those containers are NOT written by wp-build: do not re-run 05-header
   against this install without porting the structure first.

   Two widgets need styling the panel does not hold:

   1) Unlimited Elements "Fullscreen Menu" (ucaddon_fullscreen_navigation_menu).
      Its colours are WIDGET DEFAULTS, not saved settings, so there is no control
      to fill in: it emits .ue_hamburger{background-color:#072eb8} (hover #2a2a2a),
      .ue_inner_menu{background-color:#000000}, and in the open state a broken
      empty `background-color:;`. None of that is in the palette.
   2) The Icon List standing in for the desktop nav.

   Anchored to #gl-header (1-x-0) so it beats the widget's own
   `#uc_fullscreen_navigation_menu_elementor_<id> .x` (1-1-0) without !important,
   and keeps working if the widget id changes. Do not "simplify" to bare classes:
   the kit sheet loads before the template CSS and would lose the tie (trap 3).
   ============================================================ */

/* ---- Burger: white icon on a navy plate, the same navy the open menu uses ---- */
#gl-header .ue-fullscreen-menu .ue_hamburger { background-color: var(--gl-ink); border-radius: 4px; }
#gl-header .ue-fullscreen-menu input:hover + .ue_hamburger,
#gl-header .ue-fullscreen-menu .checkbox-toggle:hover + .ue_hamburger { background-color: var(--gl-signal); }
#gl-header .ue-fullscreen-menu .ue_hamburger > div,
#gl-header .ue-fullscreen-menu .ue_hamburger > div::before,
#gl-header .ue-fullscreen-menu .ue_hamburger > div::after { background-color: var(--gl-paper); }
/* Open state: the widget emits `background-color:;` here, so the X is restated explicitly. */
#gl-header .ue-fullscreen-menu .checkbox-toggle:checked + .ue_hamburger { background-color: transparent; }
#gl-header .ue-fullscreen-menu .checkbox-toggle:checked + .ue_hamburger > div,
#gl-header .ue-fullscreen-menu .checkbox-toggle:checked + .ue_hamburger > div::before,
#gl-header .ue-fullscreen-menu .checkbox-toggle:checked + .ue_hamburger > div::after { background-color: var(--gl-paper); }
#gl-header .ue-fullscreen-menu .checkbox-toggle:focus-visible + .ue_hamburger { outline: 2px solid var(--gl-sky); outline-offset: 3px; }

/* ---- Overlay: navy, full height. The widget sets position:fixed but no height ---- */
#gl-header .ue-fullscreen-menu .ue_inner_menu { background-color: var(--gl-ink); }
#gl-header .ue-fullscreen-menu .ue_menu { height: 100vh; height: 100svh; }
#gl-header .ue-fullscreen-menu .ue_menu > div > div > div { max-width: min(90vw, 520px); }

/* ---- Links inside the fullscreen menu ---- */
#gl-header .ue-fullscreen-menu .ue_menu ul.uc-list-menu { list-style: none; margin: 0; padding: 0; }
#gl-header .ue-fullscreen-menu .ue_menu ul li { margin: 0; }
#gl-header .ue-fullscreen-menu .ue_menu ul li a {
  display: inline-flex; padding: 12px 0; color: var(--gl-paper);
  font-family: 'Archivo', 'Helvetica Neue', Arial, sans-serif; font-weight: 600;
  font-size: 32px; line-height: 1.2; letter-spacing: -0.02em; text-decoration: none;
}
#gl-header .ue-fullscreen-menu .ue_menu ul li a:hover,
#gl-header .ue-fullscreen-menu .ue_menu ul li.current-menu-item > a { color: var(--gl-sky); }
#gl-header .ue-fullscreen-menu .ue_menu ul li a::after { background-color: var(--gl-sky); height: 2px; }

/* The CTA reads as a button, not a fourth link (same rule as the mobile dropdown). */
#gl-header .ue-fullscreen-menu .ue_menu ul li.gl-menu-cta { margin-top: 24px; }
#gl-header .ue-fullscreen-menu .ue_menu ul li.gl-menu-cta > a {
  justify-content: center; min-height: 48px; padding: 12px 32px;
  background: var(--gl-signal); color: var(--gl-paper); border-radius: 4px;
  font-family: 'Public Sans', system-ui, sans-serif; font-weight: 500; font-size: 18px; letter-spacing: 0;
}
#gl-header .ue-fullscreen-menu .ue_menu ul li.gl-menu-cta > a:hover { background: var(--gl-paper); color: var(--gl-ink); }
#gl-header .ue-fullscreen-menu .ue_menu ul li.gl-menu-cta > a::after { display: none; }

@media (max-width: 480px) {
  #gl-header .ue-fullscreen-menu .ue_menu ul li a { font-size: 26px; }
}

/* ---- Icon List standing in for the desktop nav ---- */
#gl-header .elementor-widget-icon-list .elementor-icon-list-items { display: flex; align-items: center; gap: 32px; margin: 0; padding: 0; }
#gl-header .elementor-widget-icon-list .elementor-icon-list-item { margin: 0; }
#gl-header .elementor-widget-icon-list .elementor-icon-list-icon { display: none; }
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a {
  position: relative; display: inline-block; padding: 4px 0; text-decoration: none;
  font-family: 'Public Sans', system-ui, sans-serif; font-weight: 500; font-size: 16px;
  color: var(--gl-navy); transition: color var(--gl-dur) var(--gl-ease);
}
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a .elementor-icon-list-text { color: inherit; }
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a::after {
  content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 2px;
  background: var(--gl-signal); transform: scaleX(0); transform-origin: left;
  transition: transform var(--gl-dur) var(--gl-ease);
}
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a:hover::after,
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a:focus-visible::after { transform: scaleX(1); }
#gl-header .elementor-widget-icon-list .elementor-icon-list-item > a:hover { color: var(--gl-signal); }

/* Transparent header over the dark heroes: header text starts white and turns navy on scroll. */
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a { color: var(--gl-paper); }
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a:hover,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a:hover { color: var(--gl-sky); }
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a::after,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .elementor-widget-icon-list .elementor-icon-list-item > a::after { background: var(--gl-sky); }
/* The burger plate is navy on white, but transparent over a navy hero so it does not read as a box. */
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .ue-fullscreen-menu .ue_hamburger,
body.gl-hero-dark #gl-header:not(.elementor-sticky--effects) .ue-fullscreen-menu .ue_hamburger { background-color: transparent; }

/* The logo image must never stretch the row. */
#gl-header .elementor-widget-image img { display: block; width: auto; max-height: 44px; }

/* ---- Selector de idioma del pie (shortcode [gl_lang_switcher] del mu-plugin
   gl-polylang-templates.php). Anclado a .gl-footer para ganar por especificidad
   sin !important, como el resto del kit. Anadido 2026-08-31. ---- */
.gl-footer .gl-lang { margin: 8px 0 0; font-size: 14px; color: var(--gl-on-navy); }
.gl-footer .gl-lang__link { color: var(--gl-sky); text-decoration: none; }
.gl-footer .gl-lang__link:hover { text-decoration: underline; }
.gl-footer .gl-lang__current { color: var(--gl-on-navy); }
.gl-footer .gl-lang__sep { color: var(--gl-on-navy); }/* End custom CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Archivo';
	font-display: auto;
	src: url('https://glsolutionsgroup.com/wp-content/uploads/fonts/archivo-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'Public Sans';
	font-display: auto;
	src: url('https://glsolutionsgroup.com/wp-content/uploads/fonts/public-sans-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */
/* Start Custom Fonts CSS */@font-face {
	font-family: 'IBM Plex Mono';
	font-style: normal;
	font-weight: 500;
	font-display: auto;
	src: url('https://glsolutionsgroup.com/wp-content/uploads/fonts/ibm-plex-mono-500-latin.woff2') format('woff2');
}
/* End Custom Fonts CSS */