/* Demarcus Chat: customer side. Self-contained so it looks the same under any theme. */
.dsc-chat,.dsc-float,.dsc-panel,.dsc-drop{--dsc-bg:#14060B;--dsc-surface:#1B0A12;--dsc-them:#33151F;--dsc-line:#4A2233;--dsc-text:#FFF4E6;--dsc-muted:#D9B9B0;--dsc-purple:#E0A12E;--dsc-grad:linear-gradient(135deg,#FFD978,#E0A12E);font-family:"Figtree Variable",Figtree,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.4;color:var(--dsc-text);-webkit-font-smoothing:antialiased}
.dsc-chat *,.dsc-float *,.dsc-panel *{box-sizing:border-box}
.dsc-chat [hidden],.dsc-float [hidden],.dsc-float[hidden],.dsc-panel[hidden],.dsc-drop[hidden]{display:none!important}
.dsc-trap{position:absolute!important;left:-9999px;width:1px;height:1px;opacity:0}
.dsc-ico{display:inline-flex}

/* layout */
body.dsc-page-body{margin:0;background:#14060B;overflow:hidden}
.dsc-page{height:100vh;height:100dvh;width:100%;max-width:none;margin:0}
.dsc-inline{height:640px;border-radius:18px;overflow:hidden;border:1px solid #4A2233}
.dsc-chat{display:flex;flex-direction:column;height:100%;background:var(--dsc-bg);min-height:0}
.dsc-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:12px 12px 4px;display:flex;flex-direction:column}
.dsc-body--center{align-items:center;justify-content:center;padding:24px}
.dsc-body > .dsc-thread{margin-top:auto}

/* header */
.dsc-head{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--dsc-surface);border-bottom:1px solid var(--dsc-line);flex:none}
.dsc-head__avatar{position:relative;display:inline-flex}
.dsc-head__who{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.dsc-head__who strong{font-size:16px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsc-head__who span{font-size:12.5px;color:var(--dsc-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dsc-online{position:absolute;right:-2px;bottom:-2px;width:13px;height:13px;border-radius:50%;background:#31D07F;border:2.5px solid var(--dsc-surface)}
.dsc-avatar{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:50%;background:var(--dsc-grad);color:#fff;font-weight:700;font-size:14px;flex:none}
.dsc-avatar--sm{width:28px;height:28px;font-size:10.5px;align-self:flex-end}
.dsc-avatar-gap{width:28px;flex:none}
.dsc-iconbtn{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#F6C453;cursor:pointer;flex:none;text-decoration:none}
.dsc-iconbtn:hover{background:rgba(246,196,83,.16);color:#fff}
.dsc-iconbtn--accent{color:#F6C453}
.dsc-chat :focus-visible,.dsc-float :focus-visible{outline:2px solid #F6C453;outline-offset:2px}

/* thread */
.dsc-thread{display:flex;flex-direction:column;gap:2px;padding-bottom:8px}
.dsc-stamp{align-self:center;margin:14px 0 8px;font-size:12px;font-weight:600;color:var(--dsc-muted)}
.dsc-row{display:flex;align-items:flex-end;gap:8px;max-width:100%}
.dsc-row--me{justify-content:flex-end}
.dsc-row--end{margin-bottom:8px}
.dsc-col{display:flex;flex-direction:column;max-width:min(72%,520px);min-width:0}
.dsc-row--me .dsc-col{align-items:flex-end}
.dsc-row--them .dsc-col{align-items:flex-start}
.dsc-name{margin:6px 0 3px 12px;font-size:12px;color:var(--dsc-muted)}
.dsc-bubble{padding:8px 13px;border-radius:18px;background:var(--dsc-them);white-space:pre-wrap;overflow-wrap:anywhere;font-size:15px}
.dsc-bubble a{color:#F6C453}
.dsc-row--me .dsc-bubble{background:var(--dsc-grad);color:#fff}
.dsc-row--me .dsc-bubble a{color:#fff}
/* Messenger-style grouping: square the inner corners of a run of messages */
.dsc-row--them .dsc-bubble{border-top-left-radius:5px;border-bottom-left-radius:5px}
.dsc-row--them.dsc-row--start .dsc-bubble{border-top-left-radius:18px}
.dsc-row--them.dsc-row--end .dsc-bubble{border-bottom-left-radius:18px}
.dsc-row--me .dsc-bubble{border-top-right-radius:5px;border-bottom-right-radius:5px}
.dsc-row--me.dsc-row--start .dsc-bubble{border-top-right-radius:18px}
.dsc-row--me.dsc-row--end .dsc-bubble{border-bottom-right-radius:18px}
.dsc-meta{margin:2px 6px 0;font-size:11.5px;color:var(--dsc-muted)}
.dsc-fail{display:flex;align-items:center;gap:5px;margin-top:3px;font-size:12.5px;font-weight:600;color:#FCA5A5}
.dsc-photo{display:block;border-radius:18px;overflow:hidden;border:1px solid var(--dsc-line);max-width:260px}
.dsc-photo img{display:block;width:100%;height:auto;max-height:320px;object-fit:cover}
.dsc-typing{display:inline-flex;gap:4px;padding:13px 14px;border-radius:18px!important}
.dsc-typing i{width:7px;height:7px;border-radius:50%;background:#D9B9B0;animation:dsc-bounce 1.1s infinite}
.dsc-typing i:nth-child(2){animation-delay:.15s}.dsc-typing i:nth-child(3){animation-delay:.3s}
@keyframes dsc-bounce{0%,60%,100%{transform:none;opacity:.5}30%{transform:translateY(-4px);opacity:1}}
.dsc-row--card{justify-content:center;margin:10px 0}
.dsc-card{width:min(360px,100%);padding:14px 16px;border-radius:16px;background:var(--dsc-surface);border:1px solid #7A4A2A;display:grid;gap:5px}
.dsc-card__top{display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:13.5px}
.dsc-card__title{font-weight:700;font-size:15.5px}
.dsc-card__facts{font-size:13.5px;color:#E8CFC6}
.dsc-card__note{font-size:12.5px;color:var(--dsc-muted)}
.dsc-pill{padding:2px 10px;border-radius:99px;background:rgba(251,191,36,.16);color:#FCD34D;font-size:12px;font-weight:700;text-transform:capitalize}

/* composer */
.dsc-compose{flex:none;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:var(--dsc-bg)}
.dsc-compose__row{display:flex;align-items:flex-end;gap:4px}
.dsc-compose__pill{flex:1;min-width:0;display:flex;border-radius:22px;background:var(--dsc-them);padding:0 14px}
.dsc-compose__input{flex:1;min-width:0;border:0;background:transparent;color:var(--dsc-text);font:inherit;font-size:16px;line-height:1.35;padding:11px 0;resize:none;max-height:120px;outline:0}
.dsc-compose__input::placeholder{color:#C9A79D}
.dsc-compose__pill:focus-within{box-shadow:0 0 0 2px rgba(246,196,83,.6)}
.dsc-send{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border:0;border-radius:50%;background:transparent;color:#F6C453;cursor:pointer;flex:none}
.dsc-send:hover{background:rgba(246,196,83,.16);color:#fff}
.dsc-error{margin:0;font-size:13.5px;font-weight:600;color:#FCA5A5}
.dsc-error--bar{padding:6px 10px 8px}

/* gate */
.dsc-gate{width:min(360px,100%);display:flex;flex-direction:column;gap:10px;text-align:center}
.dsc-gate__badge{align-self:center;display:flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:var(--dsc-grad);color:#fff;margin-bottom:4px}
.dsc-gate h2{margin:0;font-size:22px;font-weight:700;line-height:1.2;color:var(--dsc-text)}
.dsc-gate label{text-align:left;font-size:13.5px;font-weight:600;margin-top:6px;color:var(--dsc-text)}
.dsc-muted{margin:0;color:var(--dsc-muted)}
.dsc-small{margin:4px 0 0;font-size:12px;color:var(--dsc-muted)}
.dsc-input{width:100%;height:48px;padding:0 14px;border-radius:12px;border:1px solid #7A4A2A;background:#0E0408;color:var(--dsc-text);font:inherit;font-size:16px}
.dsc-input:focus{border-color:var(--dsc-purple);box-shadow:0 0 0 3px rgba(246,196,83,.28);outline:0}
.dsc-btn{display:inline-flex;align-items:center;justify-content:center;height:48px;margin-top:8px;padding:0 22px;border:0;border-radius:24px;background:var(--dsc-grad);color:#fff;font:inherit;font-weight:700;font-size:16px;cursor:pointer}
.dsc-btn[disabled]{opacity:.6;cursor:default}
.dsc-link{background:none;border:0;padding:0;min-height:44px;color:#F6C453;font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}
.dsc-fail .dsc-link{min-height:0}
.dsc-spinner{width:34px;height:34px;border-radius:50%;border:3px solid #4A2233;border-top-color:#E0A12E;animation:dsc-spin .8s linear infinite}
@keyframes dsc-spin{to{transform:rotate(360deg)}}
.dsc-cta{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 22px;border-radius:24px;background:linear-gradient(135deg,#FFD978,#E0A12E);color:#fff;font-weight:700;text-decoration:none}

/* floating bubble */
.dsc-float{position:fixed;z-index:99990;display:flex;align-items:center;gap:10px;flex-direction:row-reverse;touch-action:none;transition:left .25s cubic-bezier(.2,.8,.2,1),top .25s cubic-bezier(.2,.8,.2,1)}
.dsc-float--left{flex-direction:row}
.dsc-float.is-dragging{transition:none}
.dsc-head-btn{position:relative;width:60px;height:60px;border-radius:50%;border:0;background:var(--dsc-grad);color:#fff;display:flex;align-items:center;justify-content:center;cursor:grab;box-shadow:0 12px 34px -8px rgba(246,196,83,.85),0 2px 8px rgba(0,0,0,.4);touch-action:none;user-select:none;-webkit-user-select:none}
.is-dragging .dsc-head-btn{cursor:grabbing;transform:scale(1.06)}
.dsc-badge{position:absolute;top:-4px;right:-4px;min-width:22px;height:22px;padding:0 6px;border-radius:11px;background:#E11D48;border:2px solid #14060B;color:#fff;font-size:12px;font-weight:700;display:flex;align-items:center;justify-content:center}
.dsc-toast{max-width:240px;padding:10px 14px;border-radius:16px;border:1px solid #7A4A2A;background:#2E1220;color:#FFF4E6;font:inherit;text-align:left;cursor:pointer;display:flex;flex-direction:column;gap:2px;box-shadow:0 14px 40px -14px #000}
.dsc-toast strong{font-size:13px}
.dsc-toast span{font-size:13.5px;color:#E8CFC6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.dsc-drop{position:fixed;left:50%;bottom:28px;z-index:99989;width:64px;height:64px;margin-left:-32px;border-radius:50%;background:rgba(27,10,18,.92);border:2px solid #7A5560;color:#fff;display:flex;align-items:center;justify-content:center;transition:transform .15s,background-color .15s,border-color .15s}
.dsc-drop.is-hot{transform:scale(1.25);background:#BE123C;border-color:#FDA4AF}
.dsc-panel{position:fixed;z-index:99991;right:20px;bottom:20px;width:380px;height:min(640px,calc(100vh - 40px));border-radius:18px;overflow:hidden;border:1px solid #7A4A2A;box-shadow:0 40px 100px -30px #000,0 0 0 1px rgba(246,196,83,.25)}
@media (max-width:560px){
	.dsc-panel{inset:0;width:auto;height:auto;border-radius:0;border:0}
	html.dsc-open{overflow:hidden}
}
@media (prefers-reduced-motion:reduce){
	.dsc-float,.dsc-drop{transition:none}
	.dsc-typing i,.dsc-spinner{animation:none}
}
.dsc-compose__input:focus-visible{outline:0}
.dsc-float{flex-direction:row}
.dsc-float .dsc-toast{position:absolute;right:calc(100% + 10px);left:auto;top:50%;transform:translateY(-50%);width:max-content;max-width:min(240px,calc(100vw - 100px))}
.dsc-float--left .dsc-toast{left:calc(100% + 10px);right:auto}
.dsc-page.dsc-chat{height:100vh;height:100dvh}

/* assistant quick replies */
.dsc-options{display:flex;flex-wrap:wrap;gap:8px;padding:8px 0 6px 44px}
.dsc-option{border:1px solid #B8862B;background:rgba(246,196,83,.12);color:#FFE08A;border-radius:18px;padding:8px 14px;font:inherit;font-size:14px;font-weight:600;cursor:pointer;min-height:38px}
.dsc-option:hover{background:rgba(246,196,83,.3)}
