/* ============================================================
   Sovereign Desk — chat widget. Palette-matched, over-50s sizing.
   All classes prefixed .sd- so it can't fight the site styles.
   ============================================================ */
.sd-root{--sd-gold:#e8a24a;--sd-gold-deep:#b87a2a;--sd-navy:#16213a;--sd-ink:#1a1208;
  --sd-ink-soft:#4a3a28;--sd-cream:#faf6ee;--sd-cream-2:#f3ebdc;--sd-line:#e6dcc8;--sd-white:#fffdf9;
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
  position:fixed;z-index:90;line-height:1.5}

/* ---------- the bubble ---------- */
.sd-bubble{position:fixed;right:18px;bottom:18px;z-index:90;display:flex;align-items:center;gap:10px;
  background:var(--sd-navy);color:#f3ead9;border:2px solid var(--sd-gold);border-radius:60px;
  padding:13px 20px 13px 15px;cursor:pointer;box-shadow:0 10px 30px rgba(20,14,5,.35);
  font-family:'Inter',system-ui,sans-serif;font-weight:700;font-size:16px;
  transition:transform .15s ease,box-shadow .2s ease}
.sd-bubble:hover{transform:translateY(-2px);box-shadow:0 14px 36px rgba(20,14,5,.4)}
.sd-bubble img{width:30px;height:30px}
.sd-bubble .sd-b2{display:block;font-weight:500;font-size:12.5px;color:#cdbfa8;margin-top:1px}
@media(max-width:860px){
  .sd-bubble{bottom:74px;right:14px;padding:12px 16px 12px 13px}  /* clears the call bar */
  .sd-bubble .sd-b1{font-size:15px}
}

/* ---------- the panel ---------- */
.sd-panel{position:fixed;right:18px;bottom:18px;z-index:95;width:400px;max-width:calc(100vw - 28px);
  height:620px;max-height:calc(100vh - 40px);background:var(--sd-cream);border:1px solid var(--sd-line);
  border-radius:18px;box-shadow:0 24px 70px rgba(20,14,5,.45);display:none;flex-direction:column;overflow:hidden}
.sd-panel.sd-open{display:flex}
@media(max-width:640px){
  .sd-panel{inset:10px 10px 10px 10px;width:auto;height:auto;max-height:none;border-radius:16px}
}

/* header */
.sd-head{background:var(--sd-navy);color:#f3ead9;padding:14px 16px;display:flex;align-items:center;gap:12px}
.sd-head img{width:38px;height:38px;flex:none}
.sd-head .sd-t{font-family:Fraunces,Georgia,serif;font-weight:600;font-size:19px;color:#faf6ee;line-height:1.15}
.sd-head .sd-s{font-size:12px;color:#cdbfa8;margin-top:2px}
.sd-x{margin-left:auto;background:none;border:0;color:#cdbfa8;font-size:30px;line-height:1;cursor:pointer;padding:4px 8px}
.sd-x:hover{color:#fff}

/* persistent phone ramp — visible in EVERY state */
.sd-ramp{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--sd-gold);
  color:#1a1208;text-decoration:none;font-weight:700;font-size:16.5px;padding:12px;border-bottom:1px solid var(--sd-line)}
.sd-ramp:hover{background:#f5c688}
.sd-ramps{display:flex}
.sd-ramps .sd-ramp{flex:1}
.sd-ramps .sd-ramp + .sd-ramp{border-left:1px solid rgba(20,14,5,.14)}
.sd-ramp-wa{background:#25d366;color:#06321c}
.sd-ramp-wa:hover{background:#22c55e}

/* messages */
.sd-msgs{flex:1;overflow-y:auto;padding:18px 16px;display:flex;flex-direction:column;gap:12px;
  font-size:17px;color:var(--sd-ink);-webkit-overflow-scrolling:touch}
.sd-m{max-width:86%;padding:12px 15px;border-radius:14px;white-space:pre-wrap;word-wrap:break-word}
.sd-m.sd-bot{background:var(--sd-white);border:1px solid var(--sd-line);border-bottom-left-radius:5px;align-self:flex-start}
.sd-m.sd-user{background:var(--sd-navy);color:#f7f1e6;border-bottom-right-radius:5px;align-self:flex-end}
.sd-m a{color:var(--sd-gold-deep);font-weight:600;word-break:break-all}
.sd-m.sd-user a{color:var(--sd-gold)}
.sd-typing{align-self:flex-start;color:var(--sd-ink-soft);font-size:15px;padding:6px 4px}
.sd-typing i{display:inline-block;animation:sdBlink 1.2s infinite both;font-style:normal}
.sd-typing i:nth-child(2){animation-delay:.2s}.sd-typing i:nth-child(3){animation-delay:.4s}
@keyframes sdBlink{0%,80%,100%{opacity:.25}40%{opacity:1}}

/* deposit / action button rendered into a bot message */
.sd-pay{display:inline-flex;align-items:center;gap:9px;background:var(--sd-gold);color:#1a1208!important;
  font-weight:700;font-size:16.5px;padding:13px 20px;border-radius:50px;text-decoration:none;margin-top:10px}
.sd-pay:hover{background:#f5c688}

/* quick-start chips */
.sd-chips{display:flex;flex-wrap:wrap;gap:8px;padding:0 16px 12px}
.sd-chip{background:var(--sd-white);border:1.5px solid var(--sd-line);border-radius:40px;color:var(--sd-ink);
  font-size:15px;font-weight:600;padding:10px 15px;cursor:pointer}
.sd-chip:hover{border-color:var(--sd-gold);background:#fff}

/* input row */
.sd-inrow{display:flex;gap:9px;padding:12px;border-top:1px solid var(--sd-line);background:var(--sd-cream-2)}
.sd-in{flex:1;font-family:inherit;font-size:17px;color:var(--sd-ink);background:var(--sd-white);
  border:1.5px solid var(--sd-line);border-radius:14px;padding:13px 14px;resize:none;max-height:120px;min-height:50px}
.sd-in:focus{outline:none;border-color:var(--sd-gold);box-shadow:0 0 0 3px rgba(232,162,74,.18)}
.sd-send{background:var(--sd-navy);color:#f7f1e6;border:0;border-radius:14px;min-width:64px;
  font-weight:700;font-size:16px;cursor:pointer;padding:0 16px}
.sd-send:hover{background:#22304f}
.sd-send:disabled{opacity:.5;cursor:default}
/* attach-a-photo button — a clear, large touch target, not a faint emoji */
.sd-clip{flex:none;width:52px;background:var(--sd-white);border:1.5px solid var(--sd-line);border-radius:14px;
  font-size:23px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sd-clip:hover{border-color:var(--sd-gold);background:#fff}
.sd-clip:active{background:var(--sd-cream-2)}
.sd-clip:disabled{opacity:.5;cursor:default}

/* small print */
.sd-foot{font-size:11.5px;color:#877a6a;text-align:center;padding:7px 12px 10px;background:var(--sd-cream-2)}

/* fallback (kill switch / rate limit / error) */
.sd-fall{padding:26px 20px;display:flex;flex-direction:column;gap:14px;align-items:stretch;text-align:center}
.sd-fall p{margin:0;font-size:16.5px;color:var(--sd-ink)}
.sd-fall a{display:flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;
  font-weight:700;font-size:17px;padding:15px;border-radius:50px}
.sd-fall .sd-f-call{background:var(--sd-gold);color:#1a1208}
.sd-fall .sd-f-wa{background:var(--sd-white);border:1.5px solid var(--sd-line);color:var(--sd-ink)}

@media(prefers-reduced-motion:reduce){.sd-bubble,.sd-typing i{transition:none;animation:none}}
