/* Ask Coco chat — ONE stylesheet for both looks: the floating widget on the home page
   (data-mode="floating") and the full-screen page /coco (data-mode="full"). Script: kt-ask-coco.js */
.ask-coco-launcher {
  position: fixed; left: 24px; bottom: 24px; z-index: 150;
  width: 52px; height: 52px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  background: var(--g-sage); color: #fff; font-size: 22px; border: none;
  cursor: pointer; box-shadow: 0 4px 16px rgba(0,0,0,.25);
  transition: transform .15s ease, background .2s;
}
.ask-coco-launcher:hover { background: var(--g-brand); transform: scale(1.05); }
.ask-coco-launcher:focus-visible { outline: 2px solid var(--gold); outline-offset: 3px; }
.ask-coco-panel {
  position: fixed; left: 24px; bottom: 88px; z-index: 160;
  width: 320px; max-width: calc(100vw - 48px); height: 420px; max-height: 65vh;
  background: var(--cream); border-radius: 16px; border: 1px solid var(--cream2);
  box-shadow: 0 12px 40px rgba(0,0,0,.3);
  display: none; flex-direction: column; overflow: hidden;
}
.ask-coco-panel.is-open { display: flex; }
.ask-coco-header {
  background: var(--g-deep); color: #fff; padding: 12px 14px;
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Playfair Display', serif; font-weight: 700; font-size: 15px;
}
.ask-coco-header button { background: none; border: none; color: #fff; font-size: 16px; cursor: pointer; }
.ask-coco-messages { flex: 1; overflow-y: auto; padding: 12px; font-size: 13px; font-family: 'Inter', sans-serif; }
.ask-coco-msg { margin-bottom: 10px; max-width: 85%; padding: 8px 12px; border-radius: 12px; line-height: 1.5; }
.ask-coco-msg.user { background: var(--g-sage); color: #fff; margin-left: auto; border-bottom-right-radius: 4px; }
.ask-coco-msg.bot  { background: var(--cream2); color: var(--ink); border-bottom-left-radius: 4px; }
.ask-coco-msg.error { background: #fbe4e4; color: #8a2c2c; }
.ask-coco-form { display: flex; gap: 6px; padding: 10px; border-top: 1px solid var(--cream2); }
.ask-coco-form input {
  flex: 1; padding: 10px 12px; border-radius: 20px; border: 1.5px solid var(--cream2);
  font-size: 13px; font-family: 'Inter', sans-serif; outline: none; background: #fff; color: var(--ink);
}
.ask-coco-form input:focus { border-color: var(--g-sage); }
.ask-coco-form button {
  width: 36px; height: 36px; border-radius: 50%; border: none;
  background: var(--g-sage); color: #fff; cursor: pointer; flex-shrink: 0;
}
.ask-coco-form button:disabled { opacity: .5; cursor: default; }
@media (max-width: 720px) {
  .ask-coco-launcher { left: 16px; bottom: 16px; }
  .ask-coco-panel { left: 10px; bottom: 78px; width: calc(100vw - 20px); }
}



/* ── FULL mode: the same chat as a page (/coco, /ask-coco). The panel fills
   the screen; 100dvh follows the phone keyboard, so the input stays visible. ── */
.ask-coco-panel[data-mode="full"] {
  position: fixed; inset: 0; z-index: 1; display: flex;
  width: 100%; max-width: none; height: 100vh; height: 100dvh; max-height: none;
  border: 0; border-radius: 0; box-shadow: none; left: 0; bottom: 0;
}
.ask-coco-panel[data-mode="full"] .ask-coco-header {
  padding: calc(12px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 12px max(16px, env(safe-area-inset-left));
  justify-content: flex-start; gap: 14px; align-items: center; flex-wrap: wrap;
}
.ask-coco-back { color: #cfe3c4; font-family: 'Inter', sans-serif; font-weight: 500; font-size: 13px; text-decoration: none; }
.ask-coco-back:hover { color: #fff; }
.ask-coco-title { font-size: 17px; }
.ask-coco-sub { flex-basis: 100%; font-family: 'Inter', sans-serif; font-weight: 300; font-size: 13px; color: #cfe3c4; }
.ask-coco-panel[data-mode="full"] .ask-coco-messages,
.ask-coco-panel[data-mode="full"] .ask-coco-turnstile-row,
.ask-coco-panel[data-mode="full"] .ask-coco-form,
.ask-coco-panel[data-mode="full"] .ask-coco-foot { width: 100%; max-width: 720px; margin-left: auto; margin-right: auto; }
.ask-coco-panel[data-mode="full"] .ask-coco-messages { font-size: 15px; padding: 16px; -webkit-overflow-scrolling: touch; overscroll-behavior: contain; }
.ask-coco-panel[data-mode="full"] .ask-coco-msg { max-width: 88%; padding: 10px 14px; }
.ask-coco-panel[data-mode="full"] .ask-coco-form {
  padding: 10px max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));
}
.ask-coco-panel[data-mode="full"] .ask-coco-form input { font-size: 16px; } /* 16px: iOS does not zoom on focus */
.ask-coco-panel[data-mode="full"] .ask-coco-form button { width: 42px; height: 42px; }
.ask-coco-foot { padding: 0 16px calc(10px + env(safe-area-inset-bottom)); font-family: 'Inter', sans-serif; font-size: 12.5px; color: #6B7F6B; text-align: center; }
.ask-coco-foot a { color: var(--g-sage); }
.ask-coco-turnstile-row { display: flex; justify-content: center; }
