.elementor-widget-text-editor{font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );color:var( --e-global-color-text );}.elementor-widget-text-editor.elementor-drop-cap-view-stacked .elementor-drop-cap{background-color:var( --e-global-color-primary );}.elementor-widget-text-editor.elementor-drop-cap-view-framed .elementor-drop-cap, .elementor-widget-text-editor.elementor-drop-cap-view-default .elementor-drop-cap{color:var( --e-global-color-primary );border-color:var( --e-global-color-primary );}/* Start custom CSS *//* PAGINA LEGAL — calcado del mockup de Lovable (medido a 1440).
   Identico a 3803 y 3817, mas la tabla de cookies.
   Tabla medida en el mockup: th 10.88px ls 2.176px gold-deep, celdas
   padding 16px 20px, td 14.4px, filetes horizontales de 1px. */

body { background-color: var(--color-background); }

#tl-legal-head,
#tl-legal-head *,
#tl-legal-texto,
#tl-legal-texto * {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

#tl-legal-head {
  background-color: var(--color-surface);
  padding: 80px 0 0 !important;
  width: 100%;
  border-bottom: 1px solid color-mix(in srgb, var(--color-border) 70%, transparent);
}

#tl-legal-head-in {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 96px 32px !important;
  gap: 0 !important;
  align-items: flex-start;
}

#tl-legal-eyebrow {
  font-family: var(--font-body);
  font-size: 0.7rem;
  line-height: 1.5;
  letter-spacing: 0.24em;
  color: var(--color-gold-deep);
  margin: 0;
}

#tl-legal-h1 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: clamp(2.25rem, 3.8vw, 3.4rem);
  line-height: 1.05;
  letter-spacing: -0.025em;
  color: var(--color-text);
  margin: 20px 0 0;
}

#tl-legal-intro {
  font-family: var(--font-body);
  font-size: 1.02rem;
  line-height: 1.625;
  color: var(--color-text-muted);
  margin: 24px 0 0;
  max-width: 607px;
}

#tl-legal-texto {
  width: 100%;
  max-width: 860px;
  margin: 0 auto;
  padding: 80px 32px;
  box-sizing: border-box;
  font-family: var(--font-body);
  color: var(--color-text-muted);
}

#tl-legal-texto h2 {
  font-family: var(--font-display);
  font-weight: 400;
  font-size: 2rem;
  line-height: 1.25;
  letter-spacing: -0.025em;
  color: var(--color-text);
  margin: 56px 0 0;
}
#tl-legal-texto h2:first-child { margin-top: 0; }

#tl-legal-texto h3 {
  font-family: var(--font-body);
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.5;
  letter-spacing: 0.04em;
  color: var(--color-text);
  margin: 36px 0 0;
}

#tl-legal-texto p {
  font-size: 0.97rem;
  line-height: 1.85;
  margin: 16px 0 0;
}
#tl-legal-texto > p:first-child { margin-top: 0; }

#tl-legal-texto ul { margin: 20px 0 0; padding: 0; list-style: none; }

#tl-legal-texto ul > li {
  position: relative;
  padding-left: 24px;
  font-size: 0.95rem;
  line-height: 1.8;
}

#tl-legal-texto ul > li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 6px;
  height: 6px;
  background-color: var(--color-gold);
}

#tl-legal-texto a {
  color: var(--color-gold-deep);
  text-decoration: underline;
  text-underline-offset: 2px;
  transition: color 300ms ease;
}
#tl-legal-texto a:hover { color: var(--color-text); }

#tl-legal-texto strong { color: var(--color-text); font-weight: 500; }

/* --- Tabla de cookies -------------------------------------------------- */

/* El div que la envuelve permite el scroll horizontal en pantallas estrechas */
#tl-legal-texto div:has(> table) {
  margin: 24px 0 0;
  overflow-x: auto;
  border: 1px solid var(--color-border);
}

#tl-legal-texto table {
  width: 100%;
  border-collapse: collapse;
  min-width: 560px;
}

#tl-legal-texto table th,
#tl-legal-texto table td { border: 0; background: none; }

#tl-legal-texto table th {
  font-family: var(--font-body);
  font-weight: 400;
  font-size: 0.68rem;
  letter-spacing: 0.2em;
  color: var(--color-gold-deep);
  text-align: left;
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-border);
  white-space: nowrap;
  background-color: var(--color-surface);
}

#tl-legal-texto table td {
  font-size: 0.9rem;
  line-height: 1.6;
  padding: 16px 20px;
  border-bottom: 1px solid var(--color-border);
  vertical-align: top;
  color: var(--color-text-muted);
}

#tl-legal-texto table td:first-child { color: var(--color-text); white-space: nowrap; }
#tl-legal-texto table td:nth-child(2) { white-space: nowrap; }
#tl-legal-texto table tbody tr:last-child td { border-bottom: 0; }

@media (max-width: 767px) {
  #tl-legal-head-in { padding: 64px 20px !important; }
  #tl-legal-texto { padding: 56px 20px; }
  #tl-legal-texto h2 { margin-top: 44px; }
  #tl-legal-texto table td { font-size: 0.8125rem; }
}
/* A 390px desbordaba por dos motivos: las URLs de las redes sociales en texto
   plano, y la tabla, cuyo contenedor con scroll no tenia tope de ancho. */
#tl-legal-texto,
#tl-legal-texto p,
#tl-legal-texto li { overflow-wrap: anywhere; }

#tl-legal-texto div:has(> table) { max-width: 100%; }
#tl-legal-texto table td { overflow-wrap: normal; }
/* === Cabecera fija en claro, sin transicion (ver nota en 3803) ========= */

.elementor-element-96a2278 {
  animation: none !important;
  background-color: color-mix(in srgb, var(--color-background) 95%, transparent) !important;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  box-shadow: 0 1px 0 0 var(--color-border) !important;
}

.elementor-element-96a2278 a:first-child > *:first-child,
.elementor-element-96a2278 aside a,
.elementor-element-96a2278 aside span,
.elementor-element-96a2278 aside p,
.elementor-element-9e2ef75 svg,
.elementor-element-e1da398 svg {
  animation: none !important;
  color: var(--color-text) !important;
}

.elementor-element-9e2ef75 {
  animation: none !important;
  border-color: var(--color-border) !important;
}

/* La cabecera de estas páginas no hace la transición de scroll, así que el
   logo tampoco: va directamente el normal. Sin esto se quedaba la versión
   clara sobre fondo claro, o sea invisible. */
#tl-logo-img { animation: none !important; opacity: 1 !important; }
#tl-logo-img-claro { animation: none !important; opacity: 0 !important; }

/* el h2 también escala con la pantalla, en vez de quedarse en 32px */
#tl-legal-texto h2 { font-size: clamp(1.55rem, 4.2vw, 2rem); }
/**//* End custom CSS */