.elementor-kit-343{--e-global-color-primary:#DDC79F;--e-global-color-secondary:#252735;--e-global-color-text:#C8C8CC;--e-global-color-accent:#333646;--e-global-color-5b3b36b:#424657;--e-global-color-868f2c5:#F3F3F5;--e-global-color-surface:#2B2E3E;--e-global-color-band:#21232F;--e-global-color-muted:#A0A2AC;--e-global-color-marcaclara:#EADAC0;--e-global-typography-primary-font-family:"Plus Jakarta Sans";--e-global-typography-primary-font-weight:700;--e-global-typography-primary-text-transform:none;--e-global-typography-secondary-font-family:"Plus Jakarta Sans";--e-global-typography-secondary-font-weight:600;--e-global-typography-secondary-text-transform:none;--e-global-typography-text-font-family:"Plus Jakarta Sans";--e-global-typography-text-font-weight:400;--e-global-typography-text-text-transform:none;--e-global-typography-accent-font-family:"Plus Jakarta Sans";--e-global-typography-accent-font-weight:600;--e-global-typography-accent-text-transform:none;background-color:var( --e-global-color-secondary );color:var( --e-global-color-text );font-family:"Plus Jakarta Sans", Sans-serif;font-size:16px;font-weight:400;line-height:1.68em;}.elementor-kit-343 button,.elementor-kit-343 input[type="button"],.elementor-kit-343 input[type="submit"],.elementor-kit-343 .elementor-button{background-color:#02010100;font-family:"Plus Jakarta Sans", Sans-serif;font-size:15px;font-weight:600;text-transform:none;letter-spacing:0.3px;color:var( --e-global-color-primary );border-style:solid;border-width:1px 1px 1px 1px;border-radius:8px 8px 8px 8px;padding:14px 26px 14px 26px;}.elementor-kit-343 e-page-transition{background-color:#FFBC7D;}.elementor-kit-343 a{color:var( --e-global-color-868f2c5 );}.elementor-kit-343 a:hover{color:var( --e-global-color-primary );}.elementor-kit-343 h1{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:48px;font-weight:700;text-transform:none;line-height:1.15em;letter-spacing:-0.8px;}.elementor-kit-343 h2{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:32px;font-weight:600;text-transform:none;line-height:1.25em;letter-spacing:-0.4px;}.elementor-kit-343 h3{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:20px;font-weight:600;text-transform:none;line-height:1.35em;letter-spacing:0px;}.elementor-kit-343 h4{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:17px;font-weight:600;text-transform:none;line-height:1.4em;letter-spacing:0px;}.elementor-kit-343 h5{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:1rem;font-weight:500;text-transform:uppercase;}.elementor-kit-343 h6{color:var( --e-global-color-868f2c5 );font-family:"Plus Jakarta Sans", Sans-serif;font-size:0.9375rem;font-weight:500;text-transform:uppercase;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1140px;}.e-con{--container-max-width:1140px;}.elementor-widget:not(:last-child){margin-block-end: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:1024px){.elementor-kit-343 h1{font-size:36px;}.elementor-kit-343 h2{font-size:26px;}.elementor-kit-343 h3{font-size:19px;}.elementor-kit-343 h4{font-size:17px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-343 h1{font-size:30px;}.elementor-kit-343 h2{font-size:22px;}.elementor-kit-343 h3{font-size:18px;}.elementor-kit-343 h4{font-size:16px;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}/* Start custom CSS *//* ===============================================================
   CSS del Kit — Barcometal
   Solo lo que Elementor no expone como control. Sin !important:
   si hiciera falta, sería que hay un ajuste mal puesto en el widget.
   Los colores salen de los globales del Kit (Ajustes del sitio →
   Colores globales), así que cambiar la paleta ahí cambia también esto.
   =============================================================== */

/* --- Foco visible -----------------------------------------------
   Falta control: ni Hello Elementor ni el kit lo traen. Se usa
   :focus-visible para que el anillo no salte al hacer clic con ratón.
   El desplazamiento de 4px lo saca fuera del elemento, así que el
   contraste se mide contra el fondo de la sección (>= 8:1 en todas). */
body :focus-visible {
  outline: 3px solid var(--e-global-color-primary, #DDC79F);
  outline-offset: 4px;
}

/* --- Enlace "Ir al contenido" -----------------------------------
   Falta soporte: el CSS del tema que lo revela no siempre carga con
   las plantillas de Elementor. */
.screen-reader-text:focus {
  clip: auto; clip-path: none; width: auto; height: auto;
  left: 12px; top: 12px; position: fixed; z-index: 100000;
  background: var(--e-global-color-secondary, #252735);
  color: var(--e-global-color-868f2c5, #F3F3F5);
  padding: 12px;
}

/* --- Enlaces dentro de un texto ---------------------------------
   WCAG 1.4.1: un enlace en medio de un párrafo no puede distinguirse
   solo por el color. Los botones y las listas de iconos quedan fuera
   porque ya se distinguen por su forma. */
.elementor-widget-text-editor a { text-decoration: underline; }

/* Lo mismo para los enlaces dentro de la descripción de un Icon Box (teléfono,
   correo). Falta control: el widget no expone color ni subrayado para ellos. */
.elementor-icon-box-description a {
  color: var(--e-global-color-primary, #DDC79F);
  text-decoration: underline;
}

/* --- Movimiento reducido ----------------------------------------
   Falta soporte: Elementor no atiende a prefers-reduced-motion, ni en
   las animaciones de entrada ni en el Ken Burns del héroe. */
@media (prefers-reduced-motion: reduce) {
  body .elementor-invisible { visibility: visible; animation: none; }
  body .animated { animation: none; }
  .elementor-animation-float:hover,
  .e--animation-float .elementor-item:hover { transform: none; }
  .elementor-ken-burns,
  .elementor-ken-burns--active,
  .elementor-background-slideshow__slide__image {
    transition: none; animation: none; transform: scale(1);
  }
  html { scroll-behavior: auto; }
}

/* --- Desbordamiento horizontal ----------------------------------
   clip y no hidden, que hidden rompe los elementos pegajosos. */
.elementor-section { overflow-x: clip; }

/* --- Margen del último bloque de un texto -----------------------
   Falta control: sin esto, el margen del tema se suma al del widget
   (Avanzado -> Margen) y el espaciado deja de ser el del control. */
.elementor-widget-text-editor > .elementor-widget-container > :last-child {
  margin-block-end: 0;
}


/* --- Ancho de lectura centrado ---------------------------------
   Falta control: cuando a un widget se le da "Ancho: personalizado",
   Elementor no ofrece cómo centrarlo. Su control de Margen escribe sobre
   `.elementor-widget-container` (el div interior), y dentro de una columna
   flex ese margen ni centra ni separa: hay que ponerlo en el widget.
   Se aplica desde Avanzado -> Clases CSS. */
.wa-centrado { margin-inline: auto; }

/* Y Elementor, además, anula el espaciado entre widgets en cuanto uno lleva
   ancho personalizado:
     .elementor-widget:not(:last-child).elementor-widget__width-initial { margin-block-end: 0 }
   Está pensado para widgets puestos en línea, pero deja el párrafo pegado al
   botón siguiente. Se le devuelve el ritmo del Kit, leyendo su misma variable
   para que siga a "Ajustes del sitio -> Diseño -> Espacio entre widgets". */
.elementor-widget.wa-centrado:not(:last-child) {
  margin-block-end: var(--kit-widget-spacing, 20px);
}

/* --- Transiciones suaves ---------------------------------------- */
.elementor-button, .elementor-item, .elementor-icon-box-wrapper, .elementor-field {
  transition: all .22s ease-in-out;
}

/* --- Campos del formulario --------------------------------------
   Falta control: el widget Formulario no expone el estado :focus de
   los campos. Se sube la especificidad con `body` en vez de usar
   !important, para que el resto de ajustes del widget sigan mandando. */
body .elementor-field-group .elementor-field-textual {
  min-height: 48px;
  padding: 12px 16px;
  box-sizing: border-box;
}
body .elementor-field-group textarea.elementor-field-textual {
  min-height: 120px;
  padding: 14px 16px;
}
body .elementor-field-group .elementor-field-textual:focus-visible {
  border-color: var(--e-global-color-primary, #DDC79F);
  box-shadow: 0 0 0 3px rgb(221 199 159 / .22);
  outline: none;
}
body .elementor-field-group .elementor-field::placeholder {
  color: var(--e-global-color-muted, #A0A2AC);
  opacity: 1;
}

/* --- Casilla de aceptación --------------------------------------
   Falta control: el widget no permite alinear la casilla con su texto
   ni darle tamaño propio. */
body .elementor-field-type-acceptance .elementor-field-subgroup .elementor-field-option {
  display: flex; align-items: center; gap: 12px;
}
body .elementor-field-type-acceptance input[type="checkbox"] {
  width: 18px; height: 18px; min-height: 18px;
  margin: 0; padding: 0; flex-shrink: 0; cursor: pointer;
  accent-color: var(--e-global-color-primary, #DDC79F);
}
body .elementor-field-type-acceptance label {
  margin: 0; cursor: pointer;
  color: var(--e-global-color-text, #C8C8CC);
  font-size: 14px; line-height: 1.5;
}
body .elementor-field-type-submit { margin-block-start: 10px; }

/* --- Aviso de cookies -------------------------------------------
   El banner y el panel de CookieYes son BLANCOS, pero el color de enlace
   global del Kit está pensado para el sitio oscuro (#F3F3F5). Se colaba
   dentro y dejaba el enlace a la política en 1,11:1, ilegible.
   CookieYes solo estiliza el enlace si lleva class="cky-policy"; esta regla
   cubre además cualquier otro enlace que se añada al banner más adelante.
   Se usa `body` para ganar en especificidad, no !important. */
body .cky-consent-container a,
body .cky-modal a {
  color: #1863DC;
  text-decoration: underline;
}

/* --- Selector de idioma flotante --------------------------------
   Es de GTranslate y no pasa por Elementor: se le da el mismo anillo
   de foco que al resto del sitio. */
.gt_float_switcher :focus-visible {
  outline: 3px solid var(--e-global-color-primary, #DDC79F);
  outline-offset: 3px;
}
.gt_float_switcher { font-family: inherit; }

/* --- Recorte accesible ------------------------------------------
   Para textos que deben existir para el lector de pantalla y no verse
   (botones de solo icono). Nunca display:none, que borra el nombre. */
.wa-solo-lectores {
  position: absolute; width: 1px; height: 1px; overflow: hidden;
  clip: rect(0 0 0 0); clip-path: inset(50%); white-space: nowrap;
}/* End custom CSS */