/* Isolated customer chat. The cookie panel (z-index: 200) takes precedence. */
.caranea-chat-launcher[hidden], .caranea-chat-dialog [hidden] { display:none !important; }
.caranea-chat-launcher { position:fixed; right:20px; bottom:max(20px, env(safe-area-inset-bottom)); z-index:180; border:1px solid #fff; border-radius:999px; padding:13px 19px; background:var(--brand-blue, #1b7394); color:#fff; box-shadow:0 5px 22px #12121c26; font:700 .88rem/1.3 var(--font-body, sans-serif); cursor:pointer; }
.caranea-chat-launcher:hover { background:#155a75; }
.caranea-chat-launcher:focus-visible, .caranea-chat-dialog :focus-visible { outline:3px solid var(--brand-blue, #1b7394); outline-offset:3px; }
.caranea-chat-launcher:focus-visible { outline-color:var(--brand-yellow, #eed37f); }
.caranea-chat-dialog { position:fixed; inset:auto 16px var(--chat-bottom, 16px) auto; margin:0; padding:0; width:min(440px, calc(100% - 32px)); height:min(720px, calc(var(--chat-visible-height, 100dvh) - 32px)); max-width:calc(100% - 32px); max-height:calc(var(--chat-visible-height, 100dvh) - 24px); color:var(--c-text, #33333f); background:var(--c-white, #fff); border:1px solid var(--c-border, #e5e5ee); border-radius:20px; box-shadow:var(--shadow-lg, 0 20px 48px #12121c29); overflow:hidden; font:400 14px/1.55 var(--font-body, sans-serif); }
.caranea-chat-dialog[open] { display:flex; flex-direction:column; }
.caranea-chat-dialog::backdrop { background:#12121c55; }
.caranea-chat-header { display:flex; align-items:center; justify-content:space-between; gap:14px; padding:18px 20px; background:var(--c-navy-900, #12121c); flex-shrink:0; }
.caranea-chat-heading { min-width:0; }
.caranea-chat-eyebrow { display:block; color:var(--brand-yellow, #eed37f); font-size:11px; line-height:1.5; margin-bottom:3px; }
.caranea-chat-dialog h2 { color:#fff; font-size:20px; line-height:1.25; margin:0; }
.caranea-chat-dialog button, .caranea-chat-dialog textarea, .caranea-chat-dialog input { font:inherit; }
.caranea-chat-dialog button { cursor:pointer; }
.caranea-chat-dialog button:disabled { cursor:default; opacity:.55; }
.caranea-chat-close { background:transparent; border:1px solid #777786; border-radius:8px; color:#fff; padding:10px 8px; font-size:12px !important; min-height:44px; }
.caranea-chat-body { min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:17px 20px 20px; }
.caranea-chat-dialog p { color:var(--c-text, #33333f); font-size:13px; line-height:1.6; margin:0 0 12px; }
.caranea-chat-dialog a { color:var(--brand-blue, #1b7394); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.caranea-chat-toolbar { display:flex; justify-content:space-between; align-items:center; gap:15px; margin:0 0 12px; font-size:13px; }
.caranea-chat-text-button { border:0; background:none; color:var(--brand-blue, #1b7394); padding:9px 0; min-height:44px; text-decoration:underline; text-underline-offset:3px; }
.caranea-chat-log { display:flex; flex-direction:column; gap:12px; }
.caranea-chat-message { padding:13px 15px; border-radius:12px; background:var(--c-paper, #f8f8fb); min-width:0; }
.caranea-chat-message-user { background:#eaf1f5; margin-left:18px; }
.caranea-chat-message-assistant { margin-right:10px; border:1px solid var(--c-border, #e5e5ee); }
.caranea-chat-speaker { display:block; font-size:11px; color:var(--brand-blue, #1b7394); margin-bottom:5px; }
.caranea-chat-dialog .caranea-chat-message-text { white-space:pre-wrap; overflow-wrap:anywhere; margin:0; }
.caranea-chat-sources { padding:9px 0 0 17px; margin:0; font-size:12px; }
.caranea-chat-sources li { margin:5px 0; }
.caranea-chat-dialog .caranea-chat-status { font-size:12px; padding-top:12px; margin-bottom:10px; }
.caranea-chat-status:empty { display:none; }
.caranea-chat-dialog .caranea-chat-status.is-error { color:#a62530; }
.caranea-chat-retry { background:#fff; border:1px solid var(--brand-blue, #1b7394); border-radius:8px; color:var(--brand-blue, #1b7394); padding:10px 12px; margin-bottom:14px; min-height:44px; }
.caranea-chat-notice { border-top:1px solid var(--c-border, #e5e5ee); margin-top:13px; padding-top:13px; }
.caranea-chat-dialog .caranea-chat-notice p { font-size:11px; line-height:1.6; margin-bottom:5px; }
.caranea-chat-ack { display:flex; align-items:center; gap:9px; min-height:44px; font-size:12px; cursor:pointer; }
.caranea-chat-ack input { width:18px; height:18px; margin:0; accent-color:var(--brand-blue, #1b7394); flex-shrink:0; }
.caranea-chat-form > label { display:block; font-size:12px; font-weight:700; margin:5px 0 7px; }
.caranea-chat-form textarea { display:block; resize:vertical; width:100%; min-height:76px; max-height:180px; padding:10px; border:1px solid #b4b4c0; border-radius:9px; background:#fff; color:var(--c-ink, #1a1a24); font-size:16px; line-height:1.5; }
.caranea-chat-form textarea[aria-invalid="true"] { border-color:#a62530; }
.caranea-chat-form textarea:disabled { background:#f3f3f7; }
.caranea-chat-form-bottom { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:9px; }
.caranea-chat-count { font-size:11px; color:#5a5a69; }
.caranea-chat-send { background:var(--brand-blue, #1b7394); color:#fff; border:0; border-radius:999px; font-weight:700 !important; padding:11px 18px; min-height:44px; max-width:65%; }
.caranea-chat-dialog .caranea-chat-memory { margin:12px 0 0; font-size:10px; line-height:1.6; color:#5a5a69; }
@media (max-width:480px) {
  .caranea-chat-launcher { right:12px; bottom:max(12px, env(safe-area-inset-bottom)); padding:12px 16px; }
  .caranea-chat-dialog { right:8px; width:calc(100% - 16px); max-width:calc(100% - 16px); height:min(720px, calc(var(--chat-visible-height, 100dvh) - 20px)); border-radius:15px; }
  .caranea-chat-header { padding:13px 14px; gap:8px; }
  .caranea-chat-dialog h2 { font-size:18px; }
  .caranea-chat-body { padding:13px 14px 16px; }
  .caranea-chat-message { padding:11px 12px; }
}
