/* Floating buttons: back-to-top bottom left, chat + WhatsApp bottom right (stacked, never overlap) */
.sj-top{position:fixed;left:16px;bottom:18px;z-index:90;width:48px;height:48px;border-radius:50%;border:0;background:#0B1B3A;color:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(11,27,58,.28);cursor:pointer;opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s}
.sj-top.is-on{opacity:1;transform:none}
.sj-top:hover,.sj-top:focus-visible{background:#1F4BFF}
.sj-top[hidden]{display:none}
.sj-float{position:fixed;right:16px;bottom:18px;z-index:90;display:flex;flex-direction:column;align-items:flex-end;gap:12px}
.sj-wa{width:56px;height:56px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.22);transition:transform .15s}
.sj-wa:hover{transform:scale(1.06)}
.sj-chat-btn{height:56px;min-width:56px;padding:0 18px 0 14px;border-radius:999px;border:0;background:#1F4BFF;color:#fff;display:flex;align-items:center;gap:8px;font:700 16px 'DM Sans',system-ui,sans-serif;box-shadow:0 10px 26px rgba(31,75,255,.35);cursor:pointer}
.sj-chat-btn:hover{background:#1238D6}
.sj-chat-btn[aria-expanded="true"]{background:#0B1B3A}
@media (max-width:480px){.sj-chat-btn__label{display:none}.sj-chat-btn{padding:0;width:56px;justify-content:center}}
body.sj-menu-open .sj-float,body.sj-menu-open .sj-top{display:none}

/* Chat panel */
.sj-chat{position:fixed;right:16px;bottom:154px;z-index:95;width:min(380px,calc(100vw - 32px));height:min(540px,calc(100vh - 190px));background:#fff;border-radius:22px;box-shadow:0 24px 70px rgba(11,27,58,.30);display:flex;flex-direction:column;overflow:hidden;font-family:'DM Sans',system-ui,sans-serif;color:#0B1B3A}
.sj-chat[hidden]{display:none}
.sj-chat__head{background:#0B1B3A;color:#fff;padding:14px 16px;display:flex;align-items:center;justify-content:space-between}
.sj-chat__head b{display:block;font-family:'Archivo Black',sans-serif;font-weight:400;font-size:18px}
.sj-chat__head span{font-size:13px;color:#C9D4EE}
.sj-chat__close{width:44px;height:44px;border:0;border-radius:50%;background:rgba(255,255,255,.1);color:#fff;font-size:26px;cursor:pointer}
.sj-chat__log{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:#EEF2FA}
.sj-msg{max-width:86%;padding:10px 13px;border-radius:16px;font-size:15px;line-height:1.45;white-space:pre-wrap;word-wrap:break-word}
.sj-msg a{color:#1F4BFF;font-weight:700}
.sj-msg--bot{background:#fff;border:1px solid rgba(11,27,58,.1);border-bottom-left-radius:4px;align-self:flex-start}
.sj-msg--me{background:#1F4BFF;color:#fff;border-bottom-right-radius:4px;align-self:flex-end}
.sj-msg--typing{color:#4E5A70;font-style:italic}
.sj-chat__quick{display:flex;flex-wrap:wrap;gap:6px;padding:8px 12px;background:#EEF2FA;border-top:1px solid rgba(11,27,58,.06)}
.sj-chat__quick:empty{display:none}
.sj-chip-btn{border:1px solid #C5D0E6;background:#fff;color:#0B1B3A;border-radius:999px;padding:8px 12px;min-height:40px;font:600 14px 'DM Sans',system-ui,sans-serif;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center}
.sj-chip-btn:hover{border-color:#1F4BFF;color:#1F4BFF}
.sj-chip-btn--wa{background:#25D366;border-color:#25D366;color:#fff}
.sj-chip-btn--wa:hover{color:#fff;filter:brightness(.95)}
.sj-chat__form{display:flex;gap:8px;padding:10px;border-top:1px solid rgba(11,27,58,.08)}
.sj-chat__form input{flex:1;min-width:0;height:46px;border-radius:999px;border:1.5px solid #C5D0E6;padding:0 16px;font:16px 'DM Sans',system-ui,sans-serif}
.sj-chat__form button{width:46px;height:46px;border-radius:50%;border:0;background:#1F4BFF;color:#fff;font-size:20px;cursor:pointer}
.sj-chat__note{margin:0;padding:0 12px 10px;font-size:11.5px;color:#4E5A70}
@media (max-width:480px){.sj-chat{right:8px;left:8px;width:auto;bottom:150px;height:calc(100vh - 180px)}}

/* Author box */
.sj-author{display:flex;gap:18px;align-items:flex-start;margin:40px 0 10px;padding:22px;background:#fff;border-radius:22px;border:2px solid #0B1B3A;box-shadow:6px 6px 0 #1F4BFF}
.sj-author img{width:96px;height:96px;border-radius:50%;object-fit:cover;flex:0 0 96px}
.sj-author p{margin:0 0 6px}
.sj-author__kicker{font-size:13px;text-transform:uppercase;letter-spacing:.08em;color:#4E5A70;font-weight:700}
.sj-author__name{font-family:'Archivo Black',sans-serif;font-size:22px}
.sj-author__name a{color:#0B1B3A;text-decoration:none}
.sj-author__role{color:#1F4BFF;font-weight:700}
.sj-author__links{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.sj-author__links a{display:inline-flex;align-items:center;min-height:40px;padding:0 14px;border-radius:999px;background:#DCE5F5;color:#0B1B3A;font-weight:700;font-size:14px;text-decoration:none}
.sj-author__links a:hover{background:#1F4BFF;color:#fff}
@media (max-width:560px){.sj-author{flex-direction:column}}

/* Beat the theme's default button reset (pink borders) */
button.sj-top,button.sj-chat-btn,button.sj-chat__close,.sj-chat__form button,button.sj-chip-btn{border-radius:999px!important;padding:0!important;box-shadow:none}
button.sj-top{background:#0B1B3A!important;color:#fff!important;border:0!important;box-shadow:0 10px 26px rgba(11,27,58,.28)!important}
button.sj-top:hover,button.sj-top:focus{background:#1F4BFF!important;color:#fff!important}
button.sj-chat-btn{background:#1F4BFF!important;color:#fff!important;border:0!important;padding:0 18px 0 14px!important;box-shadow:0 10px 26px rgba(31,75,255,.35)!important}
button.sj-chat-btn:hover,button.sj-chat-btn:focus{background:#1238D6!important;color:#fff!important}
button.sj-chat-btn[aria-expanded="true"]{background:#0B1B3A!important}
@media (max-width:480px){button.sj-chat-btn{padding:0!important}}
button.sj-chat__close{background:rgba(255,255,255,.12)!important;color:#fff!important;border:0!important}
.sj-chat__form button{background:#1F4BFF!important;color:#fff!important;border:0!important}
button.sj-chip-btn{background:#fff!important;color:#0B1B3A!important;border:1px solid #C5D0E6!important;padding:8px 12px!important}
button.sj-chip-btn:hover{border-color:#1F4BFF!important;color:#1F4BFF!important}
.sj-slide-nav button{padding:0!important;border-radius:50%!important;background:transparent!important;color:inherit!important;border:1.5px solid currentColor!important}

button.sj-top{width:48px!important;height:48px!important;min-width:48px!important;display:flex!important;align-items:center;justify-content:center;line-height:1}
button.sj-top[hidden]{display:none!important}
.sj-chat{z-index:120}
@media (max-width:480px){.sj-chat{top:84px;bottom:150px;height:auto}}


.sj-wa{background:#0B7A45!important}


/* ---------- Ask SJ mascot ---------- */
.sj-mascot-wrap{position:relative;display:flex;align-items:center;gap:10px}
button.sj-chat-btn.sj-mascot{width:76px!important;height:76px!important;min-width:76px!important;padding:0!important;border-radius:50%!important;background:transparent!important;box-shadow:0 16px 34px -10px rgba(31,75,255,.65)!important;overflow:visible}
button.sj-chat-btn.sj-mascot:hover,button.sj-chat-btn.sj-mascot:focus{background:transparent!important;transform:translateY(-2px)}
button.sj-chat-btn.sj-mascot[aria-expanded="true"]{background:transparent!important;box-shadow:0 0 0 4px #0B1B3A!important}
.sj-mascot__svg{display:block;overflow:visible}
.sj-mascot__hand{transform-origin:100px 76px;animation:sjwave 2.6s ease-in-out infinite}
.sj-mascot__body{animation:sjbob 3.2s ease-in-out infinite}
@keyframes sjwave{0%,60%,100%{transform:rotate(0)}10%{transform:rotate(-18deg)}20%{transform:rotate(12deg)}30%{transform:rotate(-16deg)}40%{transform:rotate(10deg)}50%{transform:rotate(-6deg)}}
@keyframes sjbob{0%,100%{transform:translateY(0)}50%{transform:translateY(1.5px)}}
.sj-mascot-bubble{position:absolute;right:86px;bottom:44px;white-space:nowrap;background:#fff;color:#0B1B3A;font:700 14px 'DM Sans',system-ui,sans-serif;padding:9px 14px;border-radius:16px 16px 4px 16px;box-shadow:0 12px 28px -12px rgba(11,27,58,.45);animation:sjbubble 7s ease-in-out 1.2s both;pointer-events:none}
@keyframes sjbubble{0%{opacity:0;transform:translateY(6px)}8%,80%{opacity:1;transform:none}100%{opacity:0;transform:translateY(-4px)}}
.sj-mascot-wrap:hover .sj-mascot-bubble{animation:none;opacity:1}
body.sj-chat-open .sj-mascot-bubble{display:none}
.sj-chat{bottom:174px}
@media (max-width:480px){button.sj-chat-btn.sj-mascot{width:64px!important;height:64px!important;min-width:64px!important}.sj-mascot__svg{width:64px;height:64px}.sj-mascot-bubble{right:72px;bottom:36px;font-size:13px}.sj-chat{bottom:164px}}
@media (prefers-reduced-motion:reduce){.sj-mascot__hand,.sj-mascot__body{animation:none}.sj-mascot-bubble{animation:none;opacity:1}}