/* PCS AI Concierge Widget Styles */
:root {
  --pcs-cream: #f5f0e8;
  --pcs-sand: #e8dcc8;
  --pcs-terra: #c4724a;
  --pcs-terra-dark: #a35a35;
  --pcs-sage: #7a8c72;
  --pcs-deep: #2c2418;
  --pcs-mid: #6b5c48;
  --pcs-light: #9a8a78;
  --pcs-white: #fdfaf5;
}

#pcs-chat-root * { box-sizing: border-box; margin: 0; padding: 0; }

/* Trigger button */
.pcs-trigger {
  position: fixed;
  bottom: 28px; right: 28px;
  width: 60px; height: 60px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pcs-terra), var(--pcs-terra-dark));
  border: none; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 28px rgba(196,114,74,.42), 0 2px 8px rgba(44,36,24,.12);
  transition: transform .3s cubic-bezier(.34,1.56,.64,1), box-shadow .3s;
  z-index: 99999;
}
.pcs-trigger:hover { transform: scale(1.08); box-shadow: 0 12px 36px rgba(196,114,74,.52); }

.pcs-pulse {
  position: absolute; width: 100%; height: 100%; border-radius: 50%;
  background: var(--pcs-terra); opacity: 0;
  animation: pcs-pulse 2.5s ease-out infinite;
}
@keyframes pcs-pulse { 0%{transform:scale(1);opacity:.45} 100%{transform:scale(1.75);opacity:0} }

.pcs-trigger svg { transition: transform .3s ease; }
.pcs-trigger.open svg { transform: rotate(45deg); }

/* Chat window */
.pcs-window {
  position: fixed;
  bottom: 102px; right: 28px;
  width: 360px; max-height: 560px;
  background: var(--pcs-white);
  border-radius: 20px;
  box-shadow: 0 24px 72px rgba(44,36,24,.18), 0 4px 16px rgba(44,36,24,.1);
  display: flex; flex-direction: column;
  overflow: hidden; z-index: 99998;
  transform: scale(.88) translateY(18px);
  opacity: 0; pointer-events: none;
  transform-origin: bottom right;
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), opacity .25s ease;
}
.pcs-window.open { transform: scale(1) translateY(0); opacity: 1; pointer-events: all; }
.pcs-window[aria-hidden="true"] { display: none; }
.pcs-window.open[aria-hidden="false"] { display: flex; }

/* Header */
.pcs-header {
  background: linear-gradient(135deg, var(--pcs-deep) 0%, #3d3124 100%);
  padding: 18px 20px 16px;
  display: flex; align-items: center; gap: 13px;
  flex-shrink: 0; position: relative; overflow: hidden;
}
.pcs-header::before {
  content:''; position:absolute; top:-28px; right:-18px;
  width:110px; height:110px; border-radius:50%;
  background: rgba(196,114,74,.14);
}
.pcs-avatar {
  width:44px; height:44px; border-radius:50%;
  background: linear-gradient(135deg, var(--pcs-terra), #d4895f);
  display:flex; align-items:center; justify-content:center;
  font-family: Georgia, 'Times New Roman', serif;
  font-size:19px; color:white; flex-shrink:0;
  position:relative; z-index:1;
  box-shadow: 0 2px 10px rgba(196,114,74,.4);
}
.pcs-header-text { position:relative; z-index:1; }
.pcs-header-name { font-size:16px; font-weight:500; color:var(--pcs-cream); letter-spacing:.02em; }
.pcs-header-status {
  font-size:11px; font-weight:300; color:var(--pcs-sage);
  display:flex; align-items:center; gap:5px; margin-top:2px;
}
.pcs-status-dot { width:6px; height:6px; border-radius:50%; background:#8bc34a; animation:pcs-blink 2s infinite; }
@keyframes pcs-blink { 0%,100%{opacity:1} 50%{opacity:.4} }

/* Messages */
.pcs-messages {
  flex:1; overflow-y:auto; padding:16px 14px;
  display:flex; flex-direction:column; gap:12px;
  scroll-behavior:smooth;
}
.pcs-messages::-webkit-scrollbar { width:3px; }
.pcs-messages::-webkit-scrollbar-thumb { background:var(--pcs-sand); border-radius:3px; }

.pcs-msg { display:flex; gap:8px; animation:pcs-fadeup .3s ease; }
@keyframes pcs-fadeup { from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:none} }
.pcs-msg.user { flex-direction:row-reverse; }

.pcs-msg-av {
  width:28px; height:28px; border-radius:50%;
  background:var(--pcs-sand); display:flex; align-items:center; justify-content:center;
  flex-shrink:0; align-self:flex-end; font-size:11px; color:var(--pcs-mid);
}
.pcs-msg.user .pcs-msg-av { background:linear-gradient(135deg,var(--pcs-terra),#d4895f); color:white; }

.pcs-bubble {
  max-width:82%; padding:11px 14px;
  border-radius:15px; font-size:13.5px; line-height:1.65; color:var(--pcs-deep);
}
.pcs-msg.bot .pcs-bubble {
  background:var(--pcs-cream); border-bottom-left-radius:3px;
  border:1px solid rgba(196,114,74,.1);
}
.pcs-msg.user .pcs-bubble {
  background:linear-gradient(135deg,var(--pcs-terra),var(--pcs-terra-dark));
  color:white; border-bottom-right-radius:3px;
}

/* Typing */
.pcs-typing { display:flex; gap:5px; padding:2px 0; align-items:center; }
.pcs-typing-dot { width:7px; height:7px; border-radius:50%; background:var(--pcs-terra); opacity:.4; animation:pcs-bounce 1.2s ease-in-out infinite; }
.pcs-typing-dot:nth-child(2){animation-delay:.2s}.pcs-typing-dot:nth-child(3){animation-delay:.4s}
@keyframes pcs-bounce { 0%,60%,100%{transform:translateY(0);opacity:.4} 30%{transform:translateY(-5px);opacity:1} }

/* Chips */
.pcs-chips {
  padding: 0 14px 10px;
  display: flex; flex-wrap: wrap; gap: 6px;
  flex-shrink: 0;
}
.pcs-chip {
  background:transparent; border:1px solid var(--pcs-sand);
  color:var(--pcs-mid); font-size:11.5px; padding:5px 11px;
  border-radius:18px; cursor:pointer;
  transition:all .2s; font-family:inherit;
}
.pcs-chip:hover { background:var(--pcs-cream); border-color:var(--pcs-terra); color:var(--pcs-terra-dark); }

/* Input */
.pcs-input-area {
  padding:12px 14px; border-top:1px solid var(--pcs-sand);
  display:flex; gap:9px; align-items:flex-end; flex-shrink:0;
  background:var(--pcs-white);
}
.pcs-input-wrap {
  flex:1; background:var(--pcs-cream); border:1.5px solid var(--pcs-sand);
  border-radius:13px; display:flex; align-items:center; padding:9px 13px;
  transition:border-color .2s;
}
.pcs-input-wrap:focus-within { border-color:var(--pcs-terra); }
.pcs-input {
  flex:1; background:transparent; border:none; outline:none;
  font-size:13.5px; color:var(--pcs-deep); resize:none;
  max-height:90px; line-height:1.5; font-family:inherit;
}
.pcs-input::placeholder { color:var(--pcs-light); }
.pcs-send {
  width:38px; height:38px; border-radius:11px;
  background:linear-gradient(135deg,var(--pcs-terra),var(--pcs-terra-dark));
  border:none; cursor:pointer;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0; transition:transform .2s, box-shadow .2s;
  box-shadow:0 2px 8px rgba(196,114,74,.35);
}
.pcs-send:hover:not(:disabled) { transform:scale(1.06); box-shadow:0 4px 14px rgba(196,114,74,.45); }
.pcs-send:disabled { opacity:.5; cursor:not-allowed; }

/* Responsive */
@media(max-width:480px) {
  .pcs-window { width:calc(100vw - 20px); right:10px; bottom:90px; max-height:70vh; }
  .pcs-trigger { right:16px; bottom:16px; }
}

/* Position variant: bottom-left */
.pcs-pos-left .pcs-trigger { right:auto; left:28px; }
.pcs-pos-left .pcs-window  { right:auto; left:28px; transform-origin:bottom left; }
