/* ============================================================
   AI CONCIERGE — brand-matched, mobile-first
   Full-screen sheet on phones, floating panel on desktop.
   ============================================================ */

#npsConcierge{font-family:'Jost',system-ui,sans-serif}
.cc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- Launcher ---------- */
.cc-launch{
  position:fixed;right:24px;bottom:94px;z-index:960;
  width:58px;height:58px;border-radius:50%;border:1px solid rgba(228,200,138,.5);
  background:linear-gradient(140deg,#5C2733,#3A141D);
  display:grid;place-items:center;cursor:pointer;
  box-shadow:0 12px 34px rgba(42,32,36,.4);
  transition:transform .35s cubic-bezier(.22,.61,.36,1),box-shadow .35s;
}
.cc-launch:hover{transform:translateY(-3px) scale(1.04);box-shadow:0 18px 40px rgba(42,32,36,.5)}
.cc-launch:focus-visible{outline:2px solid var(--gold,#C39C5E);outline-offset:3px}
.cc-launch svg{width:26px;height:26px;stroke:#E4C88A;fill:none;grid-area:1/1;transition:opacity .25s,transform .25s}
.cc-ico-close{opacity:0;transform:rotate(-90deg)}
.cc-launch.open .cc-ico-open{opacity:0;transform:rotate(90deg)}
.cc-launch.open .cc-ico-close{opacity:1;transform:none}

.cc-dot{
  position:absolute;top:2px;right:2px;width:12px;height:12px;border-radius:50%;
  background:#C39C5E;border:2px solid #3A141D;
  animation:ccPulse 2.4s infinite;
}
@keyframes ccPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.25);opacity:.65}}

/* Nudge the WhatsApp button clear of the launcher */
.wa-float.wa-shift{bottom:24px}

/* ---------- Panel ---------- */
.cc-panel{
  position:fixed;right:24px;bottom:164px;z-index:961;
  width:380px;max-width:calc(100vw - 32px);
  height:min(560px,calc(100vh - 200px));
  background:#FAF6F0;border-radius:20px;overflow:hidden;
  display:flex;flex-direction:column;
  border:1px solid rgba(195,156,94,.34);
  box-shadow:0 30px 80px rgba(42,32,36,.3);
  animation:ccIn .32s cubic-bezier(.22,.61,.36,1);
}
@keyframes ccIn{from{opacity:0;transform:translateY(16px) scale(.97)}to{opacity:1;transform:none}}
.cc-panel[hidden]{display:none}

/* ---------- Header ---------- */
.cc-head{
  background:linear-gradient(140deg,#4A1D28,#3A141D);
  padding:16px 18px;display:flex;align-items:center;justify-content:space-between;gap:12px;
  border-bottom:1px solid rgba(195,156,94,.28);flex-shrink:0;
}
.cc-head-id{display:flex;align-items:center;gap:12px;min-width:0}
.cc-head-id img{width:34px;height:34px;object-fit:contain;background:none;flex-shrink:0}
.cc-head-id b{
  display:block;font-family:'Cormorant Garamond',Georgia,serif;
  font-size:1.22rem;color:#E4C88A;font-weight:600;letter-spacing:.06em;line-height:1.1;
}
.cc-head-id small{
  display:flex;align-items:center;gap:6px;
  font-size:.66rem;color:rgba(250,246,240,.62);letter-spacing:.1em;text-transform:uppercase;margin-top:2px;
}
.cc-head-id small i{width:6px;height:6px;border-radius:50%;background:#5FD07E;display:inline-block}
.cc-x{background:none;border:none;cursor:pointer;padding:8px;margin:-8px;border-radius:8px;flex-shrink:0}
.cc-x svg{width:19px;height:19px;stroke:rgba(250,246,240,.7);fill:none}
.cc-x:hover svg{stroke:#E4C88A}
.cc-x:focus-visible{outline:2px solid var(--gold,#C39C5E)}

/* ---------- Log ---------- */
.cc-log{
  flex:1;overflow-y:auto;padding:20px 16px 6px;
  display:flex;flex-direction:column;gap:12px;
  scroll-behavior:smooth;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;
}
.cc-log::-webkit-scrollbar{width:5px}
.cc-log::-webkit-scrollbar-thumb{background:rgba(195,156,94,.4);border-radius:9px}

.cc-msg{display:flex;animation:ccMsg .3s cubic-bezier(.22,.61,.36,1)}
@keyframes ccMsg{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.cc-bot{justify-content:flex-start}
.cc-me{justify-content:flex-end}

.cc-bubble{
  max-width:84%;padding:13px 16px;border-radius:16px;
  font-size:.92rem;line-height:1.6;word-wrap:break-word;overflow-wrap:break-word;
}
.cc-bot .cc-bubble{
  background:#fff;color:#2A2024;border:1px solid rgba(74,29,40,.1);
  border-bottom-left-radius:5px;box-shadow:0 3px 12px rgba(42,32,36,.05);
}
.cc-me .cc-bubble{
  background:linear-gradient(140deg,#5C2733,#4A1D28);color:#FAF6F0;
  border-bottom-right-radius:5px;
}
.cc-bubble strong{color:#4A1D28;font-weight:600}
.cc-me .cc-bubble strong{color:#E4C88A}
.cc-bubble em{color:#8A7B72;font-style:italic}

/* typing dots */
.cc-typing .cc-bubble{display:flex;gap:5px;padding:15px 17px}
.cc-typing span{width:7px;height:7px;border-radius:50%;background:#C39C5E;opacity:.4;animation:ccBounce 1.3s infinite}
.cc-typing span:nth-child(2){animation-delay:.16s}
.cc-typing span:nth-child(3){animation-delay:.32s}
@keyframes ccBounce{0%,60%,100%{transform:translateY(0);opacity:.35}30%{transform:translateY(-5px);opacity:1}}

/* quote action buttons */
.cc-actions{display:flex;gap:8px;flex-wrap:wrap;padding:2px 0 4px}
.cc-cta{
  flex:1;min-width:130px;text-align:center;
  padding:11px 14px;border-radius:100px;
  font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;font-weight:500;
  background:linear-gradient(135deg,#E4C88A,#C39C5E);color:#3A141D;
  text-decoration:none;transition:.3s;min-height:44px;display:flex;align-items:center;justify-content:center;
}
.cc-cta:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(195,156,94,.4);color:#3A141D}
.cc-cta-ghost{background:none;border:1px solid rgba(74,29,40,.22);color:#4A1D28}
.cc-cta-ghost:hover{background:#4A1D28;color:#fff;border-color:#4A1D28}

/* ---------- Chips ---------- */
.cc-chips{
  display:flex;gap:7px;flex-wrap:wrap;
  padding:8px 16px 4px;flex-shrink:0;
}
.cc-chip{
  background:#fff;border:1px solid rgba(195,156,94,.42);
  color:#4A1D28;font-family:'Jost',sans-serif;font-size:.78rem;
  padding:9px 15px;border-radius:100px;cursor:pointer;
  transition:.25s;white-space:nowrap;min-height:38px;
  text-decoration:none;display:inline-flex;align-items:center;
}
.cc-chip:hover{background:#4A1D28;color:#fff;border-color:#4A1D28}
.cc-chip:focus-visible{outline:2px solid var(--gold,#C39C5E);outline-offset:2px}
.cc-chip-wa{background:#25D366;border-color:#25D366;color:#fff;font-weight:500}
.cc-chip-wa:hover{background:#1da851;border-color:#1da851;color:#fff}

/* ---------- Input ---------- */
.cc-input{
  display:flex;gap:8px;align-items:center;
  padding:12px 14px;border-top:1px solid rgba(74,29,40,.09);
  background:#fff;flex-shrink:0;
}
.cc-input input{
  flex:1;min-width:0;border:1px solid rgba(74,29,40,.14);border-radius:100px;
  padding:12px 17px;font-family:'Jost',sans-serif;font-size:16px;color:#2A2024;
  background:#FAF6F0;outline:none;transition:.25s;
}
.cc-input input:focus{border-color:#C39C5E;background:#fff}
.cc-input input::placeholder{color:#A99A92}
.cc-input button{
  width:46px;height:46px;flex-shrink:0;border-radius:50%;border:none;cursor:pointer;
  background:linear-gradient(135deg,#E4C88A,#C39C5E);
  display:grid;place-items:center;transition:.25s;
}
.cc-input button:hover{transform:scale(1.06)}
.cc-input button:focus-visible{outline:2px solid #4A1D28;outline-offset:2px}
.cc-input button svg{width:19px;height:19px;stroke:#3A141D;fill:none}

.cc-foot{
  text-align:center;font-size:.66rem;color:#A99A92;
  padding:8px 12px 11px;background:#fff;letter-spacing:.05em;flex-shrink:0;margin:0;
}
.cc-foot a{color:#A67C3D;text-decoration:underline;text-underline-offset:2px}
.cc-foot a:hover{color:#4A1D28}

/* ============================================================
   MOBILE — full-screen sheet
   ============================================================ */
@media(max-width:860px){
  .cc-launch{
    right:16px;bottom:80px;width:54px;height:54px;
  }
  .cc-launch svg{width:24px;height:24px}

  .wa-float.wa-shift{bottom:16px}

  .cc-panel{
    right:0;left:0;bottom:0;top:0;
    width:100%;max-width:100%;height:100%;height:100dvh;
    border-radius:0;border:none;
    animation:ccUp .3s cubic-bezier(.22,.61,.36,1);
  }
  @keyframes ccUp{from{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}

  /* Notch + home indicator */
  .cc-head{padding-top:max(16px,env(safe-area-inset-top))}
  .cc-foot{padding-bottom:max(11px,env(safe-area-inset-bottom))}

  .cc-bubble{max-width:88%;font-size:.94rem}
  .cc-log{padding:18px 14px 6px}
  .cc-chips{padding:8px 14px 4px}
  .cc-chip{min-height:42px;font-size:.8rem;padding:10px 16px}
  .cc-input{padding:11px 12px}
  .cc-input input{font-size:16px}   /* prevents iOS zoom-on-focus */

  /* Lock the page behind the sheet */
  body.cc-open{overflow:hidden}
}

@media(max-width:380px){
  .cc-launch{width:50px;height:50px;bottom:74px;right:14px}
  .cc-launch svg{width:22px;height:22px}
  .cc-head-id b{font-size:1.1rem}
  .cc-head-id small{font-size:.6rem}
  .cc-bubble{font-size:.9rem;padding:12px 14px}
  .cc-cta{min-width:120px;font-size:.68rem}
}

/* Landscape phones: sheet shouldn't be taller than the screen */
@media(max-height:520px) and (orientation:landscape){
  .cc-panel{height:100dvh}
  .cc-launch{bottom:64px}
}

@media(prefers-reduced-motion:reduce){
  .cc-panel,.cc-msg{animation:none}
  .cc-dot{animation:none}
  .cc-typing span{animation:none;opacity:.6}
  .cc-launch{transition:none}
}
