.elementor-118 .elementor-element.elementor-element-2837288f{--display:flex;--margin-top:150px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-118 .elementor-element.elementor-element-331a2ab1{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 0px) 0px;padding:0px 0px 0px 0px;}:root{--page-title-display:none;}/* Start custom CSS for text-editor, class: .elementor-element-331a2ab1 *//* ============================================================================
   Textos legales — CSS encapsulado, responsive y accesible
   ----------------------------------------------------------------------------
   FILOSOFÍA DE COLOR (importante):
   - SIN colores de marca por defecto. El punto de partida es BLANCO Y NEGRO
     (escala de grises): fondo blanco, texto casi negro, líneas grises.
   - Si se conocen los colores del sitio del cliente (extraídos de su web o
     indicados a mano en el formulario), se aplican rellenando SOLO las variables
     conocidas en el bloque de override de más abajo. Lo que no se sepa, se queda
     en blanco y negro. Nunca se inventa la paleta.
   ----------------------------------------------------------------------------
   - Encapsulado bajo .legal + clase del cliente. Sin .elementor-118 .elementor-element.elementor-element-331a2ab1es globales.
   - <p> justificado (regla de casa); títulos y listas NUNCA justificados.
   - !important solo para vencer a Elementor (excepción documentada).
   ============================================================================ */

/* ====== Punto de partida BLANCO Y NEGRO (no tocar; se sobrescribe abajo) ===== */
.legal{
  --legal-bg: #ffffff;            /* fondo */
  --legal-text: #111111;          /* cuerpo de texto (casi negro, mejor lectura) */
  --legal-heading: #000000;       /* títulos */
  --legal-muted: #555555;         /* texto secundario */
  --legal-link: currentColor;     /* enlaces: color del texto + subrayado en B/N */
  --legal-border: #d9d9d9;        /* líneas suaves */
  --legal-border-strong: #b0b0b0; /* líneas marcadas */
  --legal-panel: #f6f6f6;         /* fondo de cajas (intro, notas) */
  --legal-panel-head: #ededed;    /* cabecera de tablas */
  --legal-head-text: var(--legal-heading);
  --legal-zebra: #fafafa;         /* filas alternas de tabla */
  --legal-first-col: 220px;       /* ancho col. izquierda en tablas de 2 columnas */
  --legal-radius: 0px;            /* esquinas (0 por defecto; sube si la web es redondeada) */

  width: 100% !important;
  max-width: none !important;
  min-width: 0;
  margin: 0 auto;
  padding: clamp(20px, 4vw, 0px);
  background: var(--legal-bg);
  color: var(--legal-text);
  font-size: 16px;
  line-height: 1.7;
  overflow: visible;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* ============================================================================
   BLOQUE DE OVERRIDE DE COLOR DE MARCA  (lo rellena la skill por cliente)
   Sustituye CLIENTE-legal por la clase real del cliente y descomenta solo las
   variables cuyo color conozcas. Borra las que no sepas: se quedan en B/N.
   ----------------------------------------------------------------------------
   .legal.CLIENTE-legal{
     --legal-bg:          #;   (* color_fondo *)
     --legal-text:        #;   (* color_texto *)
     --legal-heading:     #;   (* color_texto o un tono de título *)
     --legal-link:        #;   (* color_enlaces / acento *)
     --legal-border:      #;   (* color_borde *)
     --legal-panel:       #;   (* fondo de cajas *)
     --legal-panel-head:  #;   (* color_cabecera_fondo *)
     --legal-head-text:   #;   (* color_cabecera_texto *)
   }
   ============================================================================ */

/* ============================== Base y reset local ========================== */
.legal,
.legal *{
  box-sizing: border-box;
  max-width: 100%;
  min-width: 0;
}
.legal :where(p, li, td, th, a, strong, span, h1, h2, h3, h4, h5, h6){
  overflow-wrap: anywhere;      /* parte cadenas largas (URLs, emails, IDs) */
  word-break: normal;
}

/* Desplazamiento al saltar por el índice: deja aire bajo cabeceras fijas */
.legal [id]{ scroll-margin-top: 90px; }

/* Resaltado del destino al navegar por anclas (sin animación: seguro) */
.legal :target{
  outline: 2px solid var(--legal-border-strong);
  outline-offset: 6px;
}

/* Foco visible accesible para teclado */
.legal a:focus-visible,
.legal :focus-visible{
  outline: 2px solid var(--legal-link);
  outline-offset: 2px;
}

/* ============================== Tipografía ================================= */
.legal h1, .legal h2, .legal h3, .legal h4{
  color: var(--legal-heading);
  line-height: 1.25;
  text-align: left;             /* títulos nunca justificados */
  margin: 0 0 .5em;
  font-weight: 700;
}
.legal h1{ font-size: clamp(24px, 3.2vw, 32px); letter-spacing: -.01em; }
.legal h2{ font-size: clamp(19px, 2.2vw, 23px); margin-top: 1.6em; }
.legal h3{ font-size: clamp(17px, 1.8vw, 19px); margin-top: 1.2em; }

.legal p{
  text-align: justify;          /* regla de casa: solo párrafos justificados */
  hyphens: auto;
  margin: 0 0 1em;
}
.legal p:last-child{ margin-bottom: 0; }

.legal a{
  color: var(--legal-link);
  text-decoration: underline;
  text-underline-offset: 2px;
}
.legal a:hover{ text-decoration-thickness: 2px; }

.legal strong{ color: var(--legal-heading); font-weight: 700; }

/* Listas: nunca justificadas */
.legal ul, .legal ol{
  text-align: left;
  margin: 0 0 1em;
  padding-left: 1.4em;
}
.legal li{ margin: 0 0 .4em; }

/* ============================ Bloques de apoyo ============================= */
.legal-updated{
  color: var(--legal-muted);
  font-size: 14px;
  margin: 0 0 1.5em;
}
.legal-intro{
  background: var(--legal-panel);
  border: 1px solid var(--legal-border);
  border-radius: var(--legal-radius);
  padding: 16px 18px;
  margin: 0 0 1.8em;
}
.legal-intro p{ margin: 0; }

.legal-form-note{
  background: var(--legal-panel);
  border: 1px solid var(--legal-border);
  border-left: 4px solid var(--legal-border-strong);
  border-radius: var(--legal-radius);
  padding: 14px 16px;
  margin: 1em 0 1.4em;
}
.legal-form-note p{ text-align: left; margin: 0; }

.legal-block{ margin: 0 0 1.8em; }

/* ================================= Índice ================================= */
.legal-toc{
  background: var(--legal-panel);
  border: 1px solid var(--legal-border);
  border-radius: var(--legal-radius);
  padding: 16px 20px;
  margin: 0 0 2em;
}
.legal-toc-title{
  text-align: left;
  font-weight: 700;
  color: var(--legal-heading);
  margin: 0 0 .6em;
}
.legal-toc ol{
  margin: 0;
  padding-left: 1.4em;
}
.legal-toc li{ margin: 0 0 .35em; }
.legal-toc a{ text-decoration: none; }
.legal-toc a:hover{ text-decoration: underline; }

/* ================================= Tablas ================================= */
.legal-table-wrap{
  width: 100%;
  overflow-x: auto;                 /* salvavidas en pantallas estrechas */
  -webkit-overflow-scrolling: touch;
  margin: 0 0 1.2em;
}
.legal-table{
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 15px;
}
.legal-table thead th{
  background: var(--legal-panel-head);
  color: var(--legal-head-text);
  text-align: left;
  font-weight: 700;
  padding: 11px 14px;
  border: 1px solid var(--legal-border);
  vertical-align: top;
}
.legal-table tbody td{
  padding: 11px 14px;
  border: 1px solid var(--legal-border);
  vertical-align: top;
  text-align: left;
}
.legal-table tbody tr:nth-child(even) td{ background: var(--legal-zebra); }

/* Tablas de 2 columnas (clave/valor): fija el ancho de la primera columna.
   Aplica a todas las legal-table; en móvil se anula (ver bloque @media). */
.legal-table td:first-child,
.legal-table th:first-child{ width: var(--legal-first-col); }

/* --------- Colapso a bloques en móvil (usa data-label en cada td) --------- */
@media (max-width: 640px){
  .legal-table{ table-layout: auto; border: 0; }
  .legal-table thead{
    position: absolute;
    width: 1px; height: 1px;
    overflow: hidden; clip: rect(0 0 0 0);
    white-space: nowrap;
  }
  .legal-table tr{
    display: block;
    border: 1px solid var(--legal-border);
    border-radius: var(--legal-radius);
    margin: 0 0 10px;
  }
  .legal-table td{
    display: block;
    border: 0;
    border-bottom: 1px solid var(--legal-border);
    padding: 10px 12px;
  }
  .legal-table tbody tr:nth-child(even) td{ background: transparent; }
  .legal-table td:last-child{ border-bottom: 0; }
  .legal-table td::before{
    content: attr(data-label);
    display: block;
    font-weight: 700;
    color: var(--legal-heading);
    margin: 0 0 2px;
  }
  .legal-table td:first-child{ width: auto; }
}

/* ================================ Impresión ================================ */
/* Las páginas legales se imprimen y se exportan a PDF: forzar legibilidad B/N */
@media print{
  .legal{
    padding: 0 !important;
    background: #fff !important;
    color: #000 !important;
    font-size: 12pt;
  }
  .legal-intro, .legal-toc, .legal-form-note,
  .legal-table thead th, .legal-table tbody tr:nth-child(even) td{
    background: #fff !important;
  }
  .legal a{ color: #000 !important; text-decoration: underline; }
  .legal :target{ outline: 0; }
  .legal-block, .legal-table tr, .legal-table-wrap{ break-inside: avoid; }
  .legal h2, .legal h3{ break-after: avoid; }
}/* End custom CSS */