.elementor-kit-7{--e-global-color-primary:#111111;--e-global-color-secondary:#1C1C1C;--e-global-color-text:#111111;--e-global-color-accent:#D42A2A;--e-global-color-blanco1:#FFFFFF;--e-global-color-rojo001:#E83131;--e-global-color-rojocla:#FF5A52;--e-global-color-grisosc:#B8B8B8;--e-global-color-griscla:#5C5C5C;--e-global-color-lineacla:#E6E6E6;--e-global-color-lineaosc:#333333;--e-global-typography-primary-font-family:"Inter";--e-global-typography-primary-font-weight:800;--e-global-typography-primary-line-height:1.05;--e-global-typography-primary-letter-spacing:-0.04em;--e-global-typography-secondary-font-family:"Anton";--e-global-typography-secondary-font-weight:400;--e-global-typography-secondary-text-transform:uppercase;--e-global-typography-text-font-family:"Inter";--e-global-typography-text-font-size:17px;--e-global-typography-text-font-weight:400;--e-global-typography-text-line-height:1.65;--e-global-typography-accent-font-family:"Inter";--e-global-typography-accent-font-weight:800;--e-global-typography-accent-text-transform:uppercase;--e-global-typography-accent-letter-spacing:0.14em;--e-global-typography-gotica1-font-family:"UnifrakturMaguntia";--e-global-typography-gotica1-font-weight:400;color:#111111;font-family:"Inter", Sans-serif;font-size:17px;line-height:1.65;}.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{background-color:#D42A2A;font-family:"Inter", Sans-serif;font-size:16px;font-weight:800;text-transform:uppercase;line-height:1.2;letter-spacing:0.04em;color:#FFFFFF;border-style:solid;border-width:2px 2px 2px 2px;border-color:rgba(0,0,0,0);border-radius:999px 999px 999px 999px;padding:1rem 1.9rem 1rem 1.9rem;}.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:#B92020;color:#FFFFFF;}.elementor-kit-7 e-page-transition{background-color:#FFBC7D;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:1180px;}.e-con{--container-max-width:1180px;--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-section.elementor-section-boxed > .elementor-container{max-width:1024px;}.e-con{--container-max-width:1024px;}}@media(max-width:767px){.elementor-kit-7 button,.elementor-kit-7 input[type="button"],.elementor-kit-7 input[type="submit"],.elementor-kit-7 .elementor-button{font-size:min(1rem, 3.4vw);letter-spacing:0.02em;padding:1rem 1rem 1rem 1rem;}.elementor-section.elementor-section-boxed > .elementor-container{max-width:767px;}.e-con{--container-max-width:767px;}}
/* Start custom CSS *//* Reset · CSS del kit de Elementor (Ajustes del sitio → CSS personalizado).
   Fuente: wordpress/css/kit.css. Lo vuelca wordpress/aplicar-elementor.php: no se edita en wp-admin.
   Sale de css/reset.css del build local. Aquí va lo que se repite en más de una plantilla
   (portada, cabecera, pie, gracias, 404 y legales); lo de una sección vive en el CSS de su página.

   Tres convenciones, para que nadie las «simplifique»:
   1. Los colores son los globales del kit (Ajustes del sitio → Colores). Aquí solo reciben el
      nombre que tienen en docs/diseno-tokens.md.
   2. Las reglas de widget van como .e-con .elementor-widget.clase (0-3-0). Elementor 4.3 pone
      «.e-con .elementor-widget.elementor-widget{margin-block-end:0}» con esa misma especificidad
      y carga antes, así que el kit gana por orden. Con menos, los márgenes no se aplican (kit 07 §3).
   3. .flujo es un contenedor de texto en bloque, no en flex, para que los márgenes colapsen
      igual que en el build local. En el panel esos contenedores no llevan huecos ni alineación. */

body {
  --tinta: var(--e-global-color-primary);
  --carbon: var(--e-global-color-secondary);
  --blanco: var(--e-global-color-blanco1);
  --rojo: var(--e-global-color-rojo001);
  --rojo-fuerte: var(--e-global-color-accent);
  --rojo-claro: var(--e-global-color-rojocla);
  --gris-oscuro: var(--e-global-color-grisosc);
  --gris-claro: var(--e-global-color-griscla);
  --linea-clara: var(--e-global-color-lineacla);
  --linea-oscura: var(--e-global-color-lineaosc);
  --f-cartel: var(--e-global-typography-secondary-font-family), Impact, "Arial Narrow", sans-serif;
  --t-hero: clamp(2.6rem, 6vw, 4.6rem);
  --t-h2: clamp(2rem, 4.2vw, 3.4rem);
  --t-cartel: clamp(4rem, 13vw, 9.5rem);
  --t-h3: 1.35rem;
  --t-antetitulo: 0.875rem;
  --r-pastilla: 999px;
  --r-tarjeta: 6px;
  --margen: clamp(1.25rem, 5vw, 2.5rem);
  --relleno-seccion: clamp(4.5rem, 10vw, 8rem);
  --suave: cubic-bezier(0.22, 1, 0.36, 1);
  /* Derivados sin color global: cada uno se usa en un solo sitio (docs/diseno-tokens.md) */
  --estrella: #fbbc04;
  --apagado: #8a8a8a;
  --borde-campo: #c9c9c9;
  -webkit-text-size-adjust: 100%;
}

/* ---------- Base: lo que Hello Elementor trae y el build local no ---------- */

/* La cabecera es fija: las anclas (#contacto) paran debajo de ella y de la barra de WordPress, si la hay.
   reset-landing.js pone su alto real en --alto-cabecera */
html { scroll-behavior: smooth; scroll-padding-top: calc(var(--alto-cabecera, 5.5rem) + var(--wp-admin--admin-bar--height, 0px)); }
.elementor-kit-7 a, .elementor-kit-7 a:hover, .elementor-kit-7 a:active { color: inherit; }
.elementor-kit-7 p { margin-block: 0 1.1em; }
.elementor-kit-7 :focus-visible { outline: 3px solid var(--rojo-claro); outline-offset: 3px; box-shadow: none; }
.elementor-widget-text-editor a { text-decoration: underline; }
/* El titular lo gobierna la clase del widget; el h1-h6 de dentro hereda (y el panel, si se usa, gana) */
.elementor-widget-heading .elementor-heading-title { font: inherit; color: inherit; letter-spacing: inherit; text-transform: inherit; margin: 0; }

/* ---------- Estructura ---------- */

/* display y no --display: Elementor escribe --display:flex en el CSS de cada contenedor (0-3-0) */
.e-con.flujo, .e-con.flujo > .e-con-inner { display: block; }
.e-con.estrecho { max-width: 46rem; width: 100%; }
.e-con.estrecho--centro, .e-con.centrado { margin-inline: auto; }
.e-con.centrado, .e-con.centrado .e-con { --text-align: center; }
.e-con.seccion--carbon, .e-con.seccion--rojo, .e-con.pagina-corta { color: var(--blanco); }
.e-con.seccion--blanco { color: var(--tinta); }

/* Grano de la referencia: ruido SVG encima del carbón. ::after, porque ::before es la capa de
   fondo de los contenedores de Elementor. */
.e-con.grano { isolation: isolate; }
.e-con.grano::after {
  content: ""; position: absolute; inset: 0; z-index: -1; pointer-events: none; opacity: .18;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='180' height='180'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Texto ---------- */

.e-con .elementor-widget.antetitulo {
  font-family: var(--e-global-typography-accent-font-family), sans-serif;
  font-weight: var(--e-global-typography-accent-font-weight);
  text-transform: var(--e-global-typography-accent-text-transform);
  letter-spacing: var(--e-global-typography-accent-letter-spacing);
  font-size: var(--t-antetitulo); margin-bottom: 1.1rem; color: var(--rojo-fuerte);
}
.seccion--carbon .elementor-widget.antetitulo, .pagina-corta .elementor-widget.antetitulo { color: var(--rojo-claro); }

.e-con .elementor-widget.titular {
  font-family: var(--e-global-typography-primary-font-family), sans-serif;
  font-weight: var(--e-global-typography-primary-font-weight);
  letter-spacing: var(--e-global-typography-primary-letter-spacing);
  line-height: var(--e-global-typography-primary-line-height);
  font-size: var(--t-h2); margin-bottom: 1.4rem; text-wrap: balance;
}
.e-con .elementor-widget.titular--hero, .pagina-corta .elementor-widget.titular { font-size: var(--t-hero); }
/* La inicial gótica, firma de la referencia. Quitar esta regla la elimina de todo el sitio. */

.e-con .elementor-widget.entradilla { font-size: 1.2rem; line-height: 1.55; }
.e-con .elementor-widget.secundario { color: var(--gris-claro); }
.seccion--carbon .elementor-widget.secundario, .pagina-corta .elementor-widget.secundario { color: var(--gris-oscuro); }
.e-con .elementor-widget.micro { font-size: .9rem; margin-top: 1rem; }
/* Gracias: los enlaces al ITA y a Reset Original (Antoni, 29/09), como el build */
.e-con .elementor-widget.universo-enlaces { margin-top: 2rem; }
.universo-enlaces a { color: var(--blanco); font-weight: 700; }

/* Subrayado a mano en rojo bajo la palabra clave (el trazo lleva el rojo dentro del SVG) */
.trazo {
  font-style: normal; white-space: nowrap; padding-bottom: .12em;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 16' preserveAspectRatio='none'%3E%3Cpath d='M3 11C60 5 120 4 180 6s90 3 117 1' fill='none' stroke='%23e83131' stroke-width='6' stroke-linecap='round'/%3E%3C/svg%3E") bottom / 100% .28em no-repeat;
}

.e-con .elementor-widget.cartel {
  font-family: var(--f-cartel); font-weight: 400; font-size: var(--t-cartel); line-height: .95;
  text-transform: uppercase; letter-spacing: 0; margin: 0 0 clamp(2.5rem, 6vw, 4.5rem);
}
.cartel .caja { background: var(--rojo); color: var(--tinta); padding: 0 .12em; }
.cartel .apagado { color: var(--apagado); }

/* Logo del Brand Book, con el lema (Antoni, 29/09). 3.4rem de alto = 171 px de ancho */
.e-con .elementor-widget.logo img { display: block; height: 3.4rem; width: auto; }
/* Gracias y 404, sin cabecera ni pie (Canvas, 29/09): el logo encima. El enlace en bloque: como inline-block, la línea
   de texto que lo rodea añade 8 px debajo */
.pagina-corta .e-con .elementor-widget.pagina-corta__logo { margin-bottom: 2.5rem; }
.pagina-corta .pagina-corta__logo a { display: block; width: fit-content; }

/* ---------- Botones: el color, el borde y el radio están en el kit (Ajustes del sitio → Botones) ---------- */

.elementor-widget-button .elementor-button { gap: .55rem; transition: transform .2s var(--suave), background-color .2s; }
.elementor-widget-button .elementor-button:hover { transform: translateY(-2px); }
.elementor-widget-button.boton--secundario .elementor-button,
.elementor-widget-button.boton--secundario .elementor-button:hover,
.elementor-widget-button.boton--secundario .elementor-button:focus { background-color: transparent; border-color: currentColor; color: inherit; }

/* ---------- Páginas sueltas: gracias y 404 ---------- */


/* ---------- Legales ---------- */

.e-con .elementor-widget.legal-titulo { margin-bottom: .5rem; }
.e-con .elementor-widget.legal-fecha { color: var(--gris-claro); }
.e-con .elementor-widget.legal-h2 { font-size: 1.3rem; font-weight: 800; letter-spacing: -.02em; margin: 2.4rem 0 .8rem; }
/* El correo del titular no cabe entero en 371 px y sacaba la página de lado */
.legal-cuerpo { overflow-wrap: anywhere; }
.legal-cuerpo ul { margin-block: 1em; }
.legal-cuerpo table { border-collapse: collapse; width: 100%; font-size: .95rem; margin: 0 0 1.1em; }
.legal-cuerpo th, .legal-cuerpo td { border: 1px solid var(--linea-clara); padding: .6rem; text-align: left; background: none; line-height: inherit; }

/* ---------- Marcadores (kit 03): ?marcadores en la URL los hace visibles ---------- */

.show-placeholders [data-placeholder] { outline: 3px dashed #ff8c00; outline-offset: 4px; position: relative; }
.show-placeholders [data-placeholder]::before {
  content: attr(data-placeholder); position: absolute; top: 0; left: 0; z-index: 5;
  background: #ff8c00; color: #000; font: 700 12px/1.3 sans-serif; letter-spacing: 0; text-transform: none; padding: 3px 6px;
}

/* ---------- Entrada suave: la clase js la pone mu-plugins/reset-landing.php ---------- */

.js .aparece { opacity: 0; transform: translateY(18px); transition: opacity .7s var(--suave), transform .7s var(--suave); }
.js .aparece.visible { opacity: 1; transform: none; }

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .js .aparece { opacity: 1; transform: none; transition: none; }
  .elementor-widget-button .elementor-button { transition: none; }
}

/* ---------- Móvil: el corte del build local es 860, no el 767 de Elementor ---------- */

@media (max-width: 860px) {
  .e-con.botones > .elementor-widget-button { flex: 1 1 100%; }
  .e-con.botones .elementor-button { width: 100%; }
}/* End custom CSS */