/* Santa Luisa Asistente Institucional — chat flotante.
 * La posición (izquierda/derecha) y el tamaño del botón se inyectan desde PHP. */

/* ---------- Botón flotante (aislado de los estilos del tema y Elementor) ---------- */
.sla-launcher,.sla-launcher:hover,.sla-launcher:active,.sla-launcher:focus,.sla-launcher:focus-visible{
  appearance:none!important;-webkit-appearance:none!important;box-sizing:border-box!important;
  position:fixed!important;bottom:24px!important;z-index:999999!important;
  display:grid!important;place-items:center!important;float:none!important;
  width:var(--sla-launcher-size,62px)!important;height:var(--sla-launcher-size,62px)!important;
  min-width:var(--sla-launcher-size,62px)!important;min-height:var(--sla-launcher-size,62px)!important;
  max-width:var(--sla-launcher-size,62px)!important;max-height:var(--sla-launcher-size,62px)!important;
  margin:0!important;padding:0!important;border:0!important;border-radius:50%!important;
  background:linear-gradient(145deg,#0a4a8f,#08366B)!important;background-color:#08366B!important;color:#fff!important;
  box-shadow:0 10px 30px rgba(8,54,107,.35),0 2px 6px rgba(8,54,107,.25)!important;
  font:800 17px/1 system-ui,-apple-system,"Segoe UI",sans-serif!important;letter-spacing:.3px!important;
  text-decoration:none!important;text-transform:none!important;outline:0!important;cursor:pointer!important;
  isolation:isolate!important;overflow:visible!important;-webkit-tap-highlight-color:transparent!important;
  transition:transform .25s cubic-bezier(.2,.75,.25,1),box-shadow .25s!important}
.sla-launcher:hover{transform:translateY(-2px) scale(1.04)!important;box-shadow:0 14px 34px rgba(8,54,107,.42)!important}
.sla-launcher:focus-visible{box-shadow:0 0 0 3px #fff,0 0 0 6px #0786A9,0 10px 30px rgba(8,54,107,.35)!important}
.sla-launcher:before{content:none!important;display:none!important}
.sla-launcher:after{content:""!important;position:absolute!important;right:2px!important;bottom:2px!important;width:13px!important;height:13px!important;background:#22c55e!important;border:2.5px solid #fff!important;border-radius:50%!important;pointer-events:none!important}
.sla-launcher *{box-sizing:border-box!important}
.sla-launcher .sla-launcher-mark,.sla-launcher .sla-launcher-close{grid-area:1/1!important;display:grid!important;place-items:center!important;width:100%!important;height:100%!important;transition:opacity .2s,transform .3s!important}
.sla-launcher img{display:block!important;width:70%!important;height:70%!important;max-width:70%!important;object-fit:contain!important;border-radius:50%!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important}
.sla-launcher .sla-launcher-close{opacity:0!important;transform:rotate(-90deg) scale(.6)!important;font:300 34px/1 Arial,sans-serif!important}
.sla-launcher[aria-expanded="true"]{animation:none!important}
.sla-launcher[aria-expanded="true"] .sla-launcher-mark{opacity:0!important;transform:rotate(90deg) scale(.6)!important}
.sla-launcher[aria-expanded="true"] .sla-launcher-close{opacity:1!important;transform:none!important}
.sla-launcher[aria-expanded="true"]:after{display:none!important}
.sla-anim-pulse{animation:slaPulse 2.6s infinite}.sla-anim-bounce{animation:slaBounce 2.2s infinite}.sla-anim-wiggle{animation:slaWiggle 3s infinite}
@keyframes slaPulse{0%,100%{box-shadow:0 10px 30px rgba(8,54,107,.35),0 0 0 0 rgba(7,134,169,.35)}60%{box-shadow:0 10px 30px rgba(8,54,107,.35),0 0 0 12px rgba(7,134,169,0)}}
@keyframes slaBounce{0%,80%,100%{transform:translateY(0)}90%{transform:translateY(-8px)}}
@keyframes slaWiggle{0%,90%,100%{transform:rotate(0)}93%{transform:rotate(-9deg)}97%{transform:rotate(9deg)}}

/* ---------- Invitación junto al botón ---------- */
.sla-teaser{position:fixed!important;bottom:calc(var(--sla-launcher-size,62px) + 34px)!important;z-index:999998!important;display:flex;align-items:flex-start;gap:4px;max-width:260px;background:#fff;color:#1f2a37;border-radius:16px 16px 4px 16px;box-shadow:0 12px 32px rgba(8,54,107,.22);padding:4px 4px 4px 0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",sans-serif;animation:slaTeaserIn .45s cubic-bezier(.2,.75,.25,1) both}
.sla-teaser[hidden]{display:none!important}
.sla-teaser .sla-teaser-text{all:unset;cursor:pointer;padding:10px 4px 10px 14px;color:#1f2a37;font:inherit}
.sla-teaser .sla-teaser-close{all:unset;cursor:pointer;width:24px;height:24px;display:grid;place-items:center;border-radius:50%;color:#6b7280;font:18px/1 Arial,sans-serif}
.sla-teaser .sla-teaser-close:hover{background:#f1f5f9}
@keyframes slaTeaserIn{from{opacity:0;transform:translateY(10px) scale(.96)}to{opacity:1;transform:none}}

/* ---------- Panel ---------- */
.sla-app{--sla-primary:#08366B;--sla-turquoise:#0786A9;--sla-green:#08783D;--sla-bg:#f4f7fb;
  position:fixed!important;bottom:calc(var(--sla-launcher-size,62px) + 36px)!important;z-index:999998!important;
  width:min(400px,calc(100vw - 32px));height:min(640px,calc(100vh - 140px));margin:0!important;
  display:none;flex-direction:column;overflow:hidden;background:#fff;color:#1f2a37;border-radius:20px;
  box-shadow:0 24px 60px rgba(8,54,107,.28),0 4px 14px rgba(8,54,107,.12);
  font:14px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;text-align:left}
.sla-app *,.sla-app *:before,.sla-app *:after{box-sizing:border-box}
.sla-app.sla-open{display:flex;animation-duration:.32s;animation-timing-function:cubic-bezier(.2,.75,.25,1);animation-fill-mode:both}
.sla-app.sla-open-anim-zoom.sla-open{animation-name:slaZoom}.sla-app.sla-open-anim-slide.sla-open{animation-name:slaSlide}.sla-app.sla-open-anim-fade.sla-open{animation-name:slaFade}
@keyframes slaZoom{from{opacity:0;transform:translateY(14px) scale(.95);transform-origin:bottom right}to{opacity:1;transform:none}}
@keyframes slaSlide{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
@keyframes slaFade{from{opacity:0}to{opacity:1}}

.sla-panel-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:14px 12px 14px 16px;background:linear-gradient(135deg,var(--sla-primary) 0%,#0b4f8f 60%,var(--sla-turquoise) 140%);color:#fff;flex:0 0 auto}
.sla-head{display:flex;gap:12px;align-items:center;min-width:0}
.sla-mark{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:#fff;color:var(--sla-primary);font-weight:800;flex-shrink:0;box-shadow:0 0 0 3px rgba(255,255,255,.18)}
.sla-mark img{display:block;width:100%;height:100%;object-fit:contain;padding:4px;border-radius:50%}
.sla-online{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid var(--sla-primary)}
.sla-head-copy{min-width:0}.sla-head-copy strong{display:block;font:700 15px/1.25 system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff}
.sla-head-copy small{display:block;font-size:12px;opacity:.85;line-height:1.35;color:#fff}
.sla-ai-status{display:inline-flex;align-items:center;gap:5px;margin-top:4px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.15);font-size:10.5px;font-weight:700}
.sla-ai-status:before{content:"";width:6px;height:6px;border-radius:50%;background:#86efac}
.sla-head-actions{display:flex;gap:6px}
.sla-app .sla-close,.sla-app .sla-restart{all:unset;cursor:pointer;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;color:#fff;font:400 22px/1 Arial,sans-serif;background:rgba(255,255,255,.12);transition:background .2s}
.sla-app .sla-restart{font-size:17px}
.sla-app .sla-close:hover,.sla-app .sla-restart:hover{background:rgba(255,255,255,.25)}
.sla-app .sla-close:focus-visible,.sla-app .sla-restart:focus-visible{outline:2px solid #fff;outline-offset:2px}

.sla-body{flex:1 1 auto;overflow-y:auto;background:var(--sla-bg);scroll-behavior:smooth;overscroll-behavior:contain}
.sla-messages{padding:16px 14px 6px}
.sla-msg{position:relative;max-width:88%;margin:0 0 10px;padding:10px 13px;border-radius:16px;overflow-wrap:anywhere;animation:slaMsgIn .25s ease-out both}
@keyframes slaMsgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.sla-bot{background:#fff;color:#1f2a37;border-top-left-radius:4px;box-shadow:0 1px 2px rgba(15,23,42,.06),0 2px 10px rgba(8,54,107,.05)}
.sla-user{margin-left:auto;background:var(--sla-primary);color:#fff;border-top-right-radius:4px}
.sla-msg a{color:var(--sla-turquoise);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.sla-user a{color:#fff}
.sla-msg p{margin:0 0 8px}.sla-msg p:last-child{margin-bottom:0}
.sla-answer-list-item{position:relative;margin:3px 0;padding-left:16px}
.sla-answer-list-item:before{content:"•";position:absolute;left:3px;color:var(--sla-turquoise);font-weight:800}
.sla-answer-list-item.is-num:before{content:attr(data-n);font-size:12px;left:0;top:1px;color:var(--sla-primary)}
.sla-sources{margin-top:8px;padding-top:8px;border-top:1px dashed #dbe4ee;font-size:12px;color:#64748b}
.sla-sources a{font-weight:500}
.sla-success-notice{background:#ecfdf3;color:#14532d;border:1px solid #bbf7d0}
.sla-error-notice{background:#fef2f2;color:#991b1b;border:1px solid #fecaca}
.sla-msg-actions{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.sla-app .sla-action{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;font-size:13px;font-weight:600;background:var(--sla-primary);color:#fff;transition:filter .2s,transform .2s}
.sla-app .sla-action:hover{filter:brightness(1.1);transform:translateY(-1px)}
.sla-app .sla-action.is-wa{background:#16a34a}
.sla-app .sla-action.is-ghost{background:#e8f1f8;color:var(--sla-primary)}
.sla-app .sla-action:focus-visible{outline:2px solid var(--sla-turquoise);outline-offset:2px}

.sla-typing{display:inline-flex;gap:4px;padding:12px 14px}
.sla-typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:slaDot 1.2s infinite}
.sla-typing span:nth-child(2){animation-delay:.15s}.sla-typing span:nth-child(3){animation-delay:.3s}
@keyframes slaDot{0%,60%,100%{transform:translateY(0);opacity:.5}30%{transform:translateY(-4px);opacity:1}}

.sla-suggestions{display:flex;flex-wrap:wrap;gap:7px;padding:2px 14px 14px}
.sla-suggestions[hidden]{display:none}
.sla-app .sla-chip{all:unset;cursor:pointer;display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:999px;background:#fff;border:1px solid #d6e2ee;color:var(--sla-primary);font-size:13px;font-weight:600;line-height:1.2;box-shadow:0 1px 2px rgba(15,23,42,.04);transition:all .18s}
.sla-app .sla-chip:hover{border-color:var(--sla-turquoise);background:#eef8fb;transform:translateY(-1px)}
.sla-app .sla-chip:focus-visible{outline:2px solid var(--sla-turquoise);outline-offset:2px}
.sla-app .sla-chip .sla-chip-ico{font-size:15px;line-height:1}

.sla-chat-form{display:flex;align-items:center;gap:8px;padding:10px 12px;background:#fff;border-top:1px solid #e6edf4;flex:0 0 auto}
.sla-chat-form input{flex:1;min-width:0;height:44px;margin:0;padding:0 16px;border:1px solid #d6e2ee;border-radius:999px;background:#f8fafc;color:#1f2a37;font:14px system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:none;outline:0;transition:border-color .2s,background .2s}
.sla-chat-form input:focus{border-color:var(--sla-turquoise);background:#fff;box-shadow:0 0 0 3px rgba(7,134,169,.15)}
.sla-app .sla-chat-form button{all:unset;cursor:pointer;flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:50%;background:var(--sla-primary);color:#fff;transition:transform .2s,filter .2s}
.sla-app .sla-chat-form button:hover{transform:scale(1.06);filter:brightness(1.1)}
.sla-app .sla-chat-form button:focus-visible{outline:2px solid var(--sla-turquoise);outline-offset:2px}
.sla-contact{padding:0 14px 10px;background:#fff;font-size:11.5px;color:#64748b;text-align:center;flex:0 0 auto}

/* ---------- Formularios (hojas que suben dentro del panel) ---------- */
.sla-sheet{position:absolute;inset:0;z-index:5;display:flex;flex-direction:column;background:#fff;overflow-y:auto;animation:slaSheet .3s cubic-bezier(.2,.75,.25,1) both}
.sla-sheet[hidden]{display:none}
@keyframes slaSheet{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
.sla-sheet-head{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:linear-gradient(135deg,var(--sla-primary),#0b4f8f);color:#fff}
.sla-app .sla-sheet-head h3{margin:0;font:700 16px/1.3 system-ui,-apple-system,"Segoe UI",sans-serif;color:#fff;letter-spacing:0;text-transform:none}
.sla-app .sla-sheet .sla-cancel{all:unset;cursor:pointer;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font:22px/1 Arial,sans-serif}
.sla-sheet-intro{margin:14px 16px 4px;color:#475569;font-size:13.5px}
.sla-form-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:12px;padding:12px 16px 18px}
.sla-form-grid>*{min-width:0}
.sla-span2{grid-column:1/-1}
.sla-form-grid label{display:flex;flex-direction:column;gap:5px;font-size:12.5px;font-weight:600;color:#334155}
.sla-field-label{display:block;margin-bottom:6px;font-size:12.5px;font-weight:600;color:#334155}
.sla-form-grid input:not([type=checkbox]),.sla-form-grid select{width:100%;height:42px;margin:0;padding:0 12px;border:1px solid #d6e2ee;border-radius:10px;background:#f8fafc;color:#1f2a37;font:14px system-ui,-apple-system,"Segoe UI",sans-serif;box-shadow:none}
.sla-form-grid input:focus,.sla-form-grid select:focus{outline:0;border-color:var(--sla-turquoise);background:#fff;box-shadow:0 0 0 3px rgba(7,134,169,.15)}
.sla-form-grid .sla-consent{flex-direction:row;align-items:flex-start;gap:8px;font-weight:400;color:#475569;line-height:1.45}
.sla-form-grid .sla-consent input{margin:2px 0 0;flex:0 0 auto;width:16px;height:16px;accent-color:var(--sla-turquoise)}
.sla-form-actions{display:flex;gap:8px}
.sla-app .sla-primary{all:unset;cursor:pointer;flex:1;text-align:center;padding:12px 16px;border-radius:12px;background:var(--sla-primary);color:#fff;font-weight:700;font-size:14px;transition:filter .2s}
.sla-app .sla-primary:hover{filter:brightness(1.12)}
.sla-app .sla-primary[disabled]{opacity:.6;cursor:wait}
.sla-lead-result{padding:0 16px 16px;color:#b91c1c;font-size:13px}
.sla-hp{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}
.sla-recaptcha-wrap{transform-origin:left top}

.sla-days,.sla-times{display:flex;gap:7px;overflow-x:auto;padding:2px 2px 6px;scroll-snap-type:x proximity}
.sla-times{flex-wrap:wrap;overflow:visible}
.sla-app .sla-day,.sla-app .sla-time{all:unset;cursor:pointer;scroll-snap-align:start;flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;min-width:58px;padding:8px 10px;border-radius:12px;border:1px solid #d6e2ee;background:#fff;color:#1f2a37;font-size:12px;text-align:center;transition:all .15s}
.sla-app .sla-day strong{font-size:18px;line-height:1.1;color:var(--sla-primary)}
.sla-app .sla-day small{font-size:10.5px;color:#64748b;text-transform:capitalize}
.sla-app .sla-time{min-width:auto;flex-direction:row;padding:9px 13px;font-weight:600;font-size:13px}
.sla-app .sla-day:hover,.sla-app .sla-time:hover{border-color:var(--sla-turquoise)}
.sla-app .sla-day[aria-checked="true"],.sla-app .sla-time[aria-checked="true"]{background:var(--sla-primary);border-color:var(--sla-primary);color:#fff}
.sla-app .sla-day[aria-checked="true"] strong,.sla-app .sla-day[aria-checked="true"] small{color:#fff}
.sla-app .sla-time[aria-disabled="true"]{cursor:not-allowed;opacity:.45;text-decoration:line-through}
.sla-app .sla-day:focus-visible,.sla-app .sla-time:focus-visible{outline:2px solid var(--sla-turquoise);outline-offset:2px}
.sla-muted{color:#64748b;font-size:12.5px}

/* ---------- Móvil: pantalla completa ---------- */
@media(max-width:520px){
  .sla-launcher{bottom:16px!important}
  .sla-app{inset:0!important;width:100%;height:100%;height:100dvh;max-height:none;border-radius:0}
  .sla-teaser{bottom:calc(var(--sla-launcher-size,62px) + 26px)!important;max-width:calc(100vw - 110px)}
  .sla-launcher[aria-expanded="true"]{display:none!important}
  .sla-form-grid{grid-template-columns:minmax(0,1fr)}
  .sla-chat-form input{font-size:16px}
}
@media(prefers-reduced-motion:reduce){.sla-app,.sla-app *,.sla-launcher,.sla-teaser{animation:none!important;transition:none!important}}

/* Fuera de horario */
.sla-ai-status.is-disabled:before{background:#fbbf24}
.sla-offline-notice{background:#fffbeb;border:1px solid #fde68a;color:#78350f}
.sla-app.is-offline .sla-online{background:#fbbf24}
.sla-app.is-offline .sla-chat-form input{background:#f1f5f9;cursor:not-allowed}
.sla-app.is-offline .sla-chat-form button{opacity:.45;pointer-events:none}

/* Colores blindados frente a los estilos :hover del tema/Elementor (texto blanco sobre fondo blanco) */
.sla-app .sla-chip,.sla-app .sla-chip:focus{background:#fff!important;color:var(--sla-primary)!important;border:1px solid #d6e2ee!important}
.sla-app .sla-chip:hover,.sla-app .sla-chip:active{background:var(--sla-primary)!important;color:#fff!important;border-color:var(--sla-primary)!important}
.sla-app .sla-action,.sla-app .sla-action:focus{background:var(--sla-primary)!important;color:#fff!important;text-decoration:none!important}
.sla-app .sla-action:hover{background:#0b4f8f!important;color:#fff!important}
.sla-app .sla-action.is-wa,.sla-app .sla-action.is-wa:hover,.sla-app .sla-action.is-wa:focus{background:#16a34a!important;color:#fff!important}
.sla-app .sla-action.is-ghost,.sla-app .sla-action.is-ghost:focus{background:#e8f1f8!important;color:var(--sla-primary)!important}
.sla-app .sla-action.is-ghost:hover{background:var(--sla-primary)!important;color:#fff!important}
.sla-app .sla-day,.sla-app .sla-time{background:#fff!important;color:#1f2a37!important}
.sla-app .sla-day:hover,.sla-app .sla-time:hover{background:#eef8fb!important;color:#1f2a37!important}
.sla-app .sla-day[aria-checked="true"],.sla-app .sla-time[aria-checked="true"]{background:var(--sla-primary)!important;color:#fff!important}
.sla-app .sla-primary,.sla-app .sla-primary:hover,.sla-app .sla-primary:focus{background:var(--sla-primary)!important;color:#fff!important}
.sla-app .sla-chat-form button,.sla-app .sla-chat-form button:hover,.sla-app .sla-chat-form button:focus{background:var(--sla-primary)!important;color:#fff!important}
.sla-app .sla-close,.sla-app .sla-restart,.sla-app .sla-close:hover,.sla-app .sla-restart:hover{color:#fff!important}
.sla-app .sla-close:hover,.sla-app .sla-restart:hover{background:rgba(255,255,255,.25)!important}
.sla-app .sla-sheet .sla-cancel,.sla-app .sla-sheet .sla-cancel:hover{color:#fff!important;background:rgba(255,255,255,.18)!important}
.sla-teaser .sla-teaser-text,.sla-teaser .sla-teaser-text:hover{color:#1f2a37!important;background:transparent!important}
