/* Demo en línea (demo_web.php y ventana del index). Todo va bajo .dw / .dw-modal para no tocar el resto del sitio. */
.dw{--ink:#013339;--green:#007140;--lime:#8CBF34;--cream:#F6F8E3;--bg:#fbfdf7;--card:#fff;--muted:#5b6f6a;--line:#dfe8dc;font-family:'Plus Jakarta Sans',system-ui,sans-serif;color:var(--ink);line-height:1.5}
.dw *{box-sizing:border-box}
.dw-h1{font-size:clamp(1.25rem,3.6vw,1.6rem);line-height:1.2;margin:0 0 8px;font-weight:800}
.dw-h1 span{color:var(--green)}
.dw-sub{color:var(--muted);margin:0 0 18px}
.dw-card{background:var(--card);border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:0 8px 28px rgba(1,51,57,.08)}
.dw label{display:block;font-weight:800;font-size:.85rem;margin:14px 0 6px}
.dw-hint{font-weight:400;color:var(--muted);font-size:.8rem}
.dw input,.dw textarea{width:100%;font:inherit;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:12px;padding:12px 14px}
.dw input:focus,.dw textarea:focus{outline:2px solid var(--lime);border-color:transparent}
.dw textarea{min-height:150px;resize:vertical}
.dw-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:560px){.dw-row{grid-template-columns:1fr}}
.dw-tools{display:flex;gap:10px;align-items:center;margin-top:8px;flex-wrap:wrap}
.dw-vozcard{margin-top:4px;border-radius:20px;overflow:hidden;color:#fff;background:linear-gradient(135deg,#013339 0%,#007140 100%);box-shadow:0 8px 24px rgba(0,113,64,.28);transition:background .25s,box-shadow .25s}
.dw-vozcard.dw-grabando{background:linear-gradient(135deg,#7a1d12 0%,#c0392b 100%);box-shadow:0 8px 24px rgba(192,57,43,.35)}
.dw-mic{display:flex;align-items:center;gap:16px;width:100%;border:0;cursor:pointer;font:inherit;text-align:left;color:inherit;background:transparent;padding:18px 20px}
.dw-mic[hidden]{display:none}
.dw-mic:disabled{cursor:wait;opacity:.8}
.dw-mic-icono{flex:0 0 60px;height:60px;border-radius:50%;background:#8CBF34;color:#013339;display:flex;align-items:center;justify-content:center;font-size:24px;transition:background .25s,color .25s}
.dw-vozcard.dw-grabando .dw-mic-icono{background:#fff;color:#c0392b;animation:dw-pulso 1.1s infinite}
@keyframes dw-pulso{0%{box-shadow:0 0 0 0 rgba(255,255,255,.7)}100%{box-shadow:0 0 0 18px rgba(255,255,255,0)}}
.dw-mic-txt strong{display:block;font-size:1.25rem;line-height:1.2}
.dw-mic-txt small{display:block;opacity:.85;font-size:.85rem;margin-top:2px}
.dw-escucha{margin:0 16px 16px;padding:10px 14px;border-radius:14px;background:rgba(0,0,0,.2)}
.dw-escucha[hidden],.dw-trans[hidden]{display:none}
.dw-ondas{display:block;width:100%;height:36px}
.dw-escucha-pie{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;color:rgba(255,255,255,.85);font-size:.85rem;margin-top:6px}
.dw-escucha-pie b{color:#fff}
.dw-punto{font-size:.6rem;vertical-align:middle;animation:dw-parpadeo 1s infinite}
@keyframes dw-parpadeo{50%{opacity:.25}}
.dw-cancelar{border:1.5px solid rgba(255,255,255,.7);background:transparent;color:#fff;font:inherit;font-weight:800;font-size:.8rem;border-radius:999px;padding:6px 14px;cursor:pointer}
.dw-cancelar:hover{background:rgba(255,255,255,.15)}
.dw-trans{margin:0 16px 16px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.2);border-radius:14px;padding:14px;font-weight:600}
.dw-spin{width:18px;height:18px;border:3px solid rgba(255,255,255,.35);border-top-color:#fff;border-radius:50%;animation:dw-gira .8s linear infinite;flex:0 0 auto}
@keyframes dw-gira{to{transform:rotate(360deg)}}
.dw-o{text-align:center;margin:12px 0 6px}
.dw-btn{border:0;cursor:pointer;font:inherit;font-weight:800;border-radius:999px;padding:14px 26px;background:linear-gradient(135deg,#007140,#4f9a46);color:#fff;font-size:1rem}
.dw-btn:disabled{opacity:.6;cursor:wait}
.dw-btn.dw-sec{background:transparent;color:var(--green);border:2px solid var(--green);padding:10px 18px;font-size:.9rem}
.dw-btn.dw-big{display:block;width:100%;text-align:center;text-decoration:none;margin-top:16px}
.dw-err{display:none;margin-top:14px;padding:12px 14px;border-radius:12px;background:#fdecea;color:#8a1f17;font-weight:600}
.dw-trap{position:absolute!important;left:-9999px;opacity:0;width:1px!important}
.dw-ok{display:none;text-align:center}
.dw-ok h2{font-size:1.6rem;margin:6px 0}
.dw-qr{display:inline-block;padding:12px;background:#fff;border-radius:16px;margin:14px 0 6px}
.dw-num{font-size:1.5rem;font-weight:800;color:var(--green)}
.dw-rules{margin:16px 0 0;padding:0;list-style:none;text-align:left;color:var(--muted);font-size:.9rem}
.dw-rules li{padding:6px 0 6px 26px;position:relative}
.dw-rules li:before{content:"✓";position:absolute;left:0;color:var(--green);font-weight:800}
.dw-rules a{color:var(--green);font-weight:800}
.dw-ask{background:var(--cream);border-radius:14px;padding:12px 14px;margin-top:14px;text-align:left;font-size:.92rem}

/* Página completa */
.dw-page{background:#fbfdf7;margin:0;min-height:100vh}
.dw-page-wrap{max-width:720px;margin:0 auto;padding:20px 16px 48px}
.dw-page-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.dw-page-top a{color:#007140;font-weight:800;text-decoration:none}

/* Ventana sobre el index: fondo borroso, bloquea la página */
.dw-modal{position:fixed;inset:0;z-index:2000;display:flex;align-items:center;justify-content:center;padding:16px;background:rgba(1,51,57,.45);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);opacity:0;pointer-events:none;transition:opacity .25s}
.dw-modal.dw-abierto{opacity:1;pointer-events:auto}
.dw-modal-caja{position:relative;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;background:#fbfdf7;border-radius:24px;padding:26px 22px 22px;box-shadow:0 24px 60px rgba(1,51,57,.35);transform:translateY(12px);transition:transform .25s}
.dw-modal.dw-abierto .dw-modal-caja{transform:none}
.dw-modal-x{position:absolute;top:12px;right:14px;border:0;background:transparent;font-size:28px;line-height:1;color:#5b6f6a;cursor:pointer;padding:4px 10px}
.dw-cargando{padding:60px 0;text-align:center;color:#5b6f6a;font-family:'Plus Jakarta Sans',system-ui,sans-serif}
body.dw-sin-scroll{overflow:hidden}

.dw-logo{display:block;height:52px;width:auto;margin:6px auto 22px;padding-bottom:22px;border-bottom:1px solid var(--line);box-sizing:content-box}
.dw-logo-c{margin:0 auto 10px}

/* Tarjetas guía: qué información darle a la IA (cápsulas chicas con ícono) */
.dw-guia{margin:0 0 12px;padding:12px 14px;border:1px dashed var(--lime);background:var(--cream);border-radius:16px}
.dw-guia-t{margin:0 0 10px;font-size:.85rem;color:var(--ink)}
.dw-chips{display:flex;flex-wrap:wrap;gap:8px}
.dw .dw-chip{display:inline-flex;align-items:center;gap:8px;width:auto;font:inherit;font-size:.8rem;font-weight:700;color:var(--ink);background:#fff;border:1px solid var(--line);border-radius:999px;padding:4px 12px 4px 4px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.dw .dw-chip i{display:inline-flex;align-items:center;justify-content:center;flex:none;width:24px;height:24px;border-radius:50%;background:var(--lime);color:var(--ink);font-size:.72rem}
.dw .dw-chip:hover{border-color:var(--green)}
.dw .dw-chip.dw-chip-on{background:var(--green);border-color:var(--green);color:#fff}
.dw .dw-chip.dw-chip-on i{background:#fff;color:var(--green)}

/* Voz primero: "o prefieres escribir" despliega texto, tarjetas y redes; la tarjeta de voz se encoge */
.dw .dw-escribir{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;margin:10px 0 0;padding:8px;background:none;border:0;border-radius:12px;color:var(--green);font:inherit;font-weight:800;font-size:.85rem;cursor:pointer}
.dw .dw-escribir:hover{background:var(--cream)}
.dw-flecha{font-size:.7rem;transition:transform .2s}
.dw-escribir[aria-expanded="true"] .dw-flecha{transform:rotate(180deg)}
.dw .dw-escribir[hidden],.dw-escribir-caja[hidden],.dw-vozcard[hidden]{display:none}
.dw-escribir-caja{margin-top:4px}
.dw-escribir-caja textarea{min-height:110px}
.dw-vozcard.dw-compacta{border-radius:16px;box-shadow:0 4px 14px rgba(0,113,64,.2)}
.dw-vozcard.dw-compacta .dw-mic{padding:8px 14px;gap:12px}
.dw-vozcard.dw-compacta .dw-mic-icono{flex-basis:38px;height:38px;font-size:15px}
.dw-vozcard.dw-compacta .dw-mic-txt strong{font-size:1rem}
.dw-vozcard.dw-compacta .dw-mic-txt small{display:none}
.dw-guia{padding:10px 12px;margin-bottom:10px}

/* Guía hablada dentro del cuadro de grabación */
.dw-tip{display:flex;align-items:center;gap:10px;margin:0 0 8px;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.16);color:#fff;font-weight:700;font-size:.9rem;cursor:pointer}
.dw-tip-i{flex:0 0 28px;height:28px;border-radius:50%;background:#fff;color:#c0392b;display:flex;align-items:center;justify-content:center;font-size:.8rem}
.dw-tip-pts{display:flex;justify-content:center;gap:6px;margin-top:6px}
.dw-tip-pts i{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.35)}
.dw-tip-pts i.on{background:#fff}
.dw-escucha{padding:8px 12px}

/* Título y subtítulo del formulario, centrados */
.dw [data-dw-paso="form"] .dw-h1,.dw [data-dw-paso="form"] .dw-sub{text-align:center}

/* ── Llamada con la IA (pantalla completa) ── */
body.dw-call-abierta{overflow:hidden}
.dw-call,.dw-call *{font-family:'Plus Jakarta Sans',system-ui,-apple-system,'Segoe UI',sans-serif}
.dw-call i.fa-solid,.dw-call .fa-solid{font-family:'Font Awesome 6 Free'!important;font-weight:900!important;font-style:normal}
.dw-call{position:fixed;inset:0;z-index:99999;background:linear-gradient(160deg,#0f3a30,#1f5a45);color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px;text-align:center}
.dw-call-top{position:absolute;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:16px 18px;font-weight:700;font-size:.95rem}
.dw-call-top button{background:rgba(255,255,255,.14);color:#fff;border:0;border-radius:999px;padding:9px 14px;font-size:.82rem;font-weight:700;cursor:pointer}
.dw-call-orb{position:relative;width:132px;height:132px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#c4ec7a,#4f9a3a);display:flex;align-items:center;justify-content:center;font-size:44px;color:#0f3a30;margin-bottom:26px;will-change:transform}
.dw-call-orb::before,.dw-call-orb::after{content:"";position:absolute;inset:0;border-radius:50%;border:2px solid rgba(196,236,122,.55);opacity:0;pointer-events:none}
.dw-call-orb.habla{animation:dwlatido 1.6s ease-in-out infinite}
.dw-call-orb.piensa{animation:dwlatido 1.1s ease-in-out infinite;opacity:.85}
.dw-call-orb.escucha::before{animation:dwonda 1.8s ease-out infinite}
.dw-call-orb.escucha::after{animation:dwonda 1.8s ease-out .9s infinite}
.dw-call-estado{font-size:.95rem;opacity:.8;margin-bottom:10px}
.dw-call-q{font-size:1.55rem;font-weight:800;line-height:1.25;max-width:520px;min-height:4.6em}
.dw-call-pts{display:flex;gap:8px;margin:14px 0 22px}
.dw-call-pts i{width:9px;height:9px;border-radius:50%;background:rgba(255,255,255,.28)}
.dw-call-pts i.on{background:#c4ec7a}
.dw-call-listo{background:#c4ec7a;color:#0f3a30;border:0;border-radius:999px;padding:14px 26px;font-weight:800;font-size:1rem;cursor:pointer}
.dw-call-listo[hidden]{display:none}
@keyframes dwlatido{0%,100%{transform:scale(1)}50%{transform:scale(1.12)}}
@keyframes dwonda{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.9);opacity:0}}
