/* ═══════════════════════════════════════════════════
   PRESENCE CONCIERGE: Widget CSS v3.0
   Brand: Presence Institute (Christine Schneiders)
   Ink #0A2A6C · Gold #02CAB3 · Off-white #F5F9FF · Cream #EAF4FF
   Type: Playfair Display (display) + Manrope (text)
   ═══════════════════════════════════════════════════ */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&display=swap');

#carmala-root {
  --cm-ink:    #0A2A6C;
  --cm-ink-d:  #061C4D;
  --cm-gold:   #02CAB3;
  --cm-gold-d: #01B09C;
  --cm-off:    #F5F9FF;
  --cm-cream:  #EAF4FF;
  --cm-line:   #DCE6F2;
  --cm-body:   #4A5670;
  --cm-mut:    #9a9a9a;
  --cm-white:  #ffffff;
  --cm-blue:   #0163E9;
  --cm-wa:     #25D366;
}

/* ── ISOLATION ── */
#carmala-root, #carmala-root * {
  box-sizing: border-box !important;
  font-family: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, sans-serif !important;
  line-height: normal;
}

/* ── TRIGGER ── */
.carmala-trigger {
  position: fixed !important; bottom: 28px !important; right: 28px !important;
  width: 60px !important; height: 60px !important; border-radius: 50% !important;
  background: linear-gradient(145deg, var(--cm-blue) 0%, var(--cm-gold) 100%) !important;
  border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  box-shadow: 0 10px 30px rgba(10,42,108,.28), 0 2px 8px rgba(10,42,108,.12) !important;
  transition: transform .35s cubic-bezier(.34,1.56,.64,1), box-shadow .3s !important;
  z-index: 2147483646 !important; padding: 0 !important; overflow: visible !important;
}
.carmala-trigger:hover { transform: scale(1.08) !important; }
.carmala-trigger svg { transition: transform .3s ease; position: relative; z-index: 2; stroke: var(--cm-white) !important; }
.carmala-trigger.open svg { transform: rotate(180deg); }
.carmala-pulse {
  position: absolute !important; inset: -4px !important; border-radius: 50% !important;
  border: 2px solid var(--cm-gold) !important; opacity: 0; animation: pi-pulse 3.2s ease-out infinite;
}
@keyframes pi-pulse { 0%{transform:scale(.9);opacity:.55} 100%{transform:scale(1.6);opacity:0} }
.carmala-trigger-label {
  position: absolute; right: 70px; white-space: nowrap;
  background: var(--cm-white); color: var(--cm-ink); font-size: 13px; font-weight: 600;
  padding: 8px 16px; border-radius: 100px; box-shadow: 0 4px 16px rgba(10,42,108,.14);
  pointer-events: none; opacity: 1; transition: opacity .25s; line-height: 1.3;
}
.carmala-trigger.open .carmala-trigger-label { opacity: 0; }
.carmala-pos-left .carmala-trigger-label { right: auto; left: 70px; }

/* ── WINDOW ── */
.carmala-window {
  position: fixed !important; bottom: 104px !important; right: 28px !important;
  width: var(--carmala-w, 380px) !important; max-height: var(--carmala-h, 580px) !important;
  background: var(--cm-off) !important; border-radius: 20px !important;
  box-shadow: 0 28px 80px rgba(10,42,108,.22), 0 6px 20px rgba(10,42,108,.10), 0 0 0 1px rgba(2,202,179,.35) !important;
  display: flex !important; flex-direction: column !important; overflow: hidden !important;
  z-index: 2147483645 !important;
  opacity: 0 !important; pointer-events: none !important; visibility: hidden !important;
  transform: scale(.9) translateY(18px) !important; transform-origin: bottom right !important;
  transition: transform .4s cubic-bezier(.34,1.56,.64,1), opacity .28s ease !important;
}
.carmala-window.carmala-open {
  opacity: 1 !important; pointer-events: all !important; visibility: visible !important;
  transform: scale(1) translateY(0) !important;
}

/* ── HEADER ── */
.carmala-header {
  background: linear-gradient(135deg, var(--cm-blue) 0%, var(--cm-ink) 100%) !important;
  padding: 20px 18px 18px !important; display: flex !important; align-items: center !important;
  gap: 13px !important; flex-shrink: 0 !important; position: relative !important; overflow: hidden !important;
}
.carmala-header-wave {
  position: absolute; bottom: 0; left: 0; width: 100%; height: 2px;
  background: linear-gradient(90deg, transparent, rgba(2,202,179,.7), transparent);
  pointer-events: none;
}
.carmala-avatar {
  width: 44px !important; height: 44px !important; border-radius: 50% !important;
  background: #ffffff !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; position: relative !important; z-index: 1 !important;
  box-shadow: 0 0 0 2px rgba(255,255,255,.35) !important;
}
.carmala-avatar svg { stroke: var(--cm-white) !important; }
.carmala-avatar img { width: 30px !important; height: 30px !important; display: block !important; }
.carmala-header-text { flex: 1; position: relative; z-index: 1; }
.carmala-header-name {
  font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important;
  font-size: 18px !important; font-weight: 700 !important; color: var(--cm-white) !important;
  letter-spacing: .01em !important;
}
.carmala-header-status {
  font-size: 11px !important; font-weight: 400 !important; color: rgba(245,249,255,.62) !important;
  display: flex !important; align-items: center !important; gap: 5px !important; margin-top: 3px !important;
}
.carmala-status-dot { width: 6px !important; height: 6px !important; border-radius: 50% !important; flex-shrink: 0 !important; }
.carmala-status-dot.open   { background: var(--cm-gold) !important; animation: pi-blink 2.6s ease-in-out infinite; }
.carmala-status-dot.closed { background: rgba(245,249,255,.4) !important; }
@keyframes pi-blink { 0%,100%{opacity:1} 50%{opacity:.35} }
.carmala-close-btn {
  width: 30px !important; height: 30px !important; border-radius: 50% !important;
  background: rgba(245,249,255,.08) !important; border: 1px solid rgba(245,249,255,.16) !important;
  color: rgba(245,249,255,.75) !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  transition: background .2s !important; position: relative !important; z-index: 1 !important;
  flex-shrink: 0 !important; padding: 0 !important;
}
.carmala-close-btn:hover { background: rgba(245,249,255,.2) !important; color: var(--cm-white) !important; }

/* ── MESSAGES ── */
.carmala-messages {
  flex: 1 !important; overflow-y: auto !important; padding: 18px 14px 8px !important;
  display: flex !important; flex-direction: column !important; gap: 12px !important; scroll-behavior: smooth !important;
  background: var(--cm-off) !important;
}
.carmala-messages::-webkit-scrollbar { width: 3px; }
.carmala-messages::-webkit-scrollbar-thumb { background: var(--cm-gold); border-radius: 3px; }
.carmala-msg { display: flex !important; gap: 8px !important; animation: pi-up .3s ease forwards; }
@keyframes pi-up { from{opacity:0;transform:translateY(7px)} to{opacity:1;transform:none} }
.carmala-msg.user { flex-direction: row-reverse !important; }
.carmala-msg-av {
  width: 28px !important; height: 28px !important; border-radius: 50% !important;
  background: var(--cm-white) !important; border: 1px solid var(--cm-line) !important;
  display: flex !important; align-items: center !important; justify-content: center !important;
  flex-shrink: 0 !important; align-self: flex-end !important; color: var(--cm-ink) !important;
}
.carmala-msg.user .carmala-msg-av { background: var(--cm-ink) !important; border-color: transparent !important; color: var(--cm-white) !important; }
.carmala-bubble {
  max-width: 82% !important; padding: 11px 14px !important; border-radius: 14px !important;
  font-size: 13.5px !important; line-height: 1.62 !important; color: var(--cm-ink) !important; word-break: break-word !important;
}
.carmala-msg.bot .carmala-bubble  { background: var(--cm-cream) !important; border: 1px solid rgba(2,202,179,.4) !important; border-bottom-left-radius: 4px !important; }
.carmala-msg.user .carmala-bubble { background: var(--cm-ink) !important; color: var(--cm-off) !important; border-bottom-right-radius: 4px !important; }
.carmala-msg.bot .carmala-bubble a  { color: var(--cm-ink) !important; font-weight: 600 !important; }
.carmala-msg.user .carmala-bubble a { color: #9ff3e8 !important; }
.carmala-typing { display: flex !important; gap: 5px !important; padding: 3px 2px !important; align-items: center !important; }
.carmala-typing-dot { width: 7px !important; height: 7px !important; border-radius: 50% !important; background: var(--cm-gold) !important; opacity: .45; animation: pi-bounce 1.3s ease-in-out infinite; }
.carmala-typing-dot:nth-child(2){animation-delay:.18s} .carmala-typing-dot:nth-child(3){animation-delay:.36s}
@keyframes pi-bounce { 0%,60%,100%{transform:translateY(0);opacity:.4} 30%{transform:translateY(-6px);opacity:1} }

/* ── LEAD FORM ── */
.carmala-lead-form { padding: 16px !important; background: var(--cm-white) !important; border-top: 1px solid var(--cm-line) !important; flex-shrink: 0 !important; }
.carmala-lead-title { font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important; font-size: 16px !important; font-weight: 500 !important; color: var(--cm-ink) !important; margin-bottom: 12px !important; }
.carmala-lead-fields { display: flex !important; flex-direction: column !important; gap: 7px !important; margin-bottom: 12px !important; }
.carmala-lf-input {
  width: 100% !important; padding: 9px 12px !important; border: 1px solid var(--cm-line) !important;
  border-radius: 9px !important; font-size: 13px !important; background: var(--cm-off) !important;
  color: var(--cm-ink) !important; outline: none !important; transition: border-color .2s !important;
}
.carmala-lf-input:focus { border-color: var(--cm-gold) !important; }
.carmala-lead-actions { display: flex !important; gap: 8px !important; }
.carmala-lf-skip { flex: 0 0 auto !important; padding: 9px 14px !important; background: transparent !important; border: 1px solid var(--cm-line) !important; border-radius: 100px !important; font-size: 12px !important; color: var(--cm-mut) !important; cursor: pointer !important; }
.carmala-lf-skip:hover { color: var(--cm-ink) !important; border-color: var(--cm-ink) !important; }
.carmala-lf-submit { flex: 1 !important; padding: 10px !important; background: var(--cm-gold) !important; border: none !important; border-radius: 100px !important; font-size: 13px !important; font-weight: 600 !important; color: var(--cm-ink) !important; cursor: pointer !important; transition: background .2s !important; }
.carmala-lf-submit:hover { background: var(--cm-gold-d) !important; }

/* ── CHIPS ── */
.carmala-chips { padding: 8px 14px 10px !important; display: flex !important; flex-wrap: wrap !important; gap: 6px !important; flex-shrink: 0 !important; border-top: 1px solid var(--cm-line) !important; }
.carmala-chip {
  background: transparent !important; border: 1px solid var(--cm-line) !important; color: var(--cm-ink) !important;
  font-size: 11.5px !important; font-weight: 500 !important; padding: 6px 12px !important; border-radius: 100px !important;
  cursor: pointer !important; white-space: nowrap !important; transition: all .2s !important;
}
.carmala-chip:hover { background: var(--cm-cream) !important; border-color: var(--cm-gold) !important; }

/* ── INPUT BAR ── */
.carmala-input-area { padding: 10px 12px !important; border-top: 1px solid var(--cm-line) !important; display: flex !important; gap: 8px !important; align-items: flex-end !important; flex-shrink: 0 !important; background: var(--cm-off) !important; }
.carmala-input-wrap { flex: 1 !important; background: var(--cm-white) !important; border: 1px solid var(--cm-line) !important; border-radius: 13px !important; padding: 9px 12px !important; transition: border-color .2s !important; }
.carmala-input-wrap:focus-within { border-color: var(--cm-gold) !important; }
.carmala-input { width: 100% !important; background: transparent !important; border: none !important; outline: none !important; font-size: 13.5px !important; color: var(--cm-ink) !important; resize: none !important; max-height: 88px !important; line-height: 1.5 !important; }
.carmala-input::placeholder { color: var(--cm-mut) !important; }
.carmala-send {
  width: 40px !important; height: 40px !important; border-radius: 12px !important;
  background: var(--cm-gold) !important; border: none !important; cursor: pointer !important;
  display: flex !important; align-items: center !important; justify-content: center !important; flex-shrink: 0 !important;
  box-shadow: 0 3px 10px rgba(2,202,179,.45) !important; transition: transform .2s, background .2s !important; padding: 0 !important;
}
.carmala-send svg { stroke: var(--cm-ink) !important; }
.carmala-send:hover:not(:disabled) { transform: scale(1.06) !important; background: var(--cm-gold-d) !important; }
.carmala-send:disabled { opacity: .45 !important; cursor: not-allowed !important; }

.carmala-footer-brand {
  text-align: center !important; font-size: 11px !important; color: var(--cm-mut) !important;
  padding: 4px 0 8px !important; letter-spacing: .06em !important;
  flex-shrink: 0 !important;
}

/* ── POSITION LEFT ── */
.carmala-pos-left .carmala-trigger { right: auto !important; left: 28px !important; }
.carmala-pos-left .carmala-window  { right: auto !important; left: 28px !important; transform-origin: bottom left !important; }

/* ── RESPONSIVE ── */
@media (max-width: 480px) {
  .carmala-window { width: calc(100vw - 14px) !important; right: 7px !important; bottom: 88px !important; max-height: 74vh !important; border-radius: 16px !important; }
  .carmala-trigger { right: 14px !important; bottom: 14px !important; }
  .carmala-pos-left .carmala-trigger { right: auto !important; left: 14px !important; }
  .carmala-pos-left .carmala-window  { right: auto !important; left: 7px !important; }
}

/* ── SCHEDULER CARD ── */
.carmala-sched { display: flex !important; flex-direction: column !important; gap: 9px !important; }
.carmala-sched-hd { font-family: 'Plus Jakarta Sans', -apple-system, sans-serif !important; font-size: 16px !important; font-weight: 500 !important; color: var(--cm-ink) !important; line-height: 1.25 !important; }
.carmala-sched-tz, .carmala-sched-hint { font-size: 11.5px !important; color: var(--cm-mut) !important; }
.carmala-sched-lbl { font-size: 11px !important; font-weight: 600 !important; letter-spacing: .04em !important; text-transform: uppercase !important; color: var(--cm-ink) !important; margin-top: 2px !important; }
.carmala-sched-date {
  width: 100% !important; padding: 9px 12px !important; border: 1px solid var(--cm-line) !important;
  border-radius: 9px !important; font-size: 13px !important; color: var(--cm-ink) !important;
  background: var(--cm-off) !important; outline: none !important;
}
.carmala-sched-date:focus { border-color: var(--cm-gold) !important; }
.carmala-sched-slots { display: flex !important; flex-wrap: wrap !important; gap: 6px !important; margin-top: 2px !important; }
.carmala-slot {
  background: var(--cm-white) !important; border: 1px solid var(--cm-line) !important; color: var(--cm-ink) !important;
  font-size: 12.5px !important; font-weight: 500 !important; padding: 7px 12px !important; border-radius: 100px !important;
  cursor: pointer !important; transition: all .15s !important;
}
.carmala-slot:hover { background: var(--cm-ink) !important; color: var(--cm-off) !important; border-color: var(--cm-ink) !important; }
.carmala-sched-name, .carmala-sched-email {
  width: 100% !important; padding: 9px 12px !important; border: 1px solid var(--cm-line) !important; border-radius: 9px !important;
  font-size: 13px !important; background: var(--cm-off) !important; color: var(--cm-ink) !important; outline: none !important;
}
.carmala-sched-name:focus, .carmala-sched-email:focus { border-color: var(--cm-gold) !important; }
.carmala-sched-actions { display: flex !important; gap: 8px !important; margin-top: 2px !important; }
.carmala-sched-back { flex: 0 0 auto !important; background: transparent !important; border: 1px solid var(--cm-line) !important; color: var(--cm-mut) !important; font-size: 12px !important; padding: 9px 14px !important; border-radius: 100px !important; cursor: pointer !important; }
.carmala-sched-confirm { flex: 1 !important; background: var(--cm-gold) !important; border: none !important; color: var(--cm-ink) !important; font-size: 13px !important; font-weight: 600 !important; padding: 10px !important; border-radius: 100px !important; cursor: pointer !important; transition: background .2s !important; }
.carmala-sched-confirm:hover:not(:disabled) { background: var(--cm-gold-d) !important; }
.carmala-sched-confirm:disabled { opacity: .6 !important; cursor: default !important; }
.carmala-sched-msg { font-size: 12px !important; color: #b4452f !important; }
.carmala-sched-done { display: flex !important; flex-direction: column !important; align-items: center !important; gap: 6px !important; text-align: center !important; padding: 6px 0 !important; }
.carmala-sched-check { width: 38px !important; height: 38px !important; border-radius: 50% !important; background: var(--cm-gold) !important; color: var(--cm-ink) !important; display: flex !important; align-items: center !important; justify-content: center !important; font-size: 19px !important; font-weight: 700 !important; }
.carmala-sched-when { font-size: 14px !important; font-weight: 600 !important; color: var(--cm-ink) !important; }
.carmala-sched-note { font-size: 12px !important; color: var(--cm-body) !important; }
.carmala-sched-ics { font-size: 12.5px !important; font-weight: 600 !important; color: var(--cm-ink) !important; text-decoration: underline !important; text-underline-offset: 2px !important; margin-top: 2px !important; }

/* ── HEADER WHATSAPP BUTTON ── */
.carmala-hd-wa {
  height: 30px !important; border-radius: 100px !important; padding: 0 11px 0 9px !important;
  background: var(--cm-wa) !important; border: none !important; color: #fff !important;
  display: flex !important; align-items: center !important; gap: 5px !important; cursor: pointer !important;
  font-size: 11.5px !important; font-weight: 700 !important; position: relative !important; z-index: 1 !important; flex-shrink: 0 !important;
}
.carmala-hd-wa svg { fill: #fff !important; stroke: none !important; }
.carmala-hd-wa:hover { filter: brightness(1.06) !important; }

/* ── DISCLAIMER ── */
.carmala-disclaimer { font-size: 10.5px !important; line-height: 1.45 !important; color: var(--cm-mut) !important; text-align: center !important; padding: 0 16px 4px !important; }

/* ── WHATSAPP BOOKING CARD ── */
.carmala-book { display: flex !important; flex-direction: column !important; gap: 8px !important; }
.carmala-book-hd { font-size: 15px !important; font-weight: 700 !important; color: var(--cm-ink) !important; line-height: 1.3 !important; }
.carmala-book-sub { font-size: 11.5px !important; color: var(--cm-body) !important; line-height: 1.45 !important; }
.carmala-book-lbl { font-size: 10.5px !important; font-weight: 700 !important; letter-spacing: .05em !important; text-transform: uppercase !important; color: var(--cm-ink) !important; margin: 2px 0 -3px !important; }
.carmala-book-row { display: flex !important; gap: 6px !important; }
.carmala-book-row > * { flex: 1 1 0 !important; min-width: 0 !important; }
.carmala-book input, .carmala-book select, .carmala-book textarea {
  width: 100% !important; padding: 8px 10px !important; border: 1px solid var(--cm-line) !important;
  border-radius: 9px !important; font-size: 13px !important; background: var(--cm-white) !important;
  color: var(--cm-ink) !important; outline: none !important; font-family: inherit !important; margin: 0 !important;
  height: auto !important; min-height: 36px !important;
}
.carmala-book textarea { resize: none !important; min-height: 54px !important; }
.carmala-book input:focus, .carmala-book select:focus, .carmala-book textarea:focus { border-color: var(--cm-gold) !important; }
.carmala-book-check { display: flex !important; align-items: center !important; gap: 7px !important; font-size: 12.5px !important; color: var(--cm-ink) !important; cursor: pointer !important; }
.carmala-book-check input { width: 16px !important; min-height: 16px !important; height: 16px !important; padding: 0 !important; accent-color: var(--cm-blue); }
.carmala-book-send {
  display: flex !important; align-items: center !important; justify-content: center !important; gap: 8px !important;
  width: 100% !important; padding: 11px !important; margin-top: 2px !important; border: none !important; border-radius: 100px !important;
  background: var(--cm-wa) !important; color: #fff !important; font-size: 13.5px !important; font-weight: 700 !important;
  cursor: pointer !important; text-decoration: none !important; box-shadow: 0 4px 14px rgba(37,211,102,.35) !important;
}
.carmala-book-send svg { fill: #fff !important; }
.carmala-book-send:hover { filter: brightness(1.05) !important; }
.carmala-book-msg { font-size: 12px !important; color: #b4452f !important; min-height: 0 !important; }
.carmala-book-done { font-size: 12.5px !important; color: var(--cm-body) !important; line-height: 1.5 !important; }
.carmala-book-done a { color: var(--cm-blue) !important; font-weight: 700 !important; }

.carmala-msg-av-bot { background: #fff !important; }
.carmala-msg-av-bot img { width: 16px !important; height: 16px !important; display: block !important; }

.carmala-chips.carmala-hidden { display: none !important; }
.carmala-header-status { white-space: nowrap !important; overflow: hidden !important; }
.carmala-status-text { overflow: hidden !important; text-overflow: ellipsis !important; }
