/* AMC Floating Chat CSS (v1.0.5) */
.amc-float{ position: fixed; bottom: 18px; z-index: 99999; font-family: inherit; pointer-events: auto; }
.amc-pos-left{ left: 18px; }
.amc-pos-right{ right: 18px; }

.amc-launcher{
  display:flex; align-items:center; gap:12px;
  background: var(--amcfc-header-bg); color: var(--amcfc-header-text);
  border: 1px solid rgba(255,255,255,0.12);
  border-radius: 999px; padding: 10px 14px;
  cursor:pointer; box-shadow: 0 12px 30px rgba(0,0,0,0.18);
  max-width: 320px; pointer-events:auto;
}
.amc-launcher__icon{
  width:40px; height:40px; display:grid; place-items:center;
  border-radius:999px; background: rgba(0,0,0,0.12);
  color: var(--amcfc-header-text); flex: 0 0 auto;
}
.amc-launcher__text strong{ display:block; font-size:14px; line-height:1.1; }
.amc-launcher__text small{ display:block; font-size:12px; opacity:0.85; }

.amc-float[data-amc-state="open"] .amc-launcher{ display:none !important; }

.amc-panel{
  width: var(--amcfc-dw); height: var(--amcfc-dh);
  display:none; background:#fff;
  border-radius: 18px; overflow:hidden;
  box-shadow: 0 18px 50px rgba(0,0,0,0.22);
  border: 1px solid var(--amcfc-border);
  pointer-events:auto;
}
.amc-panel__header{
  background: var(--amcfc-header-bg); color: var(--amcfc-header-text);
  padding: 12px; display:flex; align-items:center; justify-content: space-between;
}
.amc-panel__title{ display:flex; gap:10px; align-items:center; }
.amc-dot{
  width:10px; height:10px; border-radius:999px;
  background: var(--amcfc-primary);
  box-shadow: 0 0 0 4px rgba(0,0,0,0.10);
}
.amc-h-title{ font-weight:700; font-size:14px; line-height:1.1; }
.amc-h-sub{ font-size:12px; opacity:.85; margin-top:2px; }

.amc-panel__actions{
  display:flex !important; flex-direction:row !important;
  align-items:center !important; justify-content:flex-end !important;
  gap:8px !important; white-space:nowrap !important;
}
.amc-panel__actions button{
  position: static !important;
  width:34px !important; height:34px !important;
  border-radius:12px !important;
  border: 1px solid rgba(255,255,255,0.22) !important;
  background: rgba(255,255,255,0.10) !important;
  color: var(--amcfc-header-text) !important;
  font-weight:800 !important;
  line-height:1 !important;
  display:grid !important; place-items:center !important;
  cursor:pointer !important;
}
.amc-panel__actions button:hover{ background: rgba(255,255,255,0.18) !important; }

.amc-panel__body{
  background: var(--amcfc-light-bg);
  height: calc(100% - 58px);
  padding: 10px;
  display:flex; flex-direction:column;
}

/* Embed */
.amc-embed{ flex:1 1 auto; min-height:0; }
.amc-embed .amc-chat-header{ display:none !important; }

/* Robust layout without magic numbers */
.amc-embed .amc-chat{
  display:flex !important;
  flex-direction:column !important;
  height:100% !important;
  border-radius:14px;
}
.amc-embed .amc-chat-window{
  flex:1 1 auto !important;
  min-height:0 !important;
  height:auto !important;
  background: var(--amcfc-light-bg) !important;
  border: 1px solid var(--amcfc-border) !important;
  border-radius:14px !important;
  padding:12px !important;
  overflow-y:auto !important;
  pointer-events:auto !important;
}
.amc-embed .amc-bubble, .amc-embed .amc-bubble *{ pointer-events:auto !important; }

.amc-embed .amc-chat-controls{
  display:flex !important;
  gap:10px !important;
  align-items:flex-end !important;
  margin-top:10px !important;
}
.amc-embed textarea.amc-user-question{
  background:#fff;
  border:1px solid var(--amcfc-border);
  border-radius:14px;
  padding:10px 12px;
  color: var(--amcfc-heading);
  outline:none;
  min-height:44px;
  width:100%;
  resize:none;
}
.amc-embed textarea.amc-user-question:focus{
  border-color: var(--amcfc-primary);
  box-shadow: 0 0 0 3px rgba(0,0,0,0.06);
}
.amc-embed .amc-send-btn{
  background: var(--amcfc-primary);
  border:1px solid var(--amcfc-primary);
  color:#fff;
  border-radius:14px;
  padding:10px 14px;
  font-weight:700;
  cursor:pointer;
  white-space:nowrap;
}
.amc-embed .amc-send-btn:hover{ filter: brightness(0.95); }

/* Links + Sources details */
.amc-embed .amc-bubble a{
  color: var(--amcfc-primary) !important;
  text-decoration: underline !important;
  cursor: pointer !important;
}
.amc-embed details.amcfc-sources{
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px dashed var(--amcfc-border);
  font-size: 12px;
  opacity: 0.95;
}
.amc-embed details.amcfc-sources > summary{
  cursor: pointer;
  font-weight: 700;
  list-style: none;
}
.amc-embed details.amcfc-sources > summary::-webkit-details-marker{ display:none; }
.amc-embed details.amcfc-sources .amcfc-sources-body{
  margin-top: 6px;
  line-height: 1.35;
  white-space: normal;
}

/* Intro + quick replies inside chat */
.amc-embed .amcfc-intro{ margin-bottom: 10px; }
.amc-embed .amcfc-intro-text{ margin-bottom: 10px; }
.amc-embed .amcfc-qr{ display:flex; flex-wrap:wrap; gap:8px; }
.amc-embed .amcfc-qr button{
  border:1px solid var(--amcfc-border);
  background:#fff;
  color: var(--amcfc-heading);
  border-radius:999px;
  padding:8px 10px;
  font-weight:700;
  cursor:pointer;
}
.amc-embed .amcfc-qr button:hover{ border-color: var(--amcfc-primary); }

/* Hide typing indicator as fallback */
.amc-embed .amc-typing, .amc-embed .amc-typing-indicator, .amc-embed [data-amc-typing]{ display:none !important; }

/* Mobile: icon-only launcher */
@media (max-width: 480px){
  .amc-float{ left:12px; right:12px; bottom:12px; }
  .amc-pos-left, .amc-pos-right{ left:12px; right:12px; }
  .amc-launcher{ padding:10px; justify-content:center; }
  .amc-launcher__text{ display:none; }
  .amc-panel{ width: calc(100vw - 24px); height: min(var(--amcfc-mvh), var(--amcfc-mcap)); }
}
