/* Somi's Glamour website chat window */
.sgc{--sgc-night:#180c24;--sgc-royal:#2a103b;--sgc-purple:#612179;--sgc-gold:#cfad76;--sgc-ivory:#faf7f4;--sgc-ink:#25202a;--sgc-muted:#6c6271;font-family:var(--font-body,'Manrope',system-ui,sans-serif);color:var(--sgc-ink)}
.sgc *,.sgc *:before,.sgc *:after{box-sizing:border-box}
.sgc-launch{position:fixed;right:26px;bottom:26px;z-index:9990;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;cursor:pointer;color:var(--sgc-gold);background:radial-gradient(120% 120% at 30% 20%,#4a1f66 0%,var(--sgc-royal) 55%,var(--sgc-night) 100%);border:1px solid rgba(207,173,118,.55);box-shadow:0 18px 40px -14px rgba(24,12,36,.7),0 0 0 6px rgba(207,173,118,.08);transition:transform .35s cubic-bezier(.2,.8,.2,1),box-shadow .35s}
.sgc-launch:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 22px 46px -14px rgba(24,12,36,.75),0 0 0 8px rgba(207,173,118,.12)}
.sgc-launch svg{width:27px;height:27px}
.sgc-dot{position:absolute;top:8px;right:8px;width:13px;height:13px;border-radius:50%;background:#e0567d;border:2px solid var(--sgc-royal)}
.sgc-tip{position:absolute;right:76px;top:50%;transform:translate(8px,-50%);white-space:nowrap;background:var(--sgc-night);color:#fff;font:600 11px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.16em;text-transform:uppercase;padding:10px 14px;border-radius:999px;opacity:0;pointer-events:none;transition:.3s}
.sgc-launch:hover .sgc-tip{opacity:1;transform:translate(0,-50%)}
.sgc.is-open .sgc-tip{display:none}
.sgc-panel{position:fixed;right:26px;bottom:102px;z-index:9991;width:380px;max-width:calc(100vw - 32px);height:min(620px,calc(100vh - 130px));display:flex;flex-direction:column;background:var(--sgc-ivory);border-radius:24px;overflow:hidden;box-shadow:0 40px 90px -30px rgba(24,12,36,.65),0 0 0 1px rgba(42,16,59,.08);opacity:0;transform:translateY(14px) scale(.98);transform-origin:bottom right;transition:opacity .25s,transform .3s cubic-bezier(.2,.8,.2,1)}
.sgc.is-open .sgc-panel{opacity:1;transform:none}
.sgc-panel[hidden]{display:none}
.sgc-head{display:flex;align-items:center;gap:12px;padding:16px 16px 16px 18px;color:#fff;background:linear-gradient(135deg,var(--sgc-night),var(--sgc-royal) 60%,#47185a);border-bottom:1px solid rgba(207,173,118,.35)}
.sgc-logo{height:30px;width:auto;flex:0 0 auto}
.sgc-who{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.sgc-who b{font:500 19px/1.1 'Cormorant Garamond',serif;letter-spacing:.02em}
.sgc-status{display:flex;align-items:center;gap:7px;font-size:11.5px;color:rgba(255,255,255,.72)}
.sgc-status i{width:8px;height:8px;border-radius:50%;background:#9b8ea6;flex:0 0 auto}
.sgc-status.on i{background:#4ade80;box-shadow:0 0 0 3px rgba(74,222,128,.22)}
.sgc-status em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sgc-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);cursor:pointer;flex:0 0 auto}
.sgc-icon:hover{background:rgba(255,255,255,.16)}
.sgc-icon[hidden]{display:none}
.sgc-body{flex:1;min-height:0;display:flex;flex-direction:column;overflow-y:auto}
.sgc-hello{padding:22px 20px 6px}
.sgc-greet{margin:0;background:#fff;border:1px solid #eee5ef;border-radius:18px 18px 18px 6px;padding:14px 16px;font-size:14.5px;line-height:1.55;color:var(--sgc-ink)}
.sgc-greet.small{font-size:13.5px;margin-bottom:6px}
.sgc-options{padding:14px 16px;display:flex;flex-direction:column;gap:10px}
.sgc-opt{display:flex;align-items:center;gap:14px;width:100%;text-align:left;padding:14px 16px;border-radius:18px;background:#fff;border:1px solid #ece3ee;color:var(--sgc-ink);cursor:pointer;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;font:inherit}
.sgc-opt:hover{border-color:var(--sgc-gold);transform:translateY(-1px);box-shadow:0 12px 26px -18px rgba(42,16,59,.5)}
.sgc-opt:disabled{opacity:.6;cursor:wait}
.sgc-opt>svg{color:var(--sgc-muted);flex:0 0 auto}
.sgc-ico{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;flex:0 0 auto}
.sgc-opt-chat .sgc-ico{background:var(--sgc-royal);color:var(--sgc-gold)}
.sgc-opt-wa .sgc-ico{background:#e7f8ee;color:#1fa855}
.sgc-opt-call .sgc-ico{background:#f4ecdf;color:#9b7739}
.sgc-txt{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}
.sgc-txt b{font-weight:700;font-size:14.5px}
.sgc-txt small{font-size:12.5px;color:var(--sgc-muted)}
.sgc-foot{margin:auto 0 0;padding:10px 20px 18px;text-align:center;font-size:11.5px;letter-spacing:.06em;color:var(--sgc-muted)}
.sgc-form{padding:18px 18px 20px;display:flex;flex-direction:column;gap:12px}
.sgc-form label{display:flex;flex-direction:column;gap:6px;font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--sgc-muted)}
.sgc-form label small{text-transform:none;letter-spacing:0;font-weight:500}
.sgc-form input,.sgc-form textarea,.sgc-input textarea{font:inherit;font-size:15px;text-transform:none;letter-spacing:0;font-weight:500;color:var(--sgc-ink);background:#fff;border:1px solid #e4d9e7;border-radius:14px;padding:12px 14px;width:100%;outline:none;resize:none}
.sgc-form input:focus,.sgc-form textarea:focus,.sgc-input textarea:focus{border-color:var(--sgc-purple);box-shadow:0 0 0 3px rgba(97,33,121,.12)}
.sgc-hp{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0}
.sgc-err{margin:0;color:#b3243b;font-size:13px}
.sgc-err[hidden]{display:none}
.sgc-btn{display:flex;align-items:center;justify-content:center;gap:10px;height:50px;border-radius:999px;border:0;cursor:pointer;background:var(--sgc-gold);color:var(--sgc-night);font:700 12px/1 var(--font-body,'Manrope',sans-serif);letter-spacing:.18em;text-transform:uppercase;transition:filter .2s}
.sgc-btn:hover{filter:brightness(1.05)}
.sgc-btn:disabled{opacity:.7;cursor:wait}
.sgc-note{margin:0;text-align:center;font-size:11.5px;color:var(--sgc-muted)}
.sgc-thread{display:flex;flex-direction:column;flex:1;min-height:0}
.sgc-wa-bar{display:flex;align-items:center;justify-content:center;gap:8px;padding:9px 12px;font-size:12px;font-weight:600;color:#1a8a49;background:#eefaf3;text-decoration:none;border-bottom:1px solid #d6f0e1}
.sgc-wa-bar svg{width:16px;height:16px}
.sgc-msgs{flex:1;overflow-y:auto;padding:16px 14px 6px;display:flex;flex-direction:column;gap:8px}
.sgc-msg{max-width:82%;display:flex;flex-direction:column}
.sgc-msg .b{padding:10px 14px;border-radius:18px;font-size:14px;line-height:1.5;word-wrap:break-word}
.sgc-msg .m{font-size:10.5px;color:var(--sgc-muted);margin:3px 8px 0}
.sgc-msg.them{align-self:flex-start}
.sgc-msg.them .b{background:#fff;border:1px solid #ece3ee;border-bottom-left-radius:6px}
.sgc-msg.me{align-self:flex-end;align-items:flex-end}
.sgc-msg.me .b{background:linear-gradient(135deg,var(--sgc-purple),var(--sgc-royal));color:#fff;border-bottom-right-radius:6px}
.sgc-msg.sys{align-self:center;max-width:92%}
.sgc-msg.sys .b{background:transparent;color:var(--sgc-muted);font-size:12.5px;text-align:center;padding:4px 6px}
.sgc-typing{display:flex;gap:4px;padding:2px 22px 8px}
.sgc-typing[hidden]{display:none}
.sgc-typing i{width:7px;height:7px;border-radius:50%;background:#bfb2c6;animation:sgc-b 1.2s infinite}
.sgc-typing i:nth-child(2){animation-delay:.15s}.sgc-typing i:nth-child(3){animation-delay:.3s}
@keyframes sgc-b{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.sgc-input{display:flex;align-items:flex-end;gap:8px;padding:10px 12px 12px;border-top:1px solid #ece3ee;background:#fff}
.sgc-input textarea{border-radius:20px;padding:11px 14px;max-height:110px;font-size:14.5px}
.sgc-input button{width:44px;height:44px;flex:0 0 auto;border-radius:50%;border:0;cursor:pointer;display:grid;place-items:center;background:var(--sgc-royal);color:var(--sgc-gold)}
.sgc-input button:hover{background:var(--sgc-purple)}
/* phones: the bottom bar's chat button opens a full-width sheet */
@media (max-width:900px){
  .sgc-launch{display:none}
  .sgc-panel{right:0;left:0;bottom:0;width:100%;max-width:none;height:min(86vh,680px);border-radius:24px 24px 0 0;transform:translateY(40px);transform-origin:bottom center}
  .sticky-cta [data-somis-chat]{position:relative}
  .sticky-cta [data-somis-chat].has-unread:after{content:'';position:absolute;top:9px;right:9px;width:11px;height:11px;border-radius:50%;background:#e0567d;border:2px solid var(--sgc-royal,#2a103b)}
}
@media (prefers-reduced-motion:reduce){.sgc-launch,.sgc-panel,.sgc-opt{transition:none}.sgc-typing i{animation:none}}
@media print{.sgc{display:none}}
