/* ---------- Chat de la escuela: burbuja abajo a la derecha, ventana centrada sobre fondo desenfocado ---------- */
.rh-chat-bubble{position:fixed;right:20px;bottom:calc(20px + env(safe-area-inset-bottom,0px));z-index:9000;width:60px;height:60px;border-radius:50%;border:0;background:#cc2149;color:#fff;display:grid;place-items:center;cursor:pointer;box-shadow:0 10px 28px -8px rgba(204,33,73,.55);transition:transform .25s var(--ease),background .25s}
.rh-chat-bubble:hover{transform:scale(1.06);background:#a81a3b}
.rh-chat-bubble svg{width:28px;height:28px}
.rh-chat-tip{position:absolute;right:70px;top:50%;transform:translateY(-50%);background:#fff;color:var(--navy);font:600 .82rem var(--fd);padding:7px 12px;border-radius:10px;box-shadow:var(--shadow);white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .2s}
.rh-chat-bubble:hover .rh-chat-tip{opacity:1}
.rh-chat-bubble.open .rh-chat-tip{display:none}
.rh-chat-dot{position:absolute;top:8px;right:8px;width:12px;height:12px;border-radius:50%;background:#22c55e;border:2px solid #fff}
.rh-chat-bubble.open{background:#a81a3b}
.rh-chat-nudge{position:fixed;right:92px;bottom:calc(32px + env(safe-area-inset-bottom,0px));z-index:9000;padding:10px 16px;border:1px solid var(--line);border-radius:14px 14px 4px 14px;background:#fff;color:var(--navy-2);font:600 .88rem/1.2 var(--fd);box-shadow:var(--shadow);cursor:pointer;opacity:0;transform:translateY(8px);pointer-events:none;transition:opacity .35s var(--ease),transform .35s var(--ease)}
.rh-chat-nudge.show{opacity:1;transform:none;pointer-events:auto}

.rh-chat-overlay{position:fixed;inset:0;z-index:9500;display:none;place-items:center;padding:16px}
.rh-chat-overlay.open{display:grid}
.rh-chat-backdrop{position:absolute;inset:0;background:rgba(8,14,26,.55);-webkit-backdrop-filter:blur(14px) saturate(.9);backdrop-filter:blur(14px) saturate(.9);animation:rhFondo .4s var(--ease)}
@keyframes rhFondo{from{opacity:0}to{opacity:1}}
.rh-chat-window{position:relative;width:min(440px,100%);height:min(640px,calc(100dvh - 32px));display:flex;flex-direction:column;background:#fff;border-radius:24px;overflow:hidden;box-shadow:0 40px 90px -28px rgba(0,0,0,.55);animation:rhPanel .38s var(--ease);font-family:var(--fd)}
@keyframes rhPanel{from{opacity:0;transform:translateY(18px) scale(.97)}to{opacity:1;transform:none}}
.rh-chat-header{display:flex;align-items:center;gap:12px;padding:16px 18px;background:linear-gradient(120deg,var(--navy-2),var(--navy-3));color:#fff}
.rh-chat-avatar{width:44px;height:44px;border-radius:50%;background:#fff;padding:6px;object-fit:contain;flex:none}
.rh-chat-header-text{flex:1;min-width:0}
.rh-chat-title{margin:0;font-weight:700;font-size:.95rem;line-height:1.25}
.rh-chat-status{margin:2px 0 0;font-size:.76rem;opacity:.8;display:flex;align-items:center;gap:6px}
.rh-chat-status i{width:8px;height:8px;border-radius:50%;background:#22c55e;display:inline-block}
.rh-chat-close{width:36px;height:36px;border:0;border-radius:50%;background:rgba(255,255,255,.12);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.rh-chat-close:hover{background:rgba(255,255,255,.22)}
.rh-chat-close svg{width:18px;height:18px}
.rh-chat-body{flex:1;overflow-y:auto;padding:18px 16px;background:var(--bg-2);display:flex;flex-direction:column;gap:10px;scroll-behavior:smooth}
.rh-msg{display:flex}
.rh-msg-bot{justify-content:flex-start}
.rh-msg-user{justify-content:flex-end}
.rh-msg-bubble{max-width:84%;padding:11px 14px;border-radius:16px;font-size:.93rem;line-height:1.45;animation:rhMsg .25s var(--ease)}
@keyframes rhMsg{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.rh-msg-bot .rh-msg-bubble{background:#fff;color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}
.rh-msg-user .rh-msg-bubble{background:var(--navy);color:#fff;border-bottom-right-radius:4px}
.rh-typing .rh-msg-bubble{display:flex;gap:4px;padding:12px 14px}
.rh-typing span{width:7px;height:7px;border-radius:50%;background:var(--ink-3);animation:rhDot 1s infinite}
.rh-typing span:nth-child(2){animation-delay:.15s}.rh-typing span:nth-child(3){animation-delay:.3s}
@keyframes rhDot{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.rh-chat-options{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px;background:var(--bg-2)}
.rh-chat-options:not(:empty){padding-bottom:12px}
.rh-chat-option{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border:1.5px solid var(--navy);border-radius:999px;background:#fff;color:var(--navy);font:600 .86rem var(--fd);cursor:pointer;text-decoration:none;transition:background .2s,color .2s}
.rh-chat-option:hover{background:var(--navy);color:#fff}
.rh-chat-option.wa{border-color:#25D366;color:#128C4A}
.rh-chat-option.wa:hover{background:#25D366;color:#fff}
.rh-chat-option svg{width:16px;height:16px}
.rh-chat-input-wrap{display:flex;gap:8px;padding:12px 14px;border-top:1px solid var(--line);background:#fff}
.rh-chat-input-wrap[hidden]{display:none}
.rh-chat-input{flex:1;font:inherit;font-size:.95rem;padding:11px 14px;border:1.5px solid var(--line);border-radius:999px;outline:none;color:var(--ink)}
.rh-chat-input:focus{border-color:var(--sky);box-shadow:0 0 0 4px var(--sky-soft)}
.rh-chat-send{width:44px;height:44px;border:0;border-radius:50%;background:var(--teal);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none}
.rh-chat-send:hover{background:#23796F}
.rh-chat-send svg{width:18px;height:18px}
.rh-chat-footer{padding:8px;text-align:center;font-size:.7rem;color:var(--ink-3);background:#fff;border-top:1px solid var(--line)}
body.rh-chat-open{overflow:hidden}
@media (max-width:520px){
  .rh-chat-overlay{padding:0}
  .rh-chat-window{width:100%;height:100dvh;border-radius:0}
  .rh-chat-nudge{right:88px;font-size:.82rem}
}
@media (prefers-reduced-motion:reduce){.rh-chat-backdrop,.rh-chat-window,.rh-msg-bubble{animation:none}}
