/* =====================================================================
   Watt 2.0 · asistente de Less Energy · widget flotante
   Evolución de watt.css (Watt 1): misma posición, apilado JUSTO ENCIMA del
   botón de WhatsApp (.wa-flot, 58 px), panel claro y naranja solo para
   acciones. Nuevo: avatar propio con estados, tarjetas de navegación,
   fuentes, contacto humano, reinicio y valoración.
   ===================================================================== */
.watt-raiz{
  --watt-naranja:#FF6A1A; --watt-naranja-osc:#D9520A;
  --watt-marino:#1C2566; --watt-marino-2:#3B4380; --watt-azul:#0060B1; --watt-tenue:#5E6690;
  --watt-linea:#E3E6F0; --watt-fondo:#FFFFFF; --watt-fondo-2:#F5F7FC; --watt-azul-suave:#EAF2FB;
  --watt-ok:#0060B1; --watt-aviso:#B26A00;
  --watt-derecha:20px; --watt-abajo:92px;
  --watt-fuente:var(--texto, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
  --watt-display:var(--display, var(--watt-fuente));
  font-family:var(--watt-fuente);
  -webkit-font-smoothing:antialiased;
}
.watt-raiz *,.watt-raiz *::before,.watt-raiz *::after{box-sizing:border-box}
/* aislamiento frente a los estilos de la web anfitriona (p, li, a, h2…) */
.watt-raiz p,.watt-raiz li,.watt-raiz h2,.watt-raiz h3,.watt-raiz ul{max-width:none; letter-spacing:normal; text-transform:none}
.watt-raiz .watt-msj p,.watt-raiz .watt-msj li{font:inherit; color:inherit; margin:0 0 6px}
.watt-raiz .watt-msj p:last-child{margin:0}
.watt-oculto-vis{position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap}

/* ---------- avatar (SVG propio) ---------- */
.watt-avatar{display:block; flex:none}
.watt-avatar .wa-fondo{fill:var(--watt-marino)}
.watt-avatar .wa-anillo{fill:none; stroke:var(--watt-azul); stroke-width:2.2}
.watt-avatar .wa-arco{fill:none; stroke:var(--watt-naranja); stroke-width:2.6; stroke-linecap:round; stroke-dasharray:22 200; opacity:0; transform-origin:24px 24px}
.watt-avatar .wa-pulso{fill:none; stroke:#fff; stroke-width:3.4; stroke-linecap:round; stroke-linejoin:round; stroke-dasharray:60; stroke-dashoffset:0}
.watt-avatar .wa-chispa{fill:var(--watt-naranja); stroke:var(--watt-marino); stroke-width:1.6; transform-origin:35px 13px}
/* estados (data-estado en .watt-raiz) */
.watt-raiz[data-estado="escuchando"] .wa-chispa{animation:watt-latido 1.4s ease-in-out infinite}
.watt-raiz[data-estado="pensando"] .wa-pulso{stroke-dasharray:10 6; animation:watt-flujo 1s linear infinite}
.watt-raiz[data-estado="consultando"] .wa-arco{opacity:1; animation:watt-gira 1.1s linear infinite}
.watt-raiz[data-estado="consultando"] .wa-pulso{opacity:.85}
.watt-raiz[data-estado="respondiendo"] .wa-chispa{animation:watt-latido .7s ease-in-out 2}
.watt-raiz[data-estado="error"] .wa-chispa{fill:#F2B233}
.watt-raiz[data-estado="error"] .wa-pulso{stroke:#C9CFE6}
.watt-raiz[data-estado="derivacion"] .wa-anillo{stroke:var(--watt-naranja)}
@keyframes watt-latido{0%,100%{transform:scale(1)}50%{transform:scale(1.35)}}
@keyframes watt-flujo{to{stroke-dashoffset:-32}}
@keyframes watt-gira{to{transform:rotate(360deg)}}

/* ---------- lanzador ---------- */
.watt-lanzador{
  position:fixed; right:var(--watt-derecha); bottom:calc(var(--watt-abajo) + env(safe-area-inset-bottom, 0px)); z-index:2147483000;
  display:inline-flex; align-items:center; gap:9px; min-height:52px; padding:0 20px 0 8px; border:0; border-radius:999px;
  background:var(--watt-marino); color:#fff; cursor:pointer; font:600 15px/1 var(--watt-fuente); letter-spacing:.01em;
  box-shadow:0 12px 28px -10px rgba(12,18,60,.6), 0 0 0 2px rgba(255,106,26,.9);
  transition:transform .18s ease, box-shadow .18s ease;
}
.watt-lanzador:hover{transform:translateY(-1px); box-shadow:0 16px 32px -10px rgba(12,18,60,.65), 0 0 0 2px var(--watt-naranja)}
.watt-lanzador:focus-visible{outline:3px solid #fff; outline-offset:3px}
.watt-lanzador .watt-avatar{width:36px; height:36px}
.watt-lanzador .wa-fondo{fill:#0F1647}
.watt-lanzador[aria-expanded="true"]{opacity:0; pointer-events:none; transform:scale(.9)}

/* ---------- panel ---------- */
.watt-panel{
  position:fixed; right:var(--watt-derecha); bottom:calc(var(--watt-abajo) + env(safe-area-inset-bottom, 0px)); z-index:2147483001;
  width:min(420px, calc(100vw - 32px)); height:min(660px, calc(100vh - var(--watt-abajo) - 28px));
  display:flex; flex-direction:column; overflow:hidden; background:var(--watt-fondo); color:var(--watt-marino);
  border:1px solid var(--watt-linea); border-radius:18px;
  box-shadow:0 30px 70px -20px rgba(12,18,60,.45), 0 8px 20px -8px rgba(12,18,60,.25);
  transform-origin:bottom right; animation:watt-entra .22s cubic-bezier(.2,.8,.2,1);
}
.watt-panel[hidden]{display:none}
@keyframes watt-entra{from{opacity:0; transform:translateY(8px) scale(.98)} to{opacity:1; transform:none}}

.watt-cab{display:flex; align-items:center; gap:10px; padding:12px 6px 12px 14px; border-bottom:1px solid var(--watt-linea); background:#fff}
.watt-cab .watt-avatar{width:42px; height:42px}
.watt-cab-txt{flex:1; min-width:0}
.watt-titulo{margin:0; font:700 16px/1.2 var(--watt-display); color:var(--watt-marino); letter-spacing:-.01em}
.watt-titulo small{font:500 11.5px/1 var(--watt-fuente); color:var(--watt-azul); background:var(--watt-azul-suave); border-radius:6px; padding:3px 6px; margin-left:6px; vertical-align:2px}
.watt-estado{margin:3px 0 0; font:400 12.5px/1.3 var(--watt-fuente); color:var(--watt-tenue); white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.watt-estado::before{content:""; display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--watt-ok); margin-right:6px; vertical-align:1px}
.watt-raiz[data-estado="pensando"] .watt-estado::before,.watt-raiz[data-estado="respondiendo"] .watt-estado::before{background:var(--watt-azul)}
.watt-raiz[data-estado="consultando"] .watt-estado::before,.watt-raiz[data-estado="derivacion"] .watt-estado::before{background:var(--watt-naranja)}
.watt-raiz[data-estado="error"] .watt-estado::before{background:#E0A100}
.watt-icono{width:40px; height:44px; flex:none; border:0; border-radius:12px; background:transparent; color:var(--watt-marino-2); cursor:pointer; display:grid; place-items:center}
.watt-icono:hover{background:var(--watt-fondo-2)}
.watt-raiz button:focus-visible,.watt-raiz a:focus-visible,.watt-raiz input:focus-visible,.watt-raiz select:focus-visible,.watt-raiz textarea:focus-visible,.watt-log:focus-visible{outline:2px solid var(--watt-naranja); outline-offset:2px}

/* ---------- conversación ---------- */
.watt-log{flex:1; overflow-y:auto; padding:16px 14px 8px; background:var(--watt-fondo-2); scroll-behavior:smooth; overscroll-behavior:contain}
.watt-fila{display:flex; gap:8px; align-items:flex-start; margin:0 0 10px}
.watt-fila .watt-avatar{width:26px; height:26px; margin-top:2px}
.watt-fila.watt-yo{justify-content:flex-end}
.watt-msj{max-width:86%; padding:10px 13px; border-radius:14px; font:400 14.5px/1.5 var(--watt-fuente); word-wrap:break-word; overflow-wrap:anywhere}
.watt-msj p{margin:0 0 6px} .watt-msj p:last-child{margin:0}
.watt-msj strong{font-weight:650}
.watt-bot .watt-msj{background:#fff; color:var(--watt-marino); border:1px solid var(--watt-linea); border-top-left-radius:4px}
.watt-yo .watt-msj{background:var(--watt-marino); color:#fff; border-top-right-radius:4px}
.watt-msj ul{margin:4px 0 6px; padding-left:18px}
.watt-msj a.watt-link{color:var(--watt-azul); text-decoration:underline; text-underline-offset:2px}
.watt-msj a.watt-boton{display:inline-flex; align-items:center; gap:6px; min-height:40px; margin:8px 6px 0 0; padding:9px 14px; border-radius:10px;
  background:var(--watt-marino); color:#fff; text-decoration:none; font:600 13.5px/1.2 var(--watt-fuente)}
.watt-msj a.watt-boton::after{content:"\2192"; font-weight:400}
.watt-identidad{margin:-2px 0 12px 34px; font:italic 500 12.5px/1.4 var(--watt-fuente); color:var(--watt-azul)}
.watt-escribiendo{display:inline-flex; gap:4px; padding:13px 14px}
.watt-escribiendo i{width:6px; height:6px; border-radius:50%; background:var(--watt-tenue); animation:watt-pulso 1s infinite ease-in-out}
.watt-escribiendo i:nth-child(2){animation-delay:.15s} .watt-escribiendo i:nth-child(3){animation-delay:.3s}
@keyframes watt-pulso{0%,80%,100%{opacity:.25; transform:translateY(0)} 40%{opacity:1; transform:translateY(-3px)}}

/* eventos de herramienta (solo cuando el servidor confirma que se ha consultado algo) */
.watt-eventos{margin:0 0 8px 34px; display:flex; flex-wrap:wrap; gap:6px}
.watt-chip{display:inline-flex; align-items:center; gap:6px; padding:5px 10px; border-radius:999px; background:var(--watt-azul-suave); color:var(--watt-azul); font:500 12px/1.2 var(--watt-fuente)}
.watt-chip::before{content:""; width:7px; height:7px; border-radius:50%; background:var(--watt-naranja)}
.watt-chip.hecho::before{background:var(--watt-ok)}

/* fuentes y tarjetas */
.watt-fuentes{margin:8px 0 0; padding-top:7px; border-top:1px dashed var(--watt-linea); font:400 12px/1.45 var(--watt-fuente); color:var(--watt-tenue)}
.watt-fuentes a{color:var(--watt-tenue)}
.watt-tarjetas{display:flex; flex-direction:column; gap:8px; margin:0 0 10px 34px}
.watt-tarjeta{display:flex; align-items:center; gap:10px; min-height:48px; padding:10px 12px; border-radius:12px; background:#fff; border:1px solid var(--watt-linea);
  color:var(--watt-marino); text-decoration:none; font:600 14px/1.3 var(--watt-fuente)}
.watt-tarjeta:hover{border-color:var(--watt-azul)}
.watt-tarjeta span{flex:1}
.watt-tarjeta em{font:400 12px/1.3 var(--watt-fuente); color:var(--watt-tenue); font-style:normal; display:block}
.watt-tarjeta::after{content:"\2192"; color:var(--watt-naranja); font-weight:700}
.watt-tarjeta.derivar{background:var(--watt-marino); color:#fff; border-color:var(--watt-marino)}
.watt-tarjeta.derivar em{color:#C9D3F2}

.watt-sugerencias{display:flex; flex-direction:column; gap:8px; margin:2px 0 12px 34px}
.watt-sug{min-height:44px; padding:10px 14px; text-align:left; border:1px solid #D6DBEB; border-radius:12px; background:#fff; color:var(--watt-marino); cursor:pointer; font:500 14px/1.35 var(--watt-fuente); transition:border-color .15s, background-color .15s}
.watt-sug:hover{border-color:var(--watt-naranja); background:#FFF6F0}

.watt-valorar{display:flex; align-items:center; gap:6px; margin:-4px 0 10px 34px; font:400 12px/1 var(--watt-fuente); color:var(--watt-tenue)}
.watt-valorar button{min-width:44px; min-height:32px; border:1px solid var(--watt-linea); border-radius:8px; background:#fff; color:var(--watt-marino); cursor:pointer; font:500 12px/1 var(--watt-fuente)}
.watt-valorar button[aria-pressed="true"]{background:var(--watt-azul-suave); border-color:var(--watt-azul)}

.watt-accion{display:flex; flex-wrap:wrap; gap:8px; margin:0 0 10px 34px}
.watt-btn-datos,.watt-btn-wa{min-height:44px; padding:10px 16px; border-radius:12px; cursor:pointer; font:600 14px/1 var(--watt-fuente); text-decoration:none; display:inline-flex; align-items:center; gap:8px}
.watt-btn-datos{border:1.5px solid var(--watt-naranja); background:#fff; color:var(--watt-naranja-osc)}
.watt-btn-datos:hover{background:#FFF6F0}
.watt-btn-wa{border:0; background:#128C4A; color:#fff}
.watt-reintentar{min-height:40px; padding:8px 14px; border:1px solid var(--watt-linea); border-radius:10px; background:#fff; color:var(--watt-marino); cursor:pointer; font:600 13px/1 var(--watt-fuente)}
.watt-confirmar{margin:0 0 10px; padding:12px; border-radius:12px; background:#fff; border:1px solid var(--watt-linea); font:400 13.5px/1.4 var(--watt-fuente)}
.watt-confirmar div{display:flex; gap:8px; margin-top:8px}

/* ---------- caja de texto ---------- */
.watt-pie{border-top:1px solid var(--watt-linea); background:#fff; padding:10px 12px 8px}
.watt-form-chat{display:flex; align-items:flex-end; gap:8px}
.watt-entrada{flex:1; min-height:44px; max-height:120px; resize:none; padding:11px 12px; border:1px solid #D6DBEB; border-radius:12px; font:400 15px/1.4 var(--watt-fuente); color:var(--watt-marino); background:#fff}
.watt-entrada::placeholder{color:#7D84A6}
.watt-enviar{width:44px; height:44px; flex:none; border:0; border-radius:12px; background:var(--watt-naranja); color:#fff; cursor:pointer; display:grid; place-items:center}
.watt-enviar:hover{background:var(--watt-naranja-osc)}
.watt-enviar:disabled{background:#F3B590; cursor:not-allowed}
.watt-aviso{margin:8px 2px 0; font:400 11.5px/1.4 var(--watt-fuente); color:var(--watt-tenue)}
.watt-aviso a{color:var(--watt-marino-2)}

/* ---------- formulario de contacto ---------- */
.watt-contacto{background:#fff; border:1px solid var(--watt-linea); border-radius:14px; padding:14px; margin:0 0 12px}
.watt-contacto h3{margin:0 0 10px; font:700 14.5px/1.3 var(--watt-display); color:var(--watt-marino)}
.watt-campo{display:block; margin:0 0 10px}
.watt-campo span{display:block; margin:0 0 4px; font:600 12.5px/1.2 var(--watt-fuente); color:var(--watt-marino-2)}
.watt-campo input,.watt-campo select,.watt-campo textarea{width:100%; min-height:44px; padding:10px 12px; border:1px solid #D6DBEB; border-radius:10px; font:400 15px/1.3 var(--watt-fuente); color:var(--watt-marino); background:#fff}
.watt-campo textarea{min-height:64px; resize:vertical}
.watt-campo [aria-invalid="true"]{border-color:#C8321E}
.watt-err{display:block; margin-top:4px; font:500 12px/1.3 var(--watt-fuente); color:#C8321E}
.watt-check{display:flex; gap:10px; align-items:flex-start; margin:4px 0 12px; font:400 12.5px/1.45 var(--watt-fuente); color:var(--watt-marino-2); cursor:pointer}
.watt-check input{width:20px; height:20px; margin:1px 0 0; flex:none; accent-color:var(--watt-naranja)}
.watt-trampa{position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden}
.watt-fila-btn{display:flex; gap:8px}
.watt-btn-prim{flex:1; min-height:44px; border:0; border-radius:12px; background:var(--watt-naranja); color:#fff; cursor:pointer; font:600 14.5px/1 var(--watt-fuente)}
.watt-btn-prim:disabled{opacity:.6; cursor:wait}
.watt-btn-sec{min-height:44px; padding:0 14px; border:1px solid #D6DBEB; border-radius:12px; background:#fff; color:var(--watt-marino); cursor:pointer; font:500 14px/1 var(--watt-fuente)}

/* ---------- móvil ---------- */
@media (max-width:600px){
  .watt-raiz{--watt-derecha:21px; --watt-abajo:88px}
  .watt-lanzador{width:56px; height:56px; padding:0; justify-content:center}
  .watt-lanzador .watt-avatar{width:44px; height:44px}
  .watt-lanzador .watt-lanzador-txt{position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0)}
  .watt-panel{inset:0; right:0; bottom:0; width:100%; height:100%; height:100dvh; border-radius:0; border:0}
  .watt-cab{padding-top:calc(10px + env(safe-area-inset-top, 0px))}
  .watt-pie{padding-bottom:calc(8px + env(safe-area-inset-bottom, 0px))}
  .watt-entrada,.watt-campo input,.watt-campo select,.watt-campo textarea{font-size:16px}
  .watt-tarjetas,.watt-sugerencias,.watt-eventos,.watt-accion,.watt-valorar{margin-left:0}
  .watt-identidad{margin-left:0}
}

@media (prefers-reduced-motion:reduce){
  .watt-panel{animation:none}
  .watt-lanzador,.watt-sug{transition:none}
  .watt-lanzador:hover{transform:none}
  .watt-escribiendo i,.watt-avatar *{animation:none !important}
  .watt-raiz[data-estado="consultando"] .wa-arco{stroke-dasharray:none; opacity:.9}
  .watt-log{scroll-behavior:auto}
}
@media print{.watt-raiz{display:none !important}}
/* Nivel identificado (31/10/2026) */
.watt-registro{border-color:#C9D2EA}
.watt-registro-nota{margin:-4px 0 12px; font:400 12.5px/1.45 var(--watt-fuente); color:var(--watt-marino-2)}
.watt-registro .watt-check + .watt-check{margin-top:-4px}
