.wp-ai-chatbot {
    --wp-ai-gold: #c99a45;
    --wp-ai-outer-bg: #080808;
    --wp-ai-header-bg: #0b0b0b;
    --wp-ai-messages-bg: #050505;
    --wp-ai-main-text: #f4ead7;
    --wp-ai-muted-text: #b9ab94;
    --wp-ai-input-bg: #050505;
    --wp-ai-input-text: #fff7e7;
    --wp-ai-assistant-bubble-bg: #111111;
    --wp-ai-assistant-bubble-text: #f3eadb;
    --wp-ai-user-bubble-bg: #c99a45;
    --wp-ai-user-bubble-text: #090909;
    --wp-ai-button-bg: #c99a45;
    --wp-ai-button-text: #090909;
    width: 100%;
    max-width: 760px;
    margin: 2rem auto;
    border: 1px solid var(--wp-ai-launcher-border, var(--wp-ai-gold));
    border-radius: 18px;
    overflow: hidden;
    background: var(--wp-ai-outer-bg);
    color: var(--wp-ai-main-text);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--wp-ai-gold) 16%, transparent), 0 16px 45px rgba(0,0,0,.42);
    font-family: inherit;
}
.wp-ai-chatbot__header {
    display: flex;
    align-items: center;
    gap: 10px;
    padding: 16px 18px;
    border-bottom: 1px solid color-mix(in srgb, var(--wp-ai-gold) 38%, transparent);
    background: var(--wp-ai-header-bg);
}
.wp-ai-chatbot__dot { width:10px; height:10px; border-radius:50%; background:var(--wp-ai-gold); box-shadow:0 0 12px var(--wp-ai-gold); }
.wp-ai-chatbot__title { color:var(--wp-ai-main-text); font-weight:700; letter-spacing:.02em; }
.wp-ai-chatbot__status { color:var(--wp-ai-muted-text); font-size:12px; margin-top:2px; }
.wp-ai-chatbot__messages { height:390px; overflow-y:auto; padding:20px; background:var(--wp-ai-messages-bg); }
.wp-ai-chatbot__message { display:flex; margin:0 0 14px; }
.wp-ai-chatbot__message--user { justify-content:flex-end; }
.wp-ai-chatbot__message--assistant { justify-content:flex-start; }
.wp-ai-chatbot__bubble { max-width:84%; padding:12px 14px; border-radius:14px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere; font-size:15px; }
.wp-ai-chatbot__message--assistant .wp-ai-chatbot__bubble { background:var(--wp-ai-assistant-bubble-bg); color:var(--wp-ai-assistant-bubble-text); border:1px solid color-mix(in srgb, var(--wp-ai-gold) 42%, transparent); }
.wp-ai-chatbot__message--user .wp-ai-chatbot__bubble { background:var(--wp-ai-user-bubble-bg); color:var(--wp-ai-user-bubble-text); font-weight:600; }
.wp-ai-chatbot__form { display:flex; align-items:flex-end; gap:10px; padding:14px; border-top:1px solid color-mix(in srgb, var(--wp-ai-gold) 34%, transparent); background:var(--wp-ai-header-bg); }
.wp-ai-chatbot__input { flex:1; min-height:46px; max-height:140px; resize:none; padding:12px 13px; border:1px solid var(--wp-ai-gold); border-radius:10px; background:var(--wp-ai-input-bg) !important; color:var(--wp-ai-input-text) !important; caret-color:var(--wp-ai-input-text); font:inherit; line-height:1.35; box-shadow:none !important; }
.wp-ai-chatbot__input::placeholder { color:var(--wp-ai-muted-text) !important; opacity:1; }
.wp-ai-chatbot__input:focus { outline:2px solid var(--wp-ai-gold); outline-offset:1px; border-color:var(--wp-ai-gold); }
.wp-ai-chatbot__send { min-height:46px; padding:0 20px; border:1px solid var(--wp-ai-gold); border-radius:10px; background:var(--wp-ai-button-bg) !important; color:var(--wp-ai-button-text) !important; font:inherit; font-weight:800; cursor:pointer; }
.wp-ai-chatbot__send:hover { filter:brightness(1.08); }
.wp-ai-chatbot__send:disabled { opacity:.55; cursor:wait; }
.wp-ai-chatbot__note { padding:0 14px 13px; background:var(--wp-ai-header-bg); color:var(--wp-ai-muted-text); font-size:11px; text-align:center; letter-spacing:.03em; }
@media (max-width:600px) {
    .wp-ai-chatbot { border-radius:12px; margin:1rem auto; }
    .wp-ai-chatbot__messages { height:52vh; min-height:300px; padding:14px; }
    .wp-ai-chatbot__bubble { max-width:91%; }
    .wp-ai-chatbot__form { gap:8px; padding:10px; }
    .wp-ai-chatbot__send { padding:0 14px; }
}

/* Floating site-wide widget */
.wp-ai-floating {
    position: fixed;
    z-index: 999999;
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 12px;
    max-width: calc(100vw - 24px);
    font-family: inherit;
}
.wp-ai-floating--bottom-left,
.wp-ai-floating--top-left,
.wp-ai-floating--middle-left { align-items: flex-start; }
.wp-ai-floating--top-left,
.wp-ai-floating--top-right { flex-direction: column-reverse; }
.wp-ai-floating__launcher {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    min-height: var(--wp-ai-launcher-height, 50px);
    height: var(--wp-ai-launcher-height, 50px);
    padding: 0 var(--wp-ai-launcher-padding-x, 18px);
    border: 2px solid var(--wp-ai-launcher-border, var(--wp-ai-gold)) !important;
    border-radius: 999px;
    background: var(--wp-ai-launcher-bg, #000000) !important;
    color: var(--wp-ai-launcher-text, #ffffff) !important;
    box-shadow: 0 10px 32px rgba(0,0,0,.42), 0 0 8px var(--wp-ai-launcher-border, var(--wp-ai-gold)), 0 0 16px color-mix(in srgb, var(--wp-ai-launcher-border, var(--wp-ai-gold)) 60%, transparent) !important;
    cursor: pointer;
    font: inherit;
    font-size: var(--wp-ai-launcher-font-size, 16px);
    font-weight: 800;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
    cursor: grab;
    letter-spacing: .01em;
}
.wp-ai-floating__launcher.is-dragging { cursor: grabbing; }
.wp-ai-floating__launcher--draggable { touch-action: none; }
.wp-ai-floating__launcher:hover,
.wp-ai-floating__launcher:focus-visible {
    background: var(--wp-ai-launcher-hover-bg, #151515) !important;
    color: var(--wp-ai-launcher-hover-text, #ffffff) !important;
    border-color: var(--wp-ai-launcher-border, var(--wp-ai-gold));
    filter: none;
}
.wp-ai-floating__launcher:focus-visible { outline: 2px solid var(--wp-ai-launcher-border, var(--wp-ai-gold)); outline-offset: 3px; }
.wp-ai-floating__launcher-dot { width: 9px; height: 9px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.wp-ai-floating__panel { width: min(var(--wp-ai-floating-width, 430px), calc(100vw - 24px)); }
.wp-ai-floating__panel[hidden] { display: none !important; }
.wp-ai-chatbot.wp-ai-chatbot--floating {
    width: 100%;
    max-width: none;
    margin: 0;
    border-radius: 16px;
    box-shadow: 0 18px 55px rgba(0,0,0,.58), 0 0 0 1px color-mix(in srgb, var(--wp-ai-gold) 20%, transparent);
}
.wp-ai-chatbot--floating .wp-ai-chatbot__header-copy { min-width: 0; flex: 1; }
.wp-ai-chatbot__close {
    margin-left: auto;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    min-height: 34px !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex: 0 0 34px;
    border: 1px solid color-mix(in srgb, var(--wp-ai-gold) 55%, transparent) !important;
    border-radius: 50% !important;
    background: transparent !important;
    color: var(--wp-ai-main-text) !important;
    box-shadow: none !important;
    text-shadow: none !important;
    font: inherit;
    font-size: 25px !important;
    font-weight: 400 !important;
    line-height: 1 !important;
    text-align: center !important;
    vertical-align: middle;
    appearance: none;
    -webkit-appearance: none;
    cursor: pointer;
}
.wp-ai-chatbot__close:hover,
.wp-ai-chatbot__close:focus,
.wp-ai-chatbot__close:focus-visible {
    background: color-mix(in srgb, var(--wp-ai-gold) 14%, transparent) !important;
    color: var(--wp-ai-main-text) !important;
    border-color: var(--wp-ai-gold) !important;
    box-shadow: none !important;
    outline: none !important;
}
.wp-ai-chatbot--floating .wp-ai-chatbot__messages { height: var(--wp-ai-floating-messages-height, 330px); }
@media (max-width: 600px) {
    .wp-ai-floating { left: 12px !important; right: 12px !important; top: auto !important; bottom: 12px !important; transform: none !important; max-width: none; align-items: stretch; flex-direction: column; }
    .wp-ai-floating__panel { width: 100%; }
    .wp-ai-floating__launcher { align-self: flex-end; max-width: 90%; }
    .wp-ai-floating--bottom-left .wp-ai-floating__launcher, .wp-ai-floating--top-left .wp-ai-floating__launcher, .wp-ai-floating--middle-left .wp-ai-floating__launcher { align-self: flex-start; }
    .wp-ai-chatbot.wp-ai-chatbot--floating { margin: 0; }
    .wp-ai-chatbot--floating .wp-ai-chatbot__messages { height: min(var(--wp-ai-floating-messages-height, 330px), 52vh); min-height: 260px; }
}


/* Keep top-positioned launcher clear of the WordPress admin bar while logged in. */
body.admin-bar .wp-ai-floating--top-left,
body.admin-bar .wp-ai-floating--top-right {
    margin-top: 32px;
}
@media screen and (max-width: 782px) {
    body.admin-bar .wp-ai-floating--top-left,
    body.admin-bar .wp-ai-floating--top-right {
        margin-top: 46px;
    }
}

.wp-ai-chatbot__link { color: var(--wp-ai-gold); text-decoration: underline; text-underline-offset: 2px; font-weight: 700; }
.wp-ai-chatbot__link:hover, .wp-ai-chatbot__link:focus { filter: brightness(1.18); }
.wp-ai-chatbot__text { white-space: pre-wrap; }
.wp-ai-chatbot__links { display:flex; flex-wrap:wrap; gap:8px; margin-top:10px; }
.wp-ai-chatbot__links .wp-ai-chatbot__link {
    display:inline-flex;
    align-items:center;
    min-height:34px;
    padding:6px 10px;
    border:1px solid var(--wp-ai-gold);
    border-radius:999px;
    color:var(--wp-ai-main-text);
    text-decoration:none;
    background:color-mix(in srgb, var(--wp-ai-gold) 12%, transparent);
    font-size:13px;
    font-weight:700;
}
.wp-ai-chatbot__links .wp-ai-chatbot__link:hover,
.wp-ai-chatbot__links .wp-ai-chatbot__link:focus {
    background:color-mix(in srgb, var(--wp-ai-gold) 22%, transparent);
    color:var(--wp-ai-main-text);
}

/* Draggable floating chat window */
.wp-ai-chatbot--floating .wp-ai-chatbot__header--draggable {
    cursor: grab;
    touch-action: none;
    user-select: none;
}
.wp-ai-chatbot--floating .wp-ai-chatbot__header--draggable.is-dragging { cursor: grabbing; }
body.wp-ai-chat-dragging { user-select: none; }
.wp-ai-floating__panel--dragged { z-index: 1000001; }
@media (max-width: 600px) {
    .wp-ai-floating__panel--dragged {
        width: min(var(--wp-ai-floating-width, 430px), calc(100vw - 16px)) !important;
    }
}

/* Draggable floating launcher button — mouse, pen, and touch on all screen sizes. */
.wp-ai-floating__launcher--draggable {
    cursor: grab;
    touch-action: none;
    user-select: none;
    -webkit-user-select: none;
}
.wp-ai-floating__launcher--draggable.is-dragging {
    cursor: grabbing;
}
.wp-ai-floating__launcher--dragged {
    z-index: 1000002;
    max-width: calc(100vw - 16px);
}

/* Drag performance: tell the browser these fixed elements move frequently during gestures. */
.wp-ai-floating__launcher--draggable.is-dragging,
.wp-ai-floating__panel--dragged,
.wp-ai-floating__panel--anchored {
    will-change: left, top;
}
