.rtm-g-skip-link{position:absolute;left:-999px;top:auto;width:1px;height:1px;overflow:hidden}.rtm-g-skip-link:focus{left:16px;top:16px;width:auto;height:auto;background:#111827;color:#fff;padding:10px 14px;border-radius:10px;z-index:999999}
.rtm-g-a11y{position:fixed;z-index:99998;bottom:var(--rtm-g-dynamic-bottom,var(--rtm-g-bottom,22px));font-family:inherit;transition:bottom .2s ease,opacity .18s ease,transform .18s ease}.rtm-g-a11y.is-left{left:22px}.rtm-g-a11y.is-right{right:22px}
.rtm-g-a11y-toggle{border:0;border-radius:999px;background:#111;color:#fff;padding:12px 20px;box-shadow:0 14px 30px rgba(0,0,0,.22);font-weight:800;cursor:pointer;display:inline-flex;align-items:center;gap:8px;min-height:48px;transition:opacity .18s ease,transform .18s ease,box-shadow .18s ease,background .18s ease}.rtm-g-a11y-icon{display:inline-flex}.rtm-g-a11y-text{white-space:nowrap}.rtm-g-a11y.is-smart .rtm-g-a11y-toggle{opacity:var(--rtm-g-idle-opacity,.72);padding:12px 14px;min-width:48px;overflow:hidden}.rtm-g-a11y.is-smart .rtm-g-a11y-text{max-width:0;opacity:0;overflow:hidden;transition:max-width .22s ease,opacity .18s ease;margin-left:-4px}.rtm-g-a11y.is-smart:hover .rtm-g-a11y-toggle,.rtm-g-a11y.is-smart:focus-within .rtm-g-a11y-toggle,.rtm-g-a11y.is-open .rtm-g-a11y-toggle{opacity:1;transform:translateY(-2px);box-shadow:0 18px 36px rgba(0,0,0,.26)}.rtm-g-a11y.is-smart:hover .rtm-g-a11y-text,.rtm-g-a11y.is-smart:focus-within .rtm-g-a11y-text,.rtm-g-a11y.is-open .rtm-g-a11y-text{max-width:160px;opacity:1;margin-left:0}.rtm-g-a11y.is-near-footer .rtm-g-a11y-toggle{opacity:.88}
.rtm-g-a11y-panel{position:absolute;bottom:62px;left:0;width:min(600px,calc(100vw - 42px));background:#fff;color:#111;border:1px solid #e5e7eb;border-radius:22px;box-shadow:0 20px 46px rgba(0,0,0,.18);padding:22px}.rtm-g-a11y.is-right .rtm-g-a11y-panel{right:0;left:auto}.rtm-g-a11y-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:26px;line-height:1.2}.rtm-g-a11y-close{background:#f3f4f6;border:0;border-radius:16px;width:52px;height:52px;font-size:32px;line-height:1;cursor:pointer;color:#111}.rtm-g-a11y-actions{display:grid;grid-template-columns:1fr 1fr;gap:14px}.rtm-g-a11y-actions button{border:1px solid #d1d5db;border-radius:16px;background:#fff;padding:16px 12px;cursor:pointer;font-weight:800;font-size:18px;min-height:60px}.rtm-g-a11y-actions button:hover,.rtm-g-a11y-actions button:focus{background:#f8fafc;border-color:#f59e0b;outline:2px solid rgba(245,158,11,.25);outline-offset:2px}
.rtm-g-lang-switcher a,.rtm-g-front-lang a{text-decoration:none}.rtm-g-front-lang{position:fixed;z-index:99997;display:flex;align-items:center;gap:8px;background:#fff;color:#111827;border:1px solid #e5e7eb;border-radius:999px;padding:8px 12px;box-shadow:0 12px 28px rgba(0,0,0,.16);font-weight:700;font-size:13px}.rtm-g-front-lang-top-right{right:22px;top:110px}.rtm-g-front-lang-top-left{left:22px;top:110px}.rtm-g-front-lang-bottom-right{right:22px;bottom:84px}.rtm-g-front-lang-bottom-left{left:22px;bottom:84px}.rtm-g-front-lang-label{font-size:16px}.rtm-g-front-lang a{color:#111827;padding:4px 6px;border-radius:7px}.rtm-g-front-lang a:hover,.rtm-g-front-lang a:focus{background:#f59e0b;color:#fff}
/* Preparado para el futuro botón Nixur: usar esta clase en el plugin del asistente cuando se sustituya públicamente Solver → Nixur. */
.rtm-nixur-launcher{position:fixed;right:22px;bottom:var(--rtm-nixur-dynamic-bottom,22px);z-index:99997;opacity:.72;transition:opacity .18s ease,transform .18s ease}.rtm-nixur-launcher:hover,.rtm-nixur-launcher:focus-within{opacity:1;transform:translateY(-2px)}
.rtm-g-readable-font *{font-family:Arial,Verdana,sans-serif!important}.rtm-g-more-spacing *{letter-spacing:.03em!important;line-height:1.7!important}.rtm-g-high-contrast{filter:contrast(1.18)}.rtm-g-gray{filter:grayscale(1)}.rtm-g-focus-visible a:focus,.rtm-g-focus-visible button:focus{outline:3px solid #f59e0b!important;outline-offset:3px}.rtm-g-underlined-links a{text-decoration:underline!important}.rtm-g-reduce-motion *, .rtm-g-reduce-motion *::before, .rtm-g-reduce-motion *::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
@media(max-width:782px){.rtm-g-front-lang-top-right,.rtm-g-front-lang-top-left{top:92px}.rtm-g-front-lang{font-size:12px;padding:7px 10px}.rtm-g-a11y.is-left{left:14px}.rtm-g-a11y.is-right{right:14px}.rtm-g-a11y-toggle{padding:10px 12px;min-height:44px}.rtm-g-a11y-panel{width:calc(100vw - 28px);padding:18px;bottom:56px}.rtm-g-a11y-head{font-size:22px}.rtm-g-a11y-actions{gap:10px}.rtm-g-a11y-actions button{font-size:16px;min-height:52px;padding:12px 8px}.rtm-nixur-launcher{right:14px}}

/* v2.1.2 — estabilización del botón/panel al pulsar acciones.
   Evita que las clases de accesibilidad aplicadas al body modifiquen el propio panel y provoquen saltos visuales. */
.rtm-g-a11y,
.rtm-g-a11y *{letter-spacing:normal!important;line-height:1.25!important;box-sizing:border-box}
.rtm-g-a11y{position:fixed!important;max-width:calc(100vw - 28px);will-change:bottom,transform;transform:translateZ(0)}
.rtm-g-a11y-toggle{line-height:1!important;white-space:nowrap}
.rtm-g-a11y-panel{max-height:calc(100vh - 132px);overflow:auto;overscroll-behavior:contain;transform:translateZ(0)}
.rtm-g-a11y-actions button{line-height:1.2!important}
.rtm-g-a11y.is-user-action .rtm-g-a11y-toggle{opacity:1}
@media(max-width:782px){.rtm-g-a11y-panel{max-height:calc(100vh - 112px)}}

/* v2.1.3 — panel completo de 16 botones con acabado del panel antiguo */
.rtm-g-a11y-intro{margin:0 0 18px;color:#4b5563;font-size:16px;line-height:1.5!important}
.rtm-g-a11y-actions button[data-action="reset"]{font-weight:900}
.rtm-g-reading-mode main, .rtm-g-reading-mode article, .rtm-g-reading-mode .entry-content, .rtm-g-reading-mode .elementor-widget-container{line-height:1.8!important}
.rtm-g-dyslexia-mode main, .rtm-g-dyslexia-mode article, .rtm-g-dyslexia-mode .entry-content, .rtm-g-dyslexia-mode .elementor-widget-container{font-family:Arial,Verdana,sans-serif!important;letter-spacing:.02em!important;word-spacing:.08em!important;line-height:1.8!important}
.rtm-g-more-line-height main, .rtm-g-more-line-height article, .rtm-g-more-line-height .entry-content, .rtm-g-more-line-height .elementor-widget-container{line-height:1.95!important}
.rtm-g-more-letter-spacing main, .rtm-g-more-letter-spacing article, .rtm-g-more-letter-spacing .entry-content, .rtm-g-more-letter-spacing .elementor-widget-container{letter-spacing:.05em!important;word-spacing:.08em!important}
.rtm-g-big-buttons button:not(.rtm-g-a11y-close):not(.rtm-g-a11y-toggle),
.rtm-g-big-buttons .button,
.rtm-g-big-buttons input[type="submit"],
.rtm-g-big-buttons .elementor-button,
.rtm-g-big-buttons .wcfm_submit_button{min-height:52px!important;padding:14px 20px!important;font-size:1.05em!important;border-radius:16px!important}
.rtm-g-deuteranopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='d'><feColorMatrix type='matrix' values='0.625 0.375 0 0 0 0.70 0.30 0 0 0 0 0.30 0.70 0 0 0 0 0 1 0'/></filter></svg>#d")}
.rtm-g-protanopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='p'><feColorMatrix type='matrix' values='0.567 0.433 0 0 0 0.558 0.442 0 0 0 0 0.242 0.758 0 0 0 0 0 1 0'/></filter></svg>#p")}
.rtm-g-tritanopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='t'><feColorMatrix type='matrix' values='0.95 0.05 0 0 0 0 0.433 0.567 0 0 0 0.475 0.525 0 0 0 0 0 1 0'/></filter></svg>#t")}
@media(max-width:782px){.rtm-g-a11y-intro{font-size:15px;margin-bottom:14px}.rtm-g-a11y-actions button{font-size:15px}}


/* v2.1.4 — panel menos invasivo, letra más fina y posición estable.
   Mantiene los 16 botones, pero ocupa menos pantalla y conserva el comportamiento estable de v2.1.2. */
.rtm-g-a11y-panel{
  width:min(520px,calc(100vw - 44px))!important;
  padding:18px!important;
  border-radius:20px!important;
  max-height:calc(100vh - 118px)!important;
  overflow:auto!important;
  bottom:60px!important;
}
.rtm-g-a11y-head{
  margin-bottom:10px!important;
  font-size:24px!important;
  font-weight:600!important;
  letter-spacing:-.02em!important;
}
.rtm-g-a11y-head strong{
  font-weight:600!important;
}
.rtm-g-a11y-intro{
  font-size:14px!important;
  margin:0 0 14px!important;
  font-weight:400!important;
  line-height:1.45!important;
}
.rtm-g-a11y-close{
  width:44px!important;
  height:44px!important;
  border-radius:14px!important;
  font-size:28px!important;
  font-weight:500!important;
}
.rtm-g-a11y-actions{
  gap:10px!important;
}
.rtm-g-a11y-actions button{
  min-height:46px!important;
  padding:10px 10px!important;
  border-radius:14px!important;
  font-size:15.5px!important;
  font-weight:600!important;
  letter-spacing:-.01em!important;
}
.rtm-g-a11y-toggle{
  font-weight:700!important;
}
.rtm-g-a11y,
.rtm-g-a11y *{
  line-height:1.18!important;
}

/* Mantiene el panel dentro de pantalla cuando hay muchos botones. */
.rtm-g-a11y.is-open{
  bottom:var(--rtm-g-dynamic-bottom,var(--rtm-g-bottom,22px))!important;
}
.rtm-g-a11y.is-open .rtm-g-a11y-panel{
  transform:translateZ(0)!important;
}

/* Móvil: panel compacto y usable sin tapar toda la pantalla. */
@media(max-width:782px){
  .rtm-g-a11y-panel{
    width:calc(100vw - 28px)!important;
    padding:15px!important;
    bottom:54px!important;
    max-height:calc(100vh - 100px)!important;
  }
  .rtm-g-a11y-head{
    font-size:21px!important;
    margin-bottom:8px!important;
  }
  .rtm-g-a11y-intro{
    font-size:13px!important;
    margin-bottom:10px!important;
  }
  .rtm-g-a11y-close{
    width:40px!important;
    height:40px!important;
    font-size:25px!important;
  }
  .rtm-g-a11y-actions{
    gap:8px!important;
  }
  .rtm-g-a11y-actions button{
    min-height:42px!important;
    padding:8px 7px!important;
    font-size:13.5px!important;
    border-radius:12px!important;
  }
}




/* v2.1.6 — restauración de posición/visibilidad tipo v2.1.3.
   Mantiene los 16 botones y el panel compacto, pero recupera el comportamiento que gustó:
   botón flotante normal, no pegado estáticamente ni forzado a una altura fija. */
.rtm-g-a11y{
  bottom:var(--rtm-g-dynamic-bottom,var(--rtm-g-bottom,22px))!important;
  transition:bottom .2s ease,opacity .18s ease,transform .18s ease!important;
}
.rtm-g-a11y.is-open{
  bottom:var(--rtm-g-dynamic-bottom,var(--rtm-g-bottom,22px))!important;
}
.rtm-g-a11y-panel{
  bottom:62px!important;
}
.rtm-g-a11y.is-near-footer .rtm-g-a11y-toggle{
  opacity:.88!important;
}
@media(max-width:782px){
  .rtm-g-a11y-panel{
    bottom:56px!important;
  }
}


/* v2.1.7 — modo lateral acompañante.
   El botón deja de quedarse abajo: acompaña la navegación en el lateral izquierdo,
   discreto, sin invadir footer ni quedar pegado al borde inferior. */
.rtm-g-a11y{
  top:58vh!important;
  bottom:auto!important;
  transform:translateY(-50%) translateZ(0)!important;
  transition:top .22s ease, opacity .18s ease!important;
}
.rtm-g-a11y.is-left{left:20px!important}
.rtm-g-a11y.is-right{right:20px!important}
.rtm-g-a11y.is-open{
  top:58vh!important;
  bottom:auto!important;
}
.rtm-g-a11y.is-near-footer{
  top:52vh!important;
}
.rtm-g-a11y-panel{
  position:fixed!important;
  top:78px!important;
  bottom:auto!important;
  left:30px!important;
  right:auto!important;
  width:min(520px,calc(100vw - 60px))!important;
  max-height:calc(100vh - 104px)!important;
}
.rtm-g-a11y.is-right .rtm-g-a11y-panel{
  left:auto!important;
  right:30px!important;
}
.rtm-g-a11y.is-smart .rtm-g-a11y-toggle{
  opacity:var(--rtm-g-idle-opacity,.72)!important;
}
.rtm-g-a11y.is-smart:hover .rtm-g-a11y-toggle,
.rtm-g-a11y.is-smart:focus-within .rtm-g-a11y-toggle,
.rtm-g-a11y.is-open .rtm-g-a11y-toggle{
  opacity:1!important;
}
@media(max-width:782px){
  .rtm-g-a11y{
    top:62vh!important;
  }
  .rtm-g-a11y.is-near-footer{
    top:54vh!important;
  }
  .rtm-g-a11y.is-left{left:14px!important}
  .rtm-g-a11y.is-right{right:14px!important}
  .rtm-g-a11y-panel{
    top:68px!important;
    left:14px!important;
    right:auto!important;
    width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 88px)!important;
  }
  .rtm-g-a11y.is-right .rtm-g-a11y-panel{
    left:auto!important;
    right:14px!important;
  }
}


/* v2.1.8 — panel abierto hacia la parte superior.
   Importante: quitamos transform del contenedor para que el panel fixed sea relativo al viewport,
   no al botón. Así no se corta abajo y se abre hacia arriba. */
.rtm-g-a11y{
  transform:none!important;
  top:58vh!important;
  bottom:auto!important;
}
.rtm-g-a11y.is-open{
  transform:none!important;
  top:58vh!important;
  bottom:auto!important;
}
.rtm-g-a11y.is-near-footer{
  top:52vh!important;
}
.rtm-g-a11y-panel{
  position:fixed!important;
  top:74px!important;
  bottom:auto!important;
  left:30px!important;
  right:auto!important;
  width:min(520px,calc(100vw - 60px))!important;
  max-height:calc(100vh - 98px)!important;
  overflow:auto!important;
  transform:none!important;
}
.rtm-g-a11y.is-right .rtm-g-a11y-panel{
  left:auto!important;
  right:30px!important;
}
/* Cuando el panel está abierto, el botón queda detrás/abajo sin moverlo ni empujar el panel. */
.rtm-g-a11y.is-open .rtm-g-a11y-toggle{
  transform:translateY(-2px)!important;
}
@media(max-width:782px){
  .rtm-g-a11y{
    top:60vh!important;
    transform:none!important;
  }
  .rtm-g-a11y.is-open{
    top:60vh!important;
    transform:none!important;
  }
  .rtm-g-a11y.is-near-footer{
    top:52vh!important;
  }
  .rtm-g-a11y-panel{
    top:64px!important;
    left:14px!important;
    right:auto!important;
    width:calc(100vw - 28px)!important;
    max-height:calc(100vh - 82px)!important;
  }
  .rtm-g-a11y.is-right .rtm-g-a11y-panel{
    left:auto!important;
    right:14px!important;
  }
}


/* v2.1.9 — apertura REAL hacia arriba desde el botón.
   Sobrescribe el modo anterior: el panel queda anclado encima del botón Accesibilidad,
   no debajo ni hacia la parte inferior. */
.rtm-g-a11y{
  top:58vh!important;
  bottom:auto!important;
  transform:none!important;
}
.rtm-g-a11y.is-open,
.rtm-g-a11y.is-near-footer,
.rtm-g-a11y.is-open.is-near-footer{
  top:58vh!important;
  bottom:auto!important;
  transform:none!important;
}
.rtm-g-a11y-panel{
  position:absolute!important;
  top:auto!important;
  bottom:calc(100% + 14px)!important;
  left:0!important;
  right:auto!important;
  width:min(520px,calc(100vw - 60px))!important;
  max-height:calc(58vh - 34px)!important;
  overflow:auto!important;
  transform:none!important;
  transform-origin:bottom left!important;
}
.rtm-g-a11y.is-right .rtm-g-a11y-panel{
  left:auto!important;
  right:0!important;
  transform-origin:bottom right!important;
}
/* Si el panel está abierto, nunca debe empujar hacia abajo ni depender del footer. */
.rtm-g-a11y.is-open .rtm-g-a11y-panel{
  top:auto!important;
  bottom:calc(100% + 14px)!important;
}
/* Mantiene el botón en una zona lateral cómoda, acompañando la navegación. */
.rtm-g-a11y-toggle{
  transform:none!important;
}
.rtm-g-a11y.is-smart:hover .rtm-g-a11y-toggle,
.rtm-g-a11y.is-smart:focus-within .rtm-g-a11y-toggle,
.rtm-g-a11y.is-open .rtm-g-a11y-toggle{
  transform:translateY(-2px)!important;
}

@media(max-width:782px){
  .rtm-g-a11y,
  .rtm-g-a11y.is-open,
  .rtm-g-a11y.is-near-footer,
  .rtm-g-a11y.is-open.is-near-footer{
    top:62vh!important;
    bottom:auto!important;
    transform:none!important;
  }
  .rtm-g-a11y-panel{
    position:absolute!important;
    top:auto!important;
    bottom:calc(100% + 12px)!important;
    left:0!important;
    right:auto!important;
    width:calc(100vw - 28px)!important;
    max-height:calc(62vh - 28px)!important;
    overflow:auto!important;
  }
  .rtm-g-a11y.is-right .rtm-g-a11y-panel{
    left:auto!important;
    right:0!important;
  }
}


/* v2.1.10 — 16 botones visibles + icono accesibilidad.
   Conserva la apertura hacia arriba de v2.1.9, pero da más altura útil al panel
   para que no parezca que faltan botones. */
.rtm-g-a11y{
  top:68vh!important;
}
.rtm-g-a11y.is-open,
.rtm-g-a11y.is-near-footer,
.rtm-g-a11y.is-open.is-near-footer{
  top:68vh!important;
}
.rtm-g-a11y-icon{
  font-size:18px!important;
  line-height:1!important;
  filter:none!important;
}
.rtm-g-a11y-panel{
  bottom:calc(100% + 14px)!important;
  max-height:calc(68vh - 26px)!important;
  overflow:auto!important;
}
.rtm-g-a11y-actions{
  grid-template-columns:1fr 1fr!important;
  gap:9px!important;
}
.rtm-g-a11y-actions button{
  min-height:42px!important;
  padding:8px 9px!important;
  font-size:14.5px!important;
  font-weight:600!important;
}
/* Hace visible el scroll del panel si la pantalla es baja, sin ocultar acciones. */
.rtm-g-a11y-panel::-webkit-scrollbar{width:8px}
.rtm-g-a11y-panel::-webkit-scrollbar-thumb{background:#d1d5db;border-radius:999px}
@media(max-width:782px){
  .rtm-g-a11y,
  .rtm-g-a11y.is-open,
  .rtm-g-a11y.is-near-footer,
  .rtm-g-a11y.is-open.is-near-footer{
    top:70vh!important;
  }
  .rtm-g-a11y-panel{
    max-height:calc(70vh - 24px)!important;
  }
  .rtm-g-a11y-actions button{
    min-height:39px!important;
    font-size:13px!important;
    padding:7px 6px!important;
  }
}


/* v2.1.11 — icono propio RTM + nuevas funciones de accesibilidad */
.rtm-g-a11y-icon{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;color:currentColor;line-height:1;flex:0 0 auto}
.rtm-g-a11y-icon svg{display:block;width:20px;height:20px;overflow:visible}
.rtm-g-a11y-actions button[data-action="reset"]{grid-column:1 / -1}
.rtm-g-a11y-panel{max-height:calc(68vh - 20px)!important}
.rtm-g-a11y-actions button{font-size:14px!important}
@media(max-width:782px){.rtm-g-a11y-panel{max-height:calc(70vh - 20px)!important}.rtm-g-a11y-actions button{font-size:12.8px!important}}

/* helpers */
.rtm-g-reading-guide-el{position:fixed;left:0;right:0;height:3px;background:#f59e0b;box-shadow:0 0 0 1px rgba(255,255,255,.7),0 0 12px rgba(245,158,11,.45);pointer-events:none;z-index:999995}
.rtm-g-reading-mask-el{position:fixed;left:18px;right:18px;height:84px;border-radius:18px;box-shadow:0 0 0 9999px rgba(15,23,42,.42);background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.32);pointer-events:none;z-index:999994}
/* v2.1.29.3.8: se neutraliza el alto contraste global antiguo para no convertir texto blanco en negro ni forzar color heredado. */
body.rtm-g-high-contrast{background:inherit!important;color:inherit!important}
body.rtm-g-high-contrast *{border-color:currentColor!important}
body.rtm-g-underlined-links a{text-decoration:underline!important;text-underline-offset:.16em!important}
body.rtm-g-focus-visible *:focus{outline:3px solid #f59e0b!important;outline-offset:2px!important}
body.rtm-g-reduce-motion *, body.rtm-g-reduce-motion *::before, body.rtm-g-reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.rtm-g-reading-mode main, body.rtm-g-reading-mode article, body.rtm-g-reading-mode .entry-content, body.rtm-g-reading-mode .elementor-widget-container{line-height:1.8!important}
body.rtm-g-dyslexia-mode main, body.rtm-g-dyslexia-mode article, body.rtm-g-dyslexia-mode .entry-content, body.rtm-g-dyslexia-mode .elementor-widget-container{font-family:Arial,Verdana,sans-serif!important;letter-spacing:.02em!important;word-spacing:.08em!important;line-height:1.8!important}
body.rtm-g-more-line-height main, body.rtm-g-more-line-height article, body.rtm-g-more-line-height .entry-content, body.rtm-g-more-line-height .elementor-widget-container{line-height:1.95!important}
body.rtm-g-more-letter-spacing main, body.rtm-g-more-letter-spacing article, body.rtm-g-more-letter-spacing .entry-content, body.rtm-g-more-letter-spacing .elementor-widget-container{letter-spacing:.05em!important;word-spacing:.08em!important}
body.rtm-g-big-buttons button:not(.rtm-g-a11y-close):not(.rtm-g-a11y-toggle),body.rtm-g-big-buttons .button,body.rtm-g-big-buttons input[type="submit"],body.rtm-g-big-buttons .elementor-button,body.rtm-g-big-buttons .wcfm_submit_button{min-height:52px!important;padding:14px 20px!important;font-size:1.05em!important;border-radius:16px!important}
body.rtm-g-gray{filter:grayscale(1)!important}
body.rtm-g-deuteranopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='d'><feColorMatrix type='matrix' values='0.625 0.375 0 0 0 0.70 0.30 0 0 0 0 0.30 0.70 0 0 0 0 0 1 0'/></filter></svg>#d")}
body.rtm-g-protanopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='p'><feColorMatrix type='matrix' values='0.567 0.433 0 0 0 0.558 0.442 0 0 0 0 0.242 0.758 0 0 0 0 0 1 0'/></filter></svg>#p")}
body.rtm-g-tritanopia{filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='t'><feColorMatrix type='matrix' values='0.95 0.05 0 0 0 0 0.433 0.567 0 0 0 0.475 0.525 0 0 0 0 0 1 0'/></filter></svg>#t")}


/* v2.1.12 — icono con color RTM */
.rtm-g-a11y-toggle .rtm-g-a11y-icon svg{filter:drop-shadow(0 0 0 rgba(0,0,0,0))}


/* v2.1.13 — estado activo, cursor visible y feedback accesible */
.rtm-g-a11y-status{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  padding:0!important;
  margin:-1px!important;
  overflow:hidden!important;
  clip:rect(0,0,0,0)!important;
  white-space:nowrap!important;
  border:0!important;
}
.rtm-g-a11y-actions button[aria-pressed="true"],
.rtm-g-a11y-actions button.is-active{
  background:#f59e0b!important;
  border-color:#f59e0b!important;
  color:#111827!important;
  box-shadow:0 8px 18px rgba(245,158,11,.22)!important;
}
.rtm-g-a11y-actions button[aria-pressed="true"]::after,
.rtm-g-a11y-actions button.is-active::after{
  content:" ✓";
  font-weight:900;
}
.rtm-g-cursor-ring-el{
  position:fixed;
  width:38px;
  height:38px;
  margin-left:-19px;
  margin-top:-19px;
  border:3px solid #f59e0b;
  border-radius:999px;
  box-shadow:0 0 0 3px rgba(15,59,120,.95),0 0 20px rgba(245,158,11,.35);
  pointer-events:none;
  z-index:999996;
  mix-blend-mode:normal;
}
body.rtm-g-cursor-visible,
body.rtm-g-cursor-visible *{
  cursor:none!important;
}
body.rtm-g-cursor-visible .rtm-g-a11y,
body.rtm-g-cursor-visible .rtm-g-a11y *{
  cursor:auto!important;
}


/* v2.1.14 — mayor contraste del icono en botón oscuro */
.rtm-g-a11y-toggle .rtm-g-a11y-icon{width:22px!important;height:22px!important}
.rtm-g-a11y-toggle .rtm-g-a11y-icon svg{width:22px!important;height:22px!important;display:block}


/* v2.1.15 — las ayudas visuales no deben tapar el panel de Accesibilidad.
   Cuando el panel está abierto, Guía/Máscara se ocultan visualmente hasta cerrar el panel.
   Al cerrar, siguen activas en la página si el usuario las dejó activadas. */
.rtm-g-a11y{
  z-index:1000000!important;
}
.rtm-g-a11y-panel{
  z-index:1000001!important;
}
.rtm-g-reading-guide-el{
  z-index:99990!important;
}
.rtm-g-reading-mask-el{
  z-index:99989!important;
  height:72px!important;
  box-shadow:0 0 0 9999px rgba(15,23,42,.30)!important;
  background:rgba(255,255,255,.12)!important;
  border-color:rgba(255,255,255,.42)!important;
}
body.rtm-g-a11y-panel-open .rtm-g-reading-guide-el,
body.rtm-g-a11y-panel-open .rtm-g-reading-mask-el{
  opacity:0!important;
  visibility:hidden!important;
}
body.rtm-g-a11y-panel-open .rtm-g-cursor-ring-el{
  opacity:.32!important;
}
.rtm-g-a11y-actions button[aria-pressed="true"],
.rtm-g-a11y-actions button.is-active{
  position:relative;
}
.rtm-g-a11y-actions button[data-action="reset"]{
  grid-column:1 / -1!important;
}


/* v2.1.16 — convivencia segura Modo lectura + Máscara lectura.
   Modo lectura modifica legibilidad; Máscara lectura es una ayuda visual temporal.
   Pueden estar activos juntos, pero la máscara/guía nunca deben cubrir el panel. */
body.rtm-g-a11y-panel-open .rtm-g-reading-guide-el,
body.rtm-g-a11y-panel-open .rtm-g-reading-mask-el{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.rtm-g-reading-mode.rtm-g-reading-mask .rtm-g-reading-mask-el{
  box-shadow:0 0 0 9999px rgba(15,23,42,.26)!important;
  background:rgba(255,255,255,.16)!important;
}
.rtm-g-a11y-actions button[data-action="reading"],
.rtm-g-a11y-actions button[data-action="reading-mask"]{
  border-width:1px!important;
}


/* v2.1.17 — máscara/guía no interfieren con menús, cabecera ni formularios.
   Al pasar por navegación, mega menú, barra admin o controles, las ayudas se ocultan temporalmente.
   Al volver al contenido, reaparecen si seguían activadas. */
body.rtm-g-hide-reading-helpers .rtm-g-reading-guide-el,
body.rtm-g-hide-reading-helpers .rtm-g-reading-mask-el{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
.rtm-g-reading-guide-el,
.rtm-g-reading-mask-el{
  pointer-events:none!important;
}


/* v2.1.22 — Declaración de Accesibilidad e incidencias */
.rtm-g-a11y-footer{
  margin-top:12px;
  padding-top:10px;
  border-top:1px solid #e5e7eb;
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  align-items:center;
  justify-content:center;
  font-size:13px;
}
.rtm-g-a11y-footer a{
  color:#0f3b78!important;
  text-decoration:underline!important;
  text-underline-offset:2px;
  font-weight:700;
}
.rtm-g-accessibility-statement{
  max-width:920px;
  margin:0 auto;
  padding:24px;
  line-height:1.65;
}
.rtm-g-accessibility-statement h1,
.rtm-g-accessibility-statement h2{
  line-height:1.25;
}
.rtm-g-accessibility-feedback-form{
  margin-top:18px;
  padding:18px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
}
.rtm-g-accessibility-feedback-form label{
  font-weight:700;
}
.rtm-g-accessibility-feedback-form input[type="text"],
.rtm-g-accessibility-feedback-form input[type="email"],
.rtm-g-accessibility-feedback-form input[type="url"],
.rtm-g-accessibility-feedback-form select,
.rtm-g-accessibility-feedback-form textarea{
  width:100%;
  max-width:100%;
  margin-top:6px;
  border:1px solid #cbd5e1;
  border-radius:12px;
  padding:10px 12px;
  font:inherit;
}
.rtm-g-accessibility-feedback-form button[type="submit"]{
  background:#f59e0b;
  color:#111827;
  border:0;
  border-radius:14px;
  padding:12px 18px;
  font-weight:800;
  cursor:pointer;
}
.rtm-g-accessibility-privacy-note,
.rtm-g-muted{
  color:#64748b;
  font-size:.95em;
}


/* v2.1.26 — mensaje de confirmación accesible del formulario */
.rtm-g-accessibility-feedback-confirmation{
  margin:18px 0;
  padding:14px 16px;
  border:1px solid #86efac;
  border-left:5px solid #16a34a;
  border-radius:14px;
  background:#f0fdf4;
  color:#14532d;
  font-weight:600;
}
.rtm-g-accessibility-feedback-confirmation strong{
  font-weight:900;
}


/* v2.1.27 — consentimiento clicable, foco accesible y target táctil */
.rtm-g-accessibility-consent-row{
  margin-top:14px;
}
.rtm-g-accessibility-consent-label{
  display:flex;
  align-items:flex-start;
  gap:10px;
  cursor:pointer;
  line-height:1.45;
  padding:10px 12px;
  border:1px solid #e5e7eb;
  border-radius:14px;
  background:#f8fafc;
}
.rtm-g-accessibility-consent-label input[type="checkbox"]{
  width:20px;
  height:20px;
  min-width:20px;
  margin-top:2px;
  accent-color:#0f3b78;
  cursor:pointer;
}
.rtm-g-accessibility-consent-label:focus-within{
  outline:3px solid rgba(15,59,120,.26);
  outline-offset:2px;
}
.rtm-g-accessibility-feedback-confirmation:focus{
  outline:3px solid rgba(22,163,74,.34);
  outline-offset:3px;
}


/* v2.1.28 — foco visible global seguro para navegación con teclado
   Refuerza Tab/Shift+Tab en menús, botones, formularios, tarjetas y enlaces públicos sin tocar contenido. */
:where(a[href], button, input, select, textarea, summary, [role="button"], [role="link"], [tabindex]:not([tabindex="-1"])):focus-visible,
body.rtm-g-keyboard-nav :where(a[href], button, input, select, textarea, summary, [role="button"], [role="link"], [tabindex]:not([tabindex="-1"])):focus{
  outline:3px solid #ff8c00!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 5px rgba(255,140,0,.22)!important;
  border-radius:10px!important;
  text-decoration-thickness:2px!important;
}
:where(a[href], button, input, select, textarea, summary, [role="button"], [role="link"], [tabindex]:not([tabindex="-1"])):focus:not(:focus-visible){
  outline:none;
}
.rtm-g-a11y-toggle:focus-visible,
.rtm-nixur-launcher a:focus-visible,
.rtm-nixur-launcher button:focus-visible{
  outline:3px solid #ff8c00!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 6px rgba(255,255,255,.78),0 0 0 10px rgba(255,140,0,.28)!important;
}


/* v2.1.29.3.7 — Alto contraste equilibrado, sin perfiles extra y sin destruir estética.
   A+ y A− regulan tamaño de texto; Alto contraste solo mejora lectura, bordes y foco con una capa suave. */
body.rtm-g-high-contrast{
  background:inherit!important;
  color:inherit!important;
  filter:none!important;
}
body.rtm-g-high-contrast > *:not(.rtm-g-a11y):not(.rtm-g-reading-guide-el):not(.rtm-g-reading-mask-el):not(.rtm-g-cursor-ring-el):not(#wpadminbar){
  filter:contrast(1.10) saturate(1.02)!important;
}
body.rtm-g-high-contrast :where(a[href]){
  text-decoration:underline!important;
  text-decoration-thickness:.08em!important;
  text-underline-offset:.18em!important;
}
body.rtm-g-high-contrast :where(button,.button,.elementor-button,input[type="submit"],input,textarea,select){
  border-color:#334155!important;
  box-shadow:0 0 0 1px rgba(15,23,42,.12)!important;
}
body.rtm-g-high-contrast :where(.rtm-g-a11y-panel,.rtm-g-a11y-panel *){
  filter:none!important;
}
body.rtm-g-high-contrast .rtm-g-a11y-panel{
  background:#fff!important;
  color:#111827!important;
  border-color:#d1d5db!important;
}
body.rtm-g-high-contrast .rtm-g-a11y-actions button[aria-pressed="true"],
body.rtm-g-high-contrast .rtm-g-a11y-actions button.is-active{
  background:#f59e0b!important;
  border-color:#f59e0b!important;
  color:#111827!important;
}
/* Clases heredadas de v2.1.29.3.6: quedan neutralizadas para no generar modos extra si había caché/localStorage antiguo. */
body.rtm-g-contrast-soft,
body.rtm-g-contrast-strong,
body.rtm-g-reading-dark{
  background:inherit!important;
  color:inherit!important;
  filter:none!important;
}
body.rtm-g-contrast-soft > *:not(.rtm-g-a11y):not(#wpadminbar),
body.rtm-g-contrast-strong > *:not(.rtm-g-a11y):not(#wpadminbar),
body.rtm-g-reading-dark > *:not(.rtm-g-a11y):not(#wpadminbar){
  filter:none!important;
}


/* v2.1.29.3.8 — Preservar texto blanco real en Alto contraste.
   El modo refuerza lectura sin forzar toda la página a negro/blanco.
   A+ y A− siguen regulando tamaño; Alto contraste solo mejora contraste visual. */
body.rtm-g-high-contrast{
  background:inherit!important;
  color:inherit!important;
  filter:none!important;
}
body.rtm-g-high-contrast .rtm-g-original-light-text,
body.rtm-g-high-contrast .rtm-g-original-light-text :where(span,strong,em,small,b,i,svg,path){
  color:#ffffff!important;
}
body.rtm-g-high-contrast :where(.rtm-g-a11y-panel,.rtm-g-a11y-panel *){
  color:#111827!important;
  filter:none!important;
}
body.rtm-g-high-contrast .rtm-g-a11y-panel{
  background:#ffffff!important;
  border-color:#d1d5db!important;
}
body.rtm-g-high-contrast .rtm-g-a11y-actions button[aria-pressed="true"],
body.rtm-g-high-contrast .rtm-g-a11y-actions button.is-active{
  background:#f59e0b!important;
  border-color:#f59e0b!important;
  color:#111827!important;
}
body.rtm-g-high-contrast :where(a[href]){
  text-decoration:underline!important;
  text-decoration-thickness:.08em!important;
  text-underline-offset:.18em!important;
}
body.rtm-g-high-contrast :where(button,.button,.elementor-button,input[type="submit"],input,textarea,select){
  border-color:#334155!important;
  box-shadow:0 0 0 1px rgba(15,23,42,.16)!important;
}
body.rtm-g-high-contrast :where(.rtm-g-original-light-text a,.rtm-g-original-light-text button,.rtm-g-original-light-text .button,.rtm-g-original-light-text .elementor-button){
  color:#ffffff!important;
}


/* v2.1.29.3.9 — Pulido seguro de ayudas de lectura y foco.
   Guía/Máscara deben ser visibles al activarse, no tapar menús/paneles y mantener estética RTM. */
.rtm-g-reading-guide-el{
  height:5px!important;
  background:#f59e0b!important;
  box-shadow:0 0 0 1px rgba(255,255,255,.88),0 0 18px rgba(245,158,11,.62),0 4px 16px rgba(15,23,42,.18)!important;
  border-radius:999px!important;
}
.rtm-g-reading-mask-el{
  height:78px!important;
  left:14px!important;
  right:14px!important;
  border-radius:18px!important;
  box-shadow:0 0 0 9999px rgba(15,23,42,.34)!important;
  background:rgba(255,255,255,.14)!important;
  border:1px solid rgba(255,255,255,.46)!important;
}
body.rtm-g-focus-visible :where(a[href], button, input, select, textarea, summary, [role="button"], [role="link"], [tabindex]:not([tabindex="-1"])):focus{
  outline:3px solid #ff8c00!important;
  outline-offset:3px!important;
  box-shadow:0 0 0 6px rgba(255,255,255,.72),0 0 0 10px rgba(255,140,0,.24)!important;
  border-radius:10px!important;
}
@media(max-width:640px){
  .rtm-g-reading-mask-el{left:10px!important;right:10px!important;height:72px!important;border-radius:16px!important;}
}


/* v2.1.29.3.10 — Pulido seguro de Leer sección y Foco visible.
   Leer sección muestra estado activo mientras lee; Foco visible debe dar reacción inmediata sin romper estética. */
.rtm-g-a11y-actions button[data-action="read-selection"][aria-pressed="true"]{
  background:#f59e0b!important;
  border-color:#f59e0b!important;
  color:#111827!important;
}
body.rtm-g-focus-visible .rtm-g-a11y-toggle:focus,
body.rtm-g-focus-visible .rtm-g-a11y-toggle:focus-visible{
  outline:4px solid #ff8c00!important;
  outline-offset:4px!important;
  box-shadow:0 0 0 7px rgba(255,255,255,.82),0 0 0 12px rgba(255,140,0,.28),0 18px 36px rgba(0,0,0,.26)!important;
}


/* v2.1.29.3.12 — Guía de lectura persistente con panel abierto.
   El panel permanece abierto para que el usuario termine los ajustes, pero la Guía no se apaga.
   La línea queda por debajo del panel, por lo que no tapa botones ni controles. */
body.rtm-g-a11y-panel-open.rtm-g-reading-guide:not(.rtm-g-hide-reading-helpers) .rtm-g-reading-guide-el{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  z-index:999990!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y,
body.rtm-g-a11y-panel-open .rtm-g-a11y-panel{
  z-index:1000001!important;
}

/* v2.1.29.3.13 — panel estable, filtros de color seguros y pie visible.
   - Deuteranopia/Protanopia/Tritanopia/Escala grises ya no aplican filter al body completo.
   - El panel de Accesibilidad queda fuera del filtro para no saltar de posición.
   - La zona inferior del panel queda siempre accesible; los botones scrollean dentro. */
body.rtm-g-deuteranopia,
body.rtm-g-protanopia,
body.rtm-g-tritanopia,
body.rtm-g-gray{
  filter:none!important;
}
body.rtm-g-deuteranopia > *:not(.rtm-g-a11y):not(.rtm-g-reading-guide-el):not(.rtm-g-reading-mask-el):not(.rtm-g-cursor-ring-el):not(#wpadminbar){
  filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='d'><feColorMatrix type='matrix' values='0.625 0.375 0 0 0 0.70 0.30 0 0 0 0 0.30 0.70 0 0 0 0 0 1 0'/></filter></svg>#d")!important;
}
body.rtm-g-protanopia > *:not(.rtm-g-a11y):not(.rtm-g-reading-guide-el):not(.rtm-g-reading-mask-el):not(.rtm-g-cursor-ring-el):not(#wpadminbar){
  filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='p'><feColorMatrix type='matrix' values='0.567 0.433 0 0 0 0.558 0.442 0 0 0 0 0.242 0.758 0 0 0 0 0 1 0'/></filter></svg>#p")!important;
}
body.rtm-g-tritanopia > *:not(.rtm-g-a11y):not(.rtm-g-reading-guide-el):not(.rtm-g-reading-mask-el):not(.rtm-g-cursor-ring-el):not(#wpadminbar){
  filter:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg'><filter id='t'><feColorMatrix type='matrix' values='0.95 0.05 0 0 0 0 0.433 0.567 0 0 0 0.475 0.525 0 0 0 0 0 1 0'/></filter></svg>#t")!important;
}
body.rtm-g-gray > *:not(.rtm-g-a11y):not(.rtm-g-reading-guide-el):not(.rtm-g-reading-mask-el):not(.rtm-g-cursor-ring-el):not(#wpadminbar){
  filter:grayscale(1)!important;
}
body.rtm-g-deuteranopia .rtm-g-a11y,
body.rtm-g-protanopia .rtm-g-a11y,
body.rtm-g-tritanopia .rtm-g-a11y,
body.rtm-g-gray .rtm-g-a11y,
body.rtm-g-deuteranopia .rtm-g-a11y *,
body.rtm-g-protanopia .rtm-g-a11y *,
body.rtm-g-tritanopia .rtm-g-a11y *,
body.rtm-g-gray .rtm-g-a11y *{
  filter:none!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y,
.rtm-g-a11y.is-open,
.rtm-g-a11y.is-open.is-near-footer{
  top:84vh!important;
  bottom:auto!important;
  transform:none!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y-panel,
.rtm-g-a11y.is-open .rtm-g-a11y-panel{
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  max-height:min(860px,calc(84vh - 18px))!important;
  bottom:calc(100% + 12px)!important;
  transform:none!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y-head,
body.rtm-g-a11y-panel-open .rtm-g-a11y-intro,
body.rtm-g-a11y-panel-open .rtm-g-a11y-footer{
  flex:0 0 auto!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y-actions{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow:auto!important;
  overscroll-behavior:contain!important;
  padding-right:4px!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y-footer{
  display:flex!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  bottom:auto!important;
  background:#fff!important;
  margin-top:8px!important;
  padding-top:10px!important;
  box-shadow:0 -10px 18px rgba(255,255,255,.92)!important;
  z-index:3!important;
}
body.rtm-g-a11y-panel-open.rtm-g-reading-guide:not(.rtm-g-hide-reading-helpers) .rtm-g-reading-guide-el{
  display:block!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:none!important;
  z-index:1000000!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y,
body.rtm-g-a11y-panel-open .rtm-g-a11y-panel{
  z-index:1000002!important;
}
@media(max-width:782px){
  body.rtm-g-a11y-panel-open .rtm-g-a11y,
  .rtm-g-a11y.is-open,
  .rtm-g-a11y.is-open.is-near-footer{
    top:88vh!important;
  }
  body.rtm-g-a11y-panel-open .rtm-g-a11y-panel,
  .rtm-g-a11y.is-open .rtm-g-a11y-panel{
    max-height:calc(88vh - 16px)!important;
  }
}


/* v2.1.29.3.14 — Guía de lectura ajustada con panel abierto.
   La línea naranja sigue activa, pero no cruza por encima del panel de Accesibilidad.
   JS limita la línea a la zona libre de la página; CSS solo refuerza capas y transición suave. */
body.rtm-g-a11y-panel-open.rtm-g-reading-guide .rtm-g-reading-guide-el{
  z-index:999900!important;
  transition:left .12s ease,right .12s ease,top .08s linear,opacity .12s ease!important;
}
body.rtm-g-a11y-panel-open .rtm-g-a11y,
body.rtm-g-a11y-panel-open .rtm-g-a11y-panel{
  z-index:1000002!important;
  background:#fff!important;
}
@media(max-width:782px){
  body.rtm-g-a11y-panel-open.rtm-g-reading-guide .rtm-g-reading-guide-el{opacity:0!important;}
}
