/* ===== JUANCHO · PERSONAJE ANIMADO + CHAT ===== */
.juancho-launcher{position:fixed;right:18px;bottom:-2px;z-index:1100;width:210px;height:320px;border:0;background:transparent;padding:0;display:block;cursor:pointer;overflow:visible;filter:drop-shadow(0 20px 32px rgba(0,0,0,.34));transform-origin:50% 100%;animation:juanchoPresence 5.2s ease-in-out infinite;transition:filter .22s ease,transform .22s ease}
.juancho-launcher:hover{filter:drop-shadow(0 24px 38px rgba(0,0,0,.42))}
.juancho-avatar-stage{position:absolute;inset:0;display:block;overflow:visible;pointer-events:none;transform-origin:50% 100%}
.juancho-avatar-stage img{position:absolute;right:0;bottom:-10px;width:205px;height:326px;object-fit:cover;object-position:52% 20%;border-radius:46% 46% 10px 10px;-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 80%,rgba(0,0,0,.82) 89%,transparent 100%);mask-image:linear-gradient(to bottom,#000 0%,#000 80%,rgba(0,0,0,.82) 89%,transparent 100%);transform-origin:50% 84%;animation:juanchoBody 4.4s ease-in-out infinite}
.juancho-glow{position:absolute;left:50%;bottom:1px;width:150px;height:28px;transform:translateX(-50%);border-radius:50%;background:radial-gradient(ellipse,rgba(128,199,32,.26) 0%,rgba(32,126,201,.15) 42%,transparent 72%);filter:blur(4px);animation:juanchoGlow 3.2s ease-in-out infinite}
.juancho-status-dot{position:absolute;right:25px;bottom:22px;width:11px;height:11px;border-radius:50%;background:#95d51f;border:2px solid #07111a;box-shadow:0 0 0 0 rgba(149,213,31,.55);animation:juanchoStatus 2s ease-out infinite}
.juancho-launcher:after{content:"";position:absolute;inset:36px 12px 20px 12px;border-radius:48%;background:linear-gradient(105deg,transparent 34%,rgba(255,255,255,.12) 48%,transparent 61%);transform:translateX(-150%) skewX(-10deg);mix-blend-mode:screen;opacity:.55;animation:juanchoShine 6.4s ease-in-out infinite;pointer-events:none}
.juancho-launcher[aria-expanded="true"]{pointer-events:none;opacity:0;transform:translateY(26px) scale(.96);transition:opacity .18s ease,transform .18s ease}
.juancho-chat{position:fixed;right:24px;bottom:24px;width:min(400px,calc(100vw - 32px));height:min(650px,calc(100vh - 48px));z-index:1110;background:#07111a;border:1px solid rgba(83,150,214,.35);border-radius:24px;box-shadow:0 28px 70px rgba(0,0,0,.38);display:flex;flex-direction:column;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(16px) scale(.98);transition:.22s ease;color:#fff}.juancho-chat.open{opacity:1;pointer-events:auto;transform:none}.juancho-head{padding:15px 16px;background:linear-gradient(135deg,#08121d,#0e2131);display:flex;align-items:center;gap:11px;border-bottom:1px solid rgba(255,255,255,.08)}.juancho-head img{width:48px;height:48px;border-radius:15px;object-fit:cover;object-position:50% 34%;border:1px solid rgba(146,210,29,.8)}.juancho-head-text{flex:1}.juancho-head strong{font-size:15px;display:block}.juancho-head span{font-size:11px;color:#a9c1d4}.juancho-close{border:0;background:rgba(255,255,255,.08);color:#fff;width:34px;height:34px;border-radius:50%;cursor:pointer;font-size:20px}.juancho-messages{flex:1;overflow:auto;padding:16px;background:radial-gradient(circle at 100% 0,rgba(33,108,178,.09),transparent 38%),#07111a;scroll-behavior:smooth}.juancho-msg{max-width:86%;padding:11px 13px;border-radius:16px;margin:0 0 10px;font-size:13.5px;line-height:1.48;white-space:pre-wrap}.juancho-msg.bot{background:#102231;border:1px solid rgba(103,157,205,.18);border-bottom-left-radius:5px}.juancho-msg.user{margin-left:auto;background:#8acb20;color:#071009;border-bottom-right-radius:5px}.juancho-quick{display:flex;gap:7px;overflow-x:auto;padding:0 14px 10px;background:#07111a;scrollbar-width:none}.juancho-quick::-webkit-scrollbar{display:none}.juancho-quick button{flex:0 0 auto;border:1px solid rgba(146,210,29,.32);background:rgba(146,210,29,.08);color:#dfead5;padding:7px 10px;border-radius:999px;font:inherit;font-size:11px;cursor:pointer}.juancho-compose{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.08);background:#0a1621}.juancho-compose textarea{flex:1;resize:none;min-height:42px;max-height:100px;border:1px solid rgba(255,255,255,.13);background:#0f202e;color:#fff;border-radius:14px;padding:11px 12px;outline:none;font:inherit;font-size:13px}.juancho-compose textarea:focus{border-color:#8acb20}.juancho-send{width:44px;border:0;border-radius:14px;background:#8acb20;color:#071009;font-size:20px;font-weight:800;cursor:pointer}.juancho-send:disabled{opacity:.45;cursor:wait}.juancho-typing{display:inline-flex;gap:4px;align-items:center}.juancho-typing i{width:5px;height:5px;border-radius:50%;background:#8acb20;animation:juanchoBlink 1.1s infinite}.juancho-typing i:nth-child(2){animation-delay:.15s}.juancho-typing i:nth-child(3){animation-delay:.3s}

@keyframes juanchoBlink{0%,80%,100%{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
@keyframes juanchoPresence{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes juanchoBody{0%,100%{transform:rotate(-.35deg) scale(1)}25%{transform:rotate(.2deg) scale(1.006,1.012)}50%{transform:rotate(.5deg) scale(1.01,1.018)}75%{transform:rotate(0deg) scale(1.004,1.008)}}
@keyframes juanchoGlow{0%,100%{opacity:.55;transform:translateX(-50%) scale(.92)}50%{opacity:1;transform:translateX(-50%) scale(1.08)}}
@keyframes juanchoStatus{0%{box-shadow:0 0 0 0 rgba(149,213,31,.55)}70%{box-shadow:0 0 0 9px rgba(149,213,31,0)}100%{box-shadow:0 0 0 0 rgba(149,213,31,0)}}
@keyframes juanchoShine{0%,70%,100%{transform:translateX(-150%) skewX(-10deg);opacity:0}78%{opacity:.5}90%{transform:translateX(150%) skewX(-10deg);opacity:0}}
@media(max-width:700px){.juancho-launcher{right:-5px;bottom:-5px;width:145px;height:225px}.juancho-avatar-stage img{width:142px;height:228px;bottom:-7px}.juancho-glow{width:105px;height:22px}.juancho-status-dot{right:16px;bottom:14px;width:9px;height:9px}.juancho-chat{right:8px;bottom:8px;width:calc(100vw - 16px);height:calc(100dvh - 16px);border-radius:20px}}


/* =========================================================
   JUANCHO — PERSONAJE LIBRE, SIN CÍRCULO / SIN BURBUJA
   ========================================================= */
.juancho-launcher,
#juanchoLauncher,
.juancho-avatar,
.juancho-character,
.juancho-character-wrap,
.juancho-floating,
.juancho-agent-trigger {
    background: transparent !important;
    background-color: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    outline: none !important;
    overflow: visible !important;
}

.juancho-launcher::before,
.juancho-launcher::after,
#juanchoLauncher::before,
#juanchoLauncher::after,
.juancho-avatar::before,
.juancho-avatar::after,
.juancho-character::before,
.juancho-character::after,
.juancho-floating::before,
.juancho-floating::after {
    content: none !important;
    display: none !important;
}

.juancho-launcher img,
#juanchoLauncher img,
.juancho-avatar img,
.juancho-character img,
.juancho-character-wrap img,
.juancho-floating img,
.juancho-agent-trigger img {
    border-radius: 0 !important;
    clip-path: none !important;
    background: transparent !important;
    box-shadow: none !important;
    object-fit: contain !important;
}

/* El personaje queda recortado por su propia silueta/PNG, no por una máscara circular. */

/* ===== JUANCHO NUEVO · PERSONAJE RECORTADO INTERACTIVO ===== */
.juancho-launcher{
  right:18px!important; bottom:0!important; width:260px!important; height:390px!important;
  background:transparent!important; border:0!important; border-radius:0!important; box-shadow:none!important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.28))!important; overflow:visible!important;
}
.juancho-avatar-stage{position:absolute!important;inset:0!important;background:transparent!important;overflow:visible!important}
.juancho-avatar-stage img{
  position:absolute!important; right:0!important; bottom:0!important; width:100%!important; height:100%!important;
  object-fit:contain!important; object-position:right bottom!important; border-radius:0!important; clip-path:none!important;
  -webkit-mask-image:none!important; mask-image:none!important; background:transparent!important; box-shadow:none!important;
  animation:juanchoBody 4.4s ease-in-out infinite!important;
}
.juancho-glow,.juancho-status-dot{display:none!important}
.juancho-launcher::before,.juancho-launcher::after{content:none!important;display:none!important}
@media(max-width:700px){
  .juancho-launcher{right:-8px!important;bottom:0!important;width:180px!important;height:275px!important}
}


/* ===== JUANCHO MÁS GRANDE ===== */
.juancho-launcher{
  width:390px!important;
  height:570px!important;
  right:22px!important;
  bottom:0!important;
}
.juancho-avatar-stage img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right bottom!important;
}
@media(max-width:1100px){
  .juancho-launcher{width:330px!important;height:490px!important;right:10px!important}
}
@media(max-width:700px){
  .juancho-launcher{width:235px!important;height:355px!important;right:-12px!important;bottom:0!important}
}


/* =========================================================
   JUANCHO — ANIMACIÓN DE PERSONAJE, SIN FIGURAS GEOMÉTRICAS
   ========================================================= */
.juancho-character-trigger{
  position:fixed!important;
  right:18px!important;
  bottom:0!important;
  width:300px!important;
  height:455px!important;
  z-index:1100!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:none!important;
  box-shadow:none!important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.24))!important;
  overflow:visible!important;
  cursor:pointer!important;
  animation:none!important;
  -webkit-tap-highlight-color:transparent;
}
.juancho-character-trigger::before,
.juancho-character-trigger::after{
  display:none!important;
  content:none!important;
}
.juancho-animation-stage{
  position:absolute;
  inset:0;
  display:block;
  overflow:visible;
  background:none!important;
  border:0!important;
  border-radius:0!important;
  pointer-events:none;
  transform-origin:50% 100%;
}
.juancho-frame{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  opacity:0;
  transform:translateY(4px) scale(.985);
  transition:opacity .18s ease, transform .28s ease;
  border:0!important;
  border-radius:0!important;
  clip-path:none!important;
  -webkit-mask-image:none!important;
  mask-image:none!important;
  background:transparent!important;
  box-shadow:none!important;
}
.juancho-frame.active{
  opacity:1;
  transform:translateY(0) scale(1);
}
.juancho-character-trigger:hover .juancho-animation-stage{
  transform:translateY(-4px);
  transition:transform .2s ease;
}
.juancho-character-trigger[aria-expanded="true"]{
  opacity:0!important;
  pointer-events:none!important;
  transform:translateY(20px) scale(.97)!important;
}
.juancho-glow,.juancho-status-dot{display:none!important}

@media(max-width:900px){
  .juancho-character-trigger{
    width:250px!important;
    height:385px!important;
    right:4px!important;
  }
}
@media(max-width:700px){
  .juancho-character-trigger{
    width:185px!important;
    height:290px!important;
    right:-4px!important;
    bottom:0!important;
  }
}


/* =========================================================
   CORRECCIÓN DEFINITIVA — UN SOLO JUANCHO
   ========================================================= */
#juanchoLauncher.juancho-character-trigger{
  position:fixed!important;
  right:24px!important;
  bottom:0!important;
  width:320px!important;
  height:480px!important;
  display:block!important;
  padding:0!important;
  margin:0!important;
  border:none!important;
  outline:none!important;
  border-radius:0!important;
  background:transparent!important;
  background-color:transparent!important;
  box-shadow:none!important;
  overflow:visible!important;
  z-index:9999!important;
  cursor:pointer!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

#juanchoLauncher.juancho-character-trigger::before,
#juanchoLauncher.juancho-character-trigger::after{
  content:none!important;
  display:none!important;
}

#juanchoLauncher .juancho-animation-stage{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  background:transparent!important;
  border:none!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
  pointer-events:none!important;
}

#juanchoAnimatedCharacter.juancho-animated-character{
  position:absolute!important;
  right:0!important;
  bottom:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:contain!important;
  object-position:right bottom!important;
  border:none!important;
  outline:none!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  clip-path:none!important;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.18))!important;
  opacity:1!important;
  transform:translateY(0) scale(1)!important;
  transition:opacity .16s ease, transform .16s ease!important;
}

#juanchoAnimatedCharacter.is-changing{
  opacity:.12!important;
  transform:translateY(2px) scale(.992)!important;
}

/* Ocultar cualquier frame viejo que hubiese quedado en caché/HTML */
#juanchoLauncher .juancho-frame{
  display:none!important;
}

/* Sin borde de foco verde */
#juanchoLauncher:focus,
#juanchoLauncher:focus-visible,
#juanchoAnimatedCharacter:focus{
  outline:none!important;
  box-shadow:none!important;
}

@media (max-width:900px){
  #juanchoLauncher.juancho-character-trigger{
    width:260px!important;
    height:395px!important;
    right:8px!important;
  }
}

@media (max-width:700px){
  #juanchoLauncher.juancho-character-trigger{
    width:195px!important;
    height:300px!important;
    right:-4px!important;
    bottom:0!important;
  }
}


/* =========================================================
   AJUSTE VISUAL FINAL — MÁS GRANDE Y SIN RECUADRO VERDE
   ========================================================= */

/* Botón invisible: solo conserva el área clicable del personaje */
#juanchoLauncher,
#juanchoLauncher.juancho-character-trigger,
#juanchoLauncher:hover,
#juanchoLauncher:active,
#juanchoLauncher:focus,
#juanchoLauncher:focus-visible {
  width: 430px !important;
  height: 640px !important;
  right: 18px !important;
  bottom: 0 !important;

  border: 0 !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;

  outline: 0 !important;
  outline-width: 0 !important;
  outline-style: none !important;
  outline-color: transparent !important;
  outline-offset: 0 !important;

  box-shadow: none !important;
  background: transparent !important;
  background-color: transparent !important;
  border-radius: 0 !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;
}

/* Quitar cualquier pseudo-elemento o resplandor geométrico */
#juanchoLauncher::before,
#juanchoLauncher::after,
#juanchoLauncher *,
#juanchoLauncher *::before,
#juanchoLauncher *::after {
  border-color: transparent !important;
  outline-color: transparent !important;
}

#juanchoLauncher::before,
#juanchoLauncher::after {
  content: none !important;
  display: none !important;
}

/* El stage no dibuja nada, solo posiciona al personaje */
#juanchoLauncher .juancho-animation-stage {
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
}

/* Personaje limpio */
#juanchoAnimatedCharacter {
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  border-radius: 0 !important;
  clip-path: none !important;
  object-fit: contain !important;
  object-position: right bottom !important;
  filter: drop-shadow(0 18px 28px rgba(0,0,0,.20)) !important;
}

/* Nada de glow/status alrededor del avatar */
#juanchoLauncher .juancho-glow,
#juanchoLauncher .juancho-status-dot,
.juancho-glow,
.juancho-status-dot {
  display: none !important;
}

/* Tamaños responsivos */
@media (max-width: 1100px) {
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger {
    width: 360px !important;
    height: 545px !important;
    right: 8px !important;
  }
}

@media (max-width: 700px) {
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger {
    width: 250px !important;
    height: 380px !important;
    right: -8px !important;
    bottom: 0 !important;
  }
}


/* =========================================================
   JUANCHO 5X VISUAL — CORRECCIÓN SOBRE LA PÁGINA REAL
   ========================================================= */
#juanchoLauncher,
#juanchoLauncher.juancho-character-trigger{
  width: min(720px, 46vw) !important;
  height: min(900px, 88vh) !important;
  right: 10px !important;
  bottom: -8px !important;
  border: 0 !important;
  outline: 0 !important;
  box-shadow: none !important;
  background: transparent !important;
  overflow: visible !important;
}

#juanchoLauncher .juancho-animation-stage{
  width:100% !important;
  height:100% !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  overflow:visible !important;
}

#juanchoAnimatedCharacter{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:right bottom !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  border-radius:0 !important;
}

/* Evita que reglas antiguas vuelvan a reducirlo */
.juancho-launcher img,
.juancho-animation-stage img{
  min-width:100% !important;
  min-height:100% !important;
}

@media(max-width:900px){
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger{
    width:min(520px, 52vw) !important;
    height:min(720px, 72vh) !important;
    right:0 !important;
  }
}

@media(max-width:700px){
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger{
    width:min(300px, 62vw) !important;
    height:min(450px, 58vh) !important;
    right:-10px !important;
    bottom:-5px !important;
  }
}


/* =========================================================
   JUANCHO PROTAGONISTA — GRAN ESCALA EN PANTALLA
   ========================================================= */
#juanchoLauncher,
#juanchoLauncher.juancho-character-trigger{
  width: min(920px, 58vw) !important;
  height: min(1080px, 96vh) !important;
  right: -20px !important;
  bottom: -12px !important;
  z-index: 9999 !important;
  border: 0 !important;
  outline: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

#juanchoLauncher .juancho-animation-stage,
#juanchoAnimatedCharacter{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  border:0 !important;
  outline:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#juanchoAnimatedCharacter{
  object-fit:contain !important;
  object-position:right bottom !important;
  filter:drop-shadow(0 22px 30px rgba(0,0,0,.20)) !important;
}

@media(max-width:1200px){
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger{
    width:min(720px, 55vw) !important;
    height:min(900px, 90vh) !important;
    right:-10px !important;
  }
}

@media(max-width:700px){
  #juanchoLauncher,
  #juanchoLauncher.juancho-character-trigger{
    width:min(390px, 78vw) !important;
    height:min(570px, 68vh) !important;
    right:-25px !important;
    bottom:-8px !important;
  }
}


/* ============================================================
   JUANCHO FINAL — GRANDE, PROTAGONISTA, SIN RECUADRO NI BORDE
   ============================================================ */

html body #juanchoLauncher.juancho-launcher.juancho-character-trigger {
  position: fixed !important;
  right: 18px !important;
  bottom: -12px !important;

  width: clamp(420px, 34vw, 650px) !important;
  height: clamp(620px, 78vh, 920px) !important;

  z-index: 2147483000 !important;
  display: block !important;
  overflow: visible !important;

  padding: 0 !important;
  margin: 0 !important;

  background: transparent !important;
  background-color: transparent !important;

  border: none !important;
  border-width: 0 !important;
  border-style: none !important;
  border-color: transparent !important;
  border-radius: 0 !important;

  outline: none !important;
  outline-width: 0 !important;
  outline-style: none !important;
  outline-color: transparent !important;
  outline-offset: 0 !important;

  box-shadow: none !important;
  appearance: none !important;
  -webkit-appearance: none !important;
  -webkit-tap-highlight-color: transparent !important;

  cursor: pointer !important;
}

html body #juanchoLauncher,
html body #juanchoLauncher:hover,
html body #juanchoLauncher:active,
html body #juanchoLauncher:focus,
html body #juanchoLauncher:focus-visible {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  background: transparent !important;
}

html body #juanchoLauncher::before,
html body #juanchoLauncher::after {
  content: none !important;
  display: none !important;
}

html body #juanchoLauncher .juancho-animation-stage {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;

  display: block !important;
  overflow: visible !important;

  background: transparent !important;
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
  border-radius: 0 !important;

  pointer-events: none !important;
}

html body #juanchoLauncher #juanchoAnimatedCharacter {
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;

  display: block !important;
  width: 100% !important;
  height: 100% !important;

  min-width: 0 !important;
  min-height: 0 !important;
  max-width: none !important;
  max-height: none !important;

  object-fit: contain !important;
  object-position: right bottom !important;

  background: transparent !important;
  border: none !important;
  outline: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  clip-path: none !important;

  filter: drop-shadow(0 20px 26px rgba(0,0,0,.18)) !important;
}

/* Anular cualquier marco/estado viejo */
html body .juancho-frame,
html body .juancho-glow,
html body .juancho-status-dot {
  border: none !important;
  outline: none !important;
  box-shadow: none !important;
}
html body .juancho-frame {
  display: none !important;
}

/* Tablet */
@media (max-width: 1100px) {
  html body #juanchoLauncher.juancho-launcher.juancho-character-trigger {
    width: clamp(360px, 42vw, 540px) !important;
    height: clamp(540px, 72vh, 800px) !important;
    right: 4px !important;
  }
}

/* Móvil */
@media (max-width: 700px) {
  html body #juanchoLauncher.juancho-launcher.juancho-character-trigger {
    width: clamp(210px, 58vw, 320px) !important;
    height: clamp(320px, 52vh, 480px) !important;
    right: -12px !important;
    bottom: -6px !important;
  }
}


/* =========================================================
   JUANCHO LIMPIO — PERSONAJE + CHAT FLOTANTE REAL
   ========================================================= */
#juanchoLauncher{display:none!important}

#nf-mascot-clean{
  position:fixed;
  right:16px;
  bottom:4px;
  width:clamp(110px,9vw,160px);
  z-index:2147483000;
  cursor:pointer;
  user-select:none;
  -webkit-tap-highlight-color:transparent;
  outline:none;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease;
}
#nf-mascot-clean:focus,
#nf-mascot-clean:focus-visible{outline:none!important;box-shadow:none!important}

.nf-character-clean{
  position:relative;
  width:100%;
  animation:nfCleanBreathe 3.2s ease-in-out infinite;
  transform-origin:50% 100%;
}
#nf-idle-clean,#nf-greet-clean{
  display:block;
  width:100%;
  height:auto;
  border:0;
  border-radius:0;
  outline:0;
  box-shadow:none;
  background:transparent;
  filter:drop-shadow(0 8px 14px rgba(0,0,0,.28));
  pointer-events:none;
}
#nf-greet-clean{
  position:absolute;
  inset:0 auto auto 0;
  opacity:0;
  transition:opacity .28s ease;
}
#nf-mascot-clean.is-greeting #nf-idle-clean{opacity:0;transition:opacity .28s ease}
#nf-mascot-clean.is-greeting #nf-greet-clean{opacity:1}
#nf-mascot-clean.is-greeting .nf-character-clean{animation:nfCleanWave .5s ease-in-out 3}

#nf-pointing-text-clean{
  position:absolute;
  right:86%;
  bottom:58%;
  width:max-content;
  max-width:190px;
  padding:9px 12px;
  border-radius:14px;
  border:1px solid rgba(145,208,27,.35);
  background:#0b1720;
  color:#fff;
  font:700 13px/1.25 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
  text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.22);
  opacity:0;
  visibility:hidden;
  transform:translateY(5px) scale(.96);
  transition:.22s ease;
  pointer-events:none;
}
#nf-pointing-text-clean:after{
  content:"";
  position:absolute;
  right:-6px;
  bottom:17px;
  width:12px;height:12px;
  background:#0b1720;
  border-right:1px solid rgba(145,208,27,.35);
  border-bottom:1px solid rgba(145,208,27,.35);
  transform:rotate(-45deg);
}
#nf-mascot-clean.is-greeting #nf-pointing-text-clean{
  opacity:1;
  visibility:visible;
  transform:none;
}
body.juancho-chat-open #nf-mascot-clean{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transform:translateY(14px) scale(.96);
}

@keyframes nfCleanBreathe{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-4px)}
}
@keyframes nfCleanWave{
  0%,100%{transform:translateY(0) rotate(0) scale(1)}
  50%{transform:translateY(-3px) rotate(-3deg) scale(1.035)}
}

/* CHAT — burbuja/ventana flotante real */
#juanchoChat.juancho-chat{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  top:auto!important;
  left:auto!important;
  width:min(390px,calc(100vw - 28px))!important;
  height:min(610px,calc(100dvh - 36px))!important;
  margin:0!important;
  z-index:2147483646!important;

  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;

  background:#07111a!important;
  color:#fff!important;
  border:1px solid rgba(77,136,188,.38)!important;
  border-radius:22px!important;
  box-shadow:0 28px 80px rgba(0,0,0,.42)!important;

  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(18px) scale(.975)!important;
  transform-origin:100% 100%!important;
  transition:opacity .2s ease,transform .2s ease,visibility .2s ease!important;
}
#juanchoChat.juancho-chat.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}

#juanchoChat .juancho-head{
  flex:0 0 auto!important;
  display:flex!important;
  align-items:center!important;
  gap:11px!important;
  padding:14px 15px!important;
  background:linear-gradient(135deg,#08131e,#102638)!important;
  border-bottom:1px solid rgba(255,255,255,.08)!important;
}
#juanchoChat .juancho-head img{
  width:46px!important;
  height:46px!important;
  object-fit:cover!important;
  object-position:50% 25%!important;
  border-radius:13px!important;
  border:1px solid rgba(145,208,27,.65)!important;
}
#juanchoChat .juancho-head-text{flex:1!important;min-width:0!important}
#juanchoChat .juancho-head strong{display:block!important;font-size:15px!important;color:#fff!important}
#juanchoChat .juancho-head span{display:block!important;font-size:11px!important;color:#a9c1d4!important;margin-top:2px!important}
#juanchoChat .juancho-close{
  flex:0 0 34px!important;
  width:34px!important;height:34px!important;
  border:0!important;border-radius:50%!important;
  background:rgba(255,255,255,.08)!important;
  color:#fff!important;font-size:20px!important;
  cursor:pointer!important;
}

#juanchoChat .juancho-messages{
  flex:1 1 auto!important;
  min-height:0!important;
  overflow-y:auto!important;
  padding:15px!important;
  background:radial-gradient(circle at 100% 0,rgba(40,113,173,.11),transparent 40%),#07111a!important;
}
#juanchoChat .juancho-msg{
  width:auto!important;
  max-width:86%!important;
  padding:10px 12px!important;
  margin:0 0 10px!important;
  border-radius:15px!important;
  font-size:13.5px!important;
  line-height:1.45!important;
  white-space:pre-wrap!important;
  color:#fff!important;
}
#juanchoChat .juancho-msg.bot{
  background:#102432!important;
  border:1px solid rgba(113,168,211,.17)!important;
  border-bottom-left-radius:5px!important;
}
#juanchoChat .juancho-msg.user{
  margin-left:auto!important;
  background:#8dd31c!important;
  color:#071009!important;
  border-bottom-right-radius:5px!important;
}

#juanchoChat .juancho-quick{
  flex:0 0 auto!important;
  display:flex!important;
  gap:7px!important;
  overflow-x:auto!important;
  padding:0 12px 9px!important;
  background:#07111a!important;
}
#juanchoChat .juancho-quick button{
  flex:0 0 auto!important;
  padding:7px 10px!important;
  border-radius:999px!important;
  border:1px solid rgba(145,208,27,.34)!important;
  background:rgba(145,208,27,.08)!important;
  color:#e9f3df!important;
  font-size:11px!important;
  cursor:pointer!important;
}

#juanchoChat .juancho-compose{
  flex:0 0 auto!important;
  display:flex!important;
  gap:8px!important;
  padding:11px!important;
  margin:0!important;
  background:#0a1621!important;
  border-top:1px solid rgba(255,255,255,.08)!important;
}
#juanchoChat .juancho-compose textarea{
  flex:1!important;
  width:auto!important;
  min-width:0!important;
  min-height:42px!important;
  max-height:90px!important;
  resize:none!important;
  padding:10px 11px!important;
  border-radius:13px!important;
  border:1px solid rgba(255,255,255,.14)!important;
  background:#102230!important;
  color:#fff!important;
  outline:none!important;
  font:13px/1.35 inherit!important;
}
#juanchoChat .juancho-compose textarea:focus{border-color:#8dd31c!important}
#juanchoChat .juancho-send{
  flex:0 0 44px!important;
  width:44px!important;
  min-width:44px!important;
  border:0!important;
  border-radius:13px!important;
  background:#8dd31c!important;
  color:#071009!important;
  font-size:19px!important;
  font-weight:800!important;
  cursor:pointer!important;
}

@media(max-width:700px){
  #nf-mascot-clean{width:clamp(75px,20vw,105px);right:5px;bottom:4px}
  #nf-pointing-text-clean{right:80%;bottom:62%;max-width:145px;font-size:10.5px;padding:7px 9px}
  #juanchoChat.juancho-chat{
    right:8px!important;
    bottom:8px!important;
    width:calc(100vw - 16px)!important;
    height:min(620px,calc(100dvh - 16px))!important;
    border-radius:18px!important;
  }
}


/* =========================================================
   RESTAURAR JUANCHO VISIBLE
   ========================================================= */
html body #nf-mascot-clean{
  display:block!important;
  position:fixed!important;
  right:16px!important;
  bottom:4px!important;
  width:clamp(110px,9vw,160px)!important;
  height:auto!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
  z-index:2147483000!important;
  overflow:visible!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Solo ocultarlo cuando el chat esté realmente abierto */
html body.juancho-chat-open #nf-mascot-clean{
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(14px) scale(.96)!important;
}

html body #nf-mascot-clean .nf-character-clean{
  display:block!important;
  position:relative!important;
  width:100%!important;
  height:auto!important;
  overflow:visible!important;
}

html body #nf-idle-clean,
html body #nf-greet-clean{
  display:block!important;
  width:100%!important;
  height:auto!important;
  max-width:none!important;
  opacity:1;
}

html body #nf-greet-clean{
  position:absolute!important;
  inset:0 auto auto 0!important;
  opacity:0!important;
}

html body #nf-mascot-clean.is-greeting #nf-idle-clean{
  opacity:0!important;
}
html body #nf-mascot-clean.is-greeting #nf-greet-clean{
  opacity:1!important;
}

@media(max-width:700px){
  html body #nf-mascot-clean{
    width:clamp(75px,20vw,105px)!important;
    right:5px!important;
    bottom:4px!important;
  }
}


/* ===== JUANCHO FINAL DETERMINISTA ===== */
#nf-mascot-clean{
  display:block!important;
  position:fixed!important;
  right:18px!important;
  bottom:8px!important;
  width:150px!important;
  z-index:2147483000!important;
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  cursor:pointer!important;
  background:transparent!important;
  border:0!important;
  outline:0!important;
}
#nf-mascot-clean .nf-character-clean{position:relative!important;width:100%!important;display:block!important}
#nf-idle-clean,#nf-greet-clean{display:block!important;width:100%!important;height:auto!important;border:0!important;background:transparent!important;pointer-events:none!important}
#nf-greet-clean{position:absolute!important;left:0!important;top:0!important;opacity:0!important}
#nf-mascot-clean.is-greeting #nf-idle-clean{opacity:0!important}
#nf-mascot-clean.is-greeting #nf-greet-clean{opacity:1!important}
body.juancho-chat-open #nf-mascot-clean{opacity:0!important;visibility:hidden!important;pointer-events:none!important}

#juanchoChat.juancho-chat{
  position:fixed!important;
  right:18px!important;
  bottom:18px!important;
  top:auto!important;
  left:auto!important;
  width:min(390px,calc(100vw - 28px))!important;
  height:min(610px,calc(100vh - 36px))!important;
  z-index:2147483646!important;
  display:flex!important;
  flex-direction:column!important;
  margin:0!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
  transform:translateY(14px) scale(.98)!important;
}
#juanchoChat.juancho-chat.open{
  opacity:1!important;
  visibility:visible!important;
  pointer-events:auto!important;
  transform:none!important;
}
@media(max-width:700px){
  #nf-mascot-clean{width:95px!important;right:8px!important;bottom:6px!important}
  #juanchoChat.juancho-chat{
    right:8px!important;bottom:8px!important;
    width:calc(100vw - 16px)!important;
    height:min(610px,calc(100vh - 16px))!important;
  }
}
