#asesor-launch { position:fixed;left:20px;bottom:88px;z-index:1035;display:flex;align-items:center;gap:10px;background:#222832;color:#fff;border:1px solid #555b65;border-radius:30px;padding:14px 19px;font:650 12px/1.2 system-ui,sans-serif;letter-spacing:.5px;box-shadow:0 6px 24px #0003; }
#asesor-launch span { color:#ffb4bb;font-size:23px; }
#asesor-launch:hover { background:#a72135; }
#asesor-panel { width:min(920px,calc(100vw - 24px));max-height:calc(100dvh - 32px);border:0;border-radius:22px;padding:0;color:#272b33;box-shadow:0 24px 90px #0004;font:400 14px/1.5 system-ui,sans-serif; }
#asesor-panel::backdrop { background:#10172299;backdrop-filter:blur(4px); }
#asesor-panel header { display:flex;justify-content:space-between;align-items:center;padding:24px 28px;background:#252a33;color:white; }
#asesor-panel h2 { font:650 24px/1.25 system-ui,sans-serif;margin:5px 0 0; }
#asesor-panel .asesor-eyebrow { font-size:10px;letter-spacing:1.5px;color:#ffc9cf; }
#asesor-panel .asesor-close { border:0;background:transparent;color:white;font-size:30px;padding:0 8px; }
#asesor-panel .asesor-body { padding:24px 28px; }
#asesor-panel label { display:block;font-weight:650;margin-bottom:8px; }
#asesor-panel textarea { width:100%;border:1px solid #ced2db;border-radius:12px;padding:13px;font:inherit;resize:vertical;min-height:95px; }
#asesor-panel :focus-visible,#asesor-launch:focus-visible { outline:3px solid #cc3c52;outline-offset:3px; }
#asesor-panel .asesor-examples { display:flex;gap:6px;flex-wrap:wrap;margin:10px 0 16px; }
#asesor-panel .asesor-examples button { border:1px solid #e1e3e8;border-radius:20px;background:#f5f6f8;padding:6px 10px;font-size:11px;color:#535b67; }
#asesor-panel .asesor-search { width:100%;border:0;border-radius:10px;background:#b2253b;color:white;padding:13px;font-weight:650; }
#asesor-panel .asesor-search:disabled { opacity:.6;cursor:wait; }
#asesor-panel form>small { display:block;color:#6c7380;font-size:11px;margin:10px 0; }
#asesor-status { margin:20px 0 10px;font-weight:550; }
#asesor-panel .asesor-chips { display:flex;gap:6px;flex-wrap:wrap;margin-bottom:12px; }
#asesor-panel .asesor-chips span { border-radius:8px;background:#f1f3f6;padding:5px 9px;font-size:11px; }
#asesor-panel .asesor-note,#asesor-panel .asesor-empty { background:#fff6e8;padding:12px;border-radius:10px; }
#asesor-panel h3 { font-size:17px;margin:20px 0 14px; }
#asesor-panel .asesor-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px; }
#asesor-panel .asesor-card { border:1px solid #e4e6eb;border-radius:14px;padding:15px;display:flex;flex-direction:column;gap:7px; }
#asesor-panel .asesor-card img { width:100%;height:130px;object-fit:contain; }
#asesor-panel .asesor-card h4 { font:650 15px/1.4 system-ui,sans-serif;margin:0; }
#asesor-panel .asesor-card small { font-size:11px;color:#667080; }
#asesor-panel .asesor-card .asesor-stock { color:#24704c; }
#asesor-panel .asesor-price { margin:0;display:flex;flex-wrap:wrap;gap:5px;align-items:center; }
#asesor-panel .asesor-price strong { font-size:19px; }
#asesor-panel .asesor-price s { color:#737984;font-size:12px; }
#asesor-panel .asesor-card ul { padding-left:15px;font-size:11px;color:#606774; }
#asesor-panel .asesor-card button { margin-top:auto;border:1px solid #cfd3dc;border-radius:8px;background:white;padding:9px;font-weight:600; }
#asesor-panel details { font-size:11px; }
@media(max-width:600px) { #asesor-launch { left:12px;bottom:82px;padding:10px 14px;font-size:10px; } #asesor-panel .asesor-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:10px; } #asesor-panel header,#asesor-panel .asesor-body { padding:18px; } #asesor-panel h2 { font-size:20px; } #asesor-panel .asesor-card { padding:10px; } #asesor-panel .asesor-card img { height:100px; } #asesor-panel .asesor-price strong { font-size:16px; } }
#asesor-panel .asesor-options { display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:18px; }
#asesor-panel .asesor-options label { display:flex;align-items:center;gap:6px;font-size:12px;margin:0;font-weight:500; }
#asesor-panel .asesor-options input { accent-color:#b2253b; }
#asesor-panel .asesor-options button,#asesor-panel .asesor-voice-row button { border:1px solid #d9dde5;border-radius:8px;background:#f7f8fa;padding:8px 11px;font-size:12px;color:#343b47; }
#asesor-panel #asesor-chat { max-height:290px;overflow:auto;overscroll-behavior:contain;padding:3px 5px 8px;margin-bottom:18px; }
#asesor-panel .asesor-message { max-width:92%;padding:12px 15px;border-radius:14px;margin:0 0 12px;background:#f0f2f6; }
#asesor-panel .asesor-message strong { font-size:11px;color:#596273; }
#asesor-panel .asesor-message p { white-space:pre-wrap;margin:5px 0;line-height:1.6; }
#asesor-panel .asesor-message.user { margin-left:auto;background:#fceef0; }
#asesor-panel .asesor-message.failed { border:1px solid #b2253b; }
#asesor-panel .asesor-message button { border:0;background:transparent;color:#9e2034;font-size:12px;padding:5px 0; }
#asesor-panel .asesor-voice-row { display:flex;gap:10px;align-items:center;margin:8px 0; }
#asesor-panel #asesor-voice-status { font-size:11px;color:#647080; }
#asesor-panel #asesor-mic[aria-pressed=true] { background:#b2253b;color:white;border-color:#b2253b; }
#asesor-panel #asesor-mic:disabled { opacity:.5; }
#asesor-panel #asesor-stop-voice[hidden] { display:none; }
@media(max-width:600px){#asesor-panel #asesor-chat { max-height:240px; } #asesor-panel .asesor-message { max-width:100%; } #asesor-panel .asesor-voice-row { align-items:flex-start; } }
/* Acceso destacado al asesor. */
#asesor-launch { background:linear-gradient(135deg,#ef243e,#b30e2d);border:2px solid #fff;color:#fff;padding:17px 24px;gap:12px;font-size:14px;font-weight:800;letter-spacing:.6px;box-shadow:0 8px 28px #bd153b66;animation:asesor-halo 3s ease-in-out infinite; }
#asesor-launch span { display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#ffffff26;color:#fff;font-size:27px; }
#asesor-launch:hover { background:linear-gradient(135deg,#ff3852,#cb1234);transform:translateY(-2px); }
@keyframes asesor-halo { 0%,100% { box-shadow:0 8px 28px #bd153b66,0 0 0 0 #ee254033; } 60% { box-shadow:0 10px 30px #bd153b66,0 0 0 9px #ee254000; } }
@media(max-width:600px){#asesor-launch { padding:12px 17px;font-size:12px;gap:9px; } #asesor-launch span { width:28px;height:28px;font-size:23px; }}
@media(prefers-reduced-motion:reduce){#asesor-launch { animation:none; } #asesor-launch:hover { transform:none; }}
/* Entrada diagonal desde la esquina superior derecha hasta el acceso flotante. */
#asesor-launch.asesor-entrada { animation:asesor-vuelo 1.7s cubic-bezier(.22,.68,.2,1) both; }
@keyframes asesor-vuelo {
 from { transform:translate(calc(100vw - 100% - 40px),calc(-100vh + 100% + 108px)) scale(.8);opacity:0; }
 12% { opacity:1; }
 to { transform:translate(0,0) scale(1);opacity:1; }
}
@media(max-width:600px){
 @keyframes asesor-vuelo {
  from { transform:translate(calc(100vw - 100% - 24px),calc(-100vh + 100% + 94px)) scale(.8);opacity:0; }
  12% { opacity:1; }
  to { transform:translate(0,0) scale(1);opacity:1; }
 }
}
@media(prefers-reduced-motion:reduce){#asesor-launch.asesor-entrada { animation:none; }}
#asesor-panel .asesor-identity { display:flex;align-items:center;gap:10px;margin-bottom:8px; }
#asesor-panel .asesor-identity img { width:80px;height:80px;object-fit:cover;border-radius:50%;border:2px solid white;box-shadow:0 2px 7px #0002;flex-shrink:0; }
#asesor-panel .asesor-identity strong { font-size:12px;color:#303946; }

#asesor-panel .asesor-identity { gap:14px; }
#asesor-panel .asesor-identity strong { font-size:16px; }
/* Consulta escrita por defecto y conversación de voz sin transcripciones visibles. */
#asesor-panel [hidden] { display:none !important; }
#asesor-panel .asesor-options { justify-content:space-between; }
#asesor-panel #asesor-mic { width:48px;height:48px;border-radius:50%;font-size:24px;background:#b2253b;color:white;border:0; }
#asesor-panel.asesor-audio-mode #asesor-chat,
#asesor-panel.asesor-audio-mode #asesor-form,
#asesor-panel.asesor-audio-mode #asesor-status,
#asesor-panel.asesor-audio-mode #asesor-results,
#asesor-panel.asesor-audio-mode .asesor-options { display:none; }
#asesor-panel #asesor-audio { text-align:center;padding:24px 0; }
#asesor-panel #asesor-audio-identity { flex-direction:column;justify-content:center; }
#asesor-panel #asesor-audio-identity img { width:128px;height:128px; }
#asesor-panel #asesor-voice-status { font-size:22px;font-weight:650;color:#303946;margin:24px 0 12px; }
#asesor-panel #asesor-audio small { display:block;color:#647080;margin:0 auto 26px;max-width:340px; }
#asesor-panel #asesor-audio button { border:1px solid #d9dde5;border-radius:12px;background:#f7f8fa;padding:12px 18px;margin:5px;color:#303946;font-weight:600; }
/* Conversación inspirada en WhatsApp Web. */
#asesor-panel { width:min(820px,calc(100vw - 24px));border-radius:16px;background:#efeae2; }
#asesor-panel header { padding:14px 20px;background:#075e54; }
#asesor-panel .asesor-contact { display:flex;align-items:center;gap:12px; }
#asesor-panel #asesor-contact-photo { width:52px;height:52px;border-radius:50%;object-fit:cover; }
#asesor-panel h2 { font-size:19px;margin:0 0 2px; }
#asesor-panel .asesor-eyebrow { color:#d5eee8;letter-spacing:0;font-size:12px; }
#asesor-panel .asesor-body { padding:0;display:flex;flex-direction:column; }
#asesor-panel .asesor-options { margin:0;padding:8px 18px;background:#f0f2f5; }
#asesor-panel .asesor-options button { padding:4px 8px;background:transparent;border:0;color:#52645f;font-size:11px; }
#asesor-panel #asesor-thread { min-height:220px;max-height:calc(100dvh - 290px);overflow:auto;overscroll-behavior:contain;padding:20px;background-color:#efeae2;background-image:radial-gradient(#b5aaa329 .8px,transparent .8px);background-size:15px 15px; }
#asesor-panel #asesor-chat { max-height:none;overflow:visible;margin:0;padding:0; }
#asesor-panel .asesor-message { width:fit-content;max-width:85%;background:#fff;border-radius:0 10px 10px 10px;box-shadow:0 1px 2px #0002;padding:10px 14px;margin-bottom:14px; }
#asesor-panel .asesor-message.user { background:#d9fdd3;border-radius:10px 0 10px 10px; }
#asesor-panel .asesor-message .asesor-identity { display:none; }
#asesor-panel .asesor-message p { font-size:14px;line-height:1.55;margin:0; }
#asesor-panel #asesor-form { display:flex;align-items:center;gap:10px;background:#f0f2f5;padding:12px 16px;margin:0; }
#asesor-panel #asesor-form label { position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%); }
#asesor-panel textarea { min-height:46px;max-height:120px;resize:vertical;border:0;border-radius:10px;padding:12px;flex:1;min-width:0; }
#asesor-panel .asesor-search,#asesor-panel #asesor-mic { flex-shrink:0;width:44px;height:44px;padding:0;border-radius:50%;background:#008069;color:#fff;font-size:20px; }
#asesor-panel #asesor-mic { background:transparent;color:#54656f;font-size:25px; }
#asesor-panel #asesor-status { margin:0;padding:8px 18px;background:#f0f2f5;font-size:12px;font-weight:400; }
#asesor-panel #asesor-status:empty,#asesor-panel #asesor-results:empty { display:none; }
#asesor-panel #asesor-results { margin-top:16px; }
#asesor-panel .asesor-card { background:#fff; }
#asesor-panel.asesor-audio-mode #asesor-thread { display:none; }
#asesor-panel.asesor-audio-mode #asesor-form { display:none; }
#asesor-panel #asesor-audio { background:#efeae2;padding:30px 20px; }
#asesor-panel :focus-visible { outline-color:#008069; }
@media(max-width:600px){
 #asesor-panel { width:calc(100vw - 12px);max-height:calc(100dvh - 16px); }
 #asesor-panel #asesor-thread { padding:14px;max-height:calc(100dvh - 265px); }
 #asesor-panel #asesor-form { padding:10px;gap:7px; }
 #asesor-panel .asesor-message { max-width:92%; }
}
/* Indicador GIF de respuesta. */
#asesor-panel .asesor-thinking img { width:72px;height:24px;object-fit:contain;vertical-align:middle; }
#asesor-panel.asesor-audio-mode #asesor-thread { display:block;min-height:0;max-height:calc(100dvh - 390px); }
#asesor-panel.asesor-audio-mode #asesor-results { display:block;margin-top:0; }
#asesor-panel.asesor-audio-mode #asesor-results:empty { display:none; }
#asesor-panel.asesor-audio-mode #asesor-audio { position:relative;padding:16px 65px 14px 20px; }
#asesor-panel #asesor-audio-identity { flex-direction:row;margin-bottom:4px; }
#asesor-panel #asesor-audio-identity img { width:72px;height:72px; }
#asesor-panel #asesor-voice-status { margin:8px 0;font-size:18px; }
#asesor-panel #asesor-audio small { margin-bottom:0;font-size:11px; }
#asesor-panel #asesor-text { position:absolute;right:14px;top:14px;display:grid;place-items:center;width:44px;height:44px;padding:0;border-radius:50%;background:#fff;color:#075e54; }
@media(max-width:600px){#asesor-panel.asesor-audio-mode #asesor-thread { max-height:calc(100dvh - 370px); }}
/* Estados visuales de voz: espera y ondas durante el habla. */
#asesor-panel .asesor-thinking img { width:42px;height:42px; }
#asesor-panel #asesor-voice-status.asesor-thinking img { width:78px;height:78px; }
#asesor-panel .asesor-voice-orb { width:78px;height:78px;margin:0 auto 6px;display:flex;align-items:center;justify-content:center;gap:5px;border-radius:50%;background:linear-gradient(145deg,#f9fffd,#c6e9dc);box-shadow:0 0 0 7px #0080690a,0 3px 14px #075e5414; }
#asesor-panel .asesor-wave-bar { display:block;width:6px;height:10px;border-radius:6px;background:#008069; }
#asesor-panel .is-speaking .asesor-wave-bar { animation:asesor-wave .75s ease-in-out infinite alternate; }
#asesor-panel .is-speaking .asesor-wave-bar:nth-child(2) { animation-delay:-.2s; }
#asesor-panel .is-speaking .asesor-wave-bar:nth-child(3) { animation-delay:-.5s; }
#asesor-panel .is-speaking .asesor-wave-bar:nth-child(4) { animation-delay:-.35s; }
#asesor-panel .is-speaking .asesor-wave-bar:nth-child(5) { animation-delay:-.1s; }
#asesor-panel .asesor-voice-label { display:block;font-size:13px;font-weight:500;color:#52645f; }
@keyframes asesor-wave { from { height:10px; } to { height:36px; } }
@media(prefers-reduced-motion:reduce){#asesor-panel .is-speaking .asesor-wave-bar { animation:none;height:24px; }}
/* Disponibilidad y contacto opcional del asesor. */
#asesor-launch[hidden] { display:none !important; }
#asesor-panel.asesor-audio-mode #asesor-phone { display:none !important; }
#asesor-phone { background:#fff9;border-radius:12px;margin:12px 0;font-size:13px; }
#asesor-phone label { display:block;margin-bottom:6px; }
#asesor-phone input { border:1px solid #ccd4d0;border-radius:8px;padding:8px;min-width:0;max-width:100%; }
#asesor-phone button { border:1px solid #397c76;border-radius:8px;padding:7px 10px;color:#285c57;background:white; }
#asesor-phone small { display:block;color:#566b63;margin-top:7px; }

/* Acceso animado a la conversación por voz. */
#asesor-panel #asesor-mic { background:#008069;overflow:hidden; }
#asesor-panel #asesor-mic .asesor-mic-animation { display:block;width:44px;height:44px;border-radius:50%;pointer-events:none; }
#asesor-panel #asesor-mic:focus-visible { outline:3px solid #005c4b;outline-offset:3px; }
