/* OZY AI Chatbot — Stylesheet v1.1.0 */

:root {
    --ozy-primary:      #CFF023;
    --ozy-primary-hover:#b8d41f;
    --ozy-primary-glow: rgba(207,240,35,0.35);
    --ozy-primary-light:rgba(207,240,35,0.10);
    --ozy-primary-soft: rgba(207,240,35,0.18);
    --ozy-primary-mid:  rgba(207,240,35,0.30);
    --ozy-on-primary:   #0A1A2F;
    --ozy-secondary:    #0A1A2F;
    --ozy-bg:           rgba(10,26,47,0.96);
    --ozy-surface:      rgba(8,14,28,0.97);
    --ozy-border:       rgba(207,240,35,0.08);
    --ozy-border-mid:   rgba(207,240,35,0.18);
    --ozy-text:         rgba(255,255,255,0.85);
    --ozy-text-strong:  #ffffff;
    --ozy-muted:        rgba(255,255,255,0.45);
    --ozy-soft:         rgba(255,255,255,0.05);
    --ozy-soft-2:       rgba(255,255,255,0.10);
    --ozy-input-bg:     #ffffff;
    --ozy-input-text:   #333333;
    --ozy-font:         'Rethink Sans',-apple-system,BlinkMacSystemFont,sans-serif;
    --ozy-radius:       20px;
    --ozy-float-size:   62px;
    --ozy-popup-w:      740px;
    --ozy-popup-h:      600px;
    --ozy-inline-w:     100%;
    --ozy-inline-h:     420px;
}

/* Brand mark follows the color scheme everywhere it appears */
.ozy-bot-icon {
    --ozy-bot-body: var(--ozy-primary);
    --ozy-bot-face: var(--ozy-surface);
    --ozy-bot-eye:  var(--ozy-text-strong);
}

/* ═══════════════════════════════════════════
   FLOATING BUTTON
═══════════════════════════════════════════ */
.ozy-float-btn {
    position: fixed !important;
    z-index: 99998 !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    gap: 5px !important;
    cursor: pointer !important;
    background: none !important;
    border: none !important;
    padding: 0 !important;
    box-shadow: none !important;
    -webkit-tap-highlight-color: transparent !important;
    text-decoration: none !important;
}
.ozy-float-btn.ozy-pos-bottom-right { bottom: 28px !important; right: 28px !important; }
.ozy-float-btn.ozy-pos-bottom-left  { bottom: 28px !important; left:  28px !important; }
.ozy-float-btn.ozy-pos-top-right    { top: 28px !important;    right: 28px !important; }
.ozy-float-btn.ozy-pos-top-left     { top: 28px !important;    left:  28px !important; }

.ozy-float-btn:hover,.ozy-float-btn:focus { background:none !important; outline:none !important; box-shadow:none !important; }

.ozy-float-orb-wrap {
    width: var(--ozy-float-size) !important; height: var(--ozy-float-size) !important;
    position: relative !important; flex-shrink: 0 !important;
}

.ozy-float-orb {
    width: 100% !important; height: 100% !important;
    border-radius: 50% !important;
    background: var(--ozy-surface) !important;
    border: 1.5px solid var(--ozy-primary-mid) !important;
    box-shadow: 0 0 18px var(--ozy-primary-glow), 0 4px 20px rgba(0,0,0,0.5) !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    overflow: hidden !important; transition: transform 0.2s !important; position: relative !important;
}
.ozy-float-orb::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, var(--ozy-primary-soft) 50%, transparent) !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important; z-index: 2 !important;
}
.ozy-float-orb img { width:100% !important; height:100% !important; object-fit:cover !important; border-radius:50% !important; display:block !important; }
.ozy-float-orb svg { width:78% !important; height:78% !important; position:relative !important; z-index:1 !important; }
.ozy-float-btn:hover .ozy-float-orb { transform:scale(1.08) !important; }

/* A single sonar ring — pulses outward from the orb and fades */
.ozy-pulse-ring {
    position: absolute !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--ozy-primary) !important;
    width: 100% !important; height: 100% !important;
    top: 0 !important; left: 0 !important;
    animation: ozyPulseOut 2.8s ease-out infinite !important;
    pointer-events: none !important;
}
@keyframes ozyPulseOut {
    0%   { transform: scale(1);   opacity: 0.6; }
    70%  { opacity: 0.12; }
    100% { transform: scale(2.1); opacity: 0; }
}

.ozy-float-ring {
    position: absolute !important;
    top: -5px !important; left: -5px !important;
    width: calc(100% + 10px) !important; height: calc(100% + 10px) !important;
    border-radius: 50% !important;
    border: 1.5px solid var(--ozy-primary-mid) !important;
    animation: ozyRingSpin 8s linear infinite !important;
    pointer-events: none !important;
}
@keyframes ozyRingSpin { to { transform: rotate(360deg); } }

.ozy-float-label {
    font-family: var(--ozy-font) !important;
    font-size: calc(var(--ozy-float-size) / 6.6) !important; font-weight: 700 !important;
    color: var(--ozy-muted) !important;
    letter-spacing: 0.12em !important; text-transform: uppercase !important;
    user-select: none !important; background: none !important; text-shadow: none !important;
    margin: 0 !important; padding: 0 !important;
}

/* ═══════════════════════════════════════════
   BACKDROP + POPUP
═══════════════════════════════════════════ */
.ozy-backdrop {
    position: fixed !important;
    top: 0 !important; left: 0 !important; width: 100% !important; height: 100% !important;
    background: rgba(0,0,0,0.75) !important;
    backdrop-filter: blur(10px) !important; -webkit-backdrop-filter: blur(10px) !important;
    z-index: 999999 !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
    padding: 20px !important; box-sizing: border-box !important;
    opacity: 0 !important; pointer-events: none !important;
    transition: opacity 0.28s ease !important;
}
.ozy-backdrop.open { opacity: 1 !important; pointer-events: auto !important; }

.ozy-popup-outer {
    position: relative !important;
    width: 100% !important; max-width: var(--ozy-popup-w) !important;
    display: flex !important; flex-direction: column !important;
    align-items: stretch !important;
    border-radius: var(--ozy-radius) !important;
}

/* ANIMATED BORDER */
.ozy-border-box {
    position: absolute !important;
    top: -1px !important; left: -1px !important;
    width: calc(100% + 2px) !important; height: calc(100% + 2px) !important;
    border-radius: calc(var(--ozy-radius) + 1px) !important;
    pointer-events: none !important; z-index: 30 !important; overflow: hidden !important;
}
.ozy-border-box::before {
    content: "" !important; position: absolute !important; inset: 0 !important;
    border-radius: inherit !important; border: 1px solid var(--ozy-border-mid) !important;
    pointer-events: none !important;
}
.ozy-border-box::after { display: none !important; }

.ozy-bl-top,.ozy-bl-bottom {
    position: absolute !important; height: 2px !important; width: 45% !important;
    background: linear-gradient(90deg, transparent 0%, var(--ozy-primary-mid) 15%, var(--ozy-primary) 50%, var(--ozy-primary-mid) 85%, transparent 100%) !important;
    border-radius: 2px !important;
}
.ozy-bl-top    { top: 0 !important;    animation: ozyTop 2.4s linear infinite !important; }
.ozy-bl-bottom { bottom: 0 !important; animation: ozyBottom 2.4s linear infinite !important; }
@keyframes ozyTop    { 0%{left:-45%}  100%{left:100%}  }
@keyframes ozyBottom { 0%{right:-45%} 100%{right:100%} }

.ozy-bl-left,.ozy-bl-right {
    position: absolute !important; width: 2px !important; height: 45% !important;
    background: linear-gradient(180deg, transparent 0%, var(--ozy-primary-mid) 15%, var(--ozy-primary) 50%, var(--ozy-primary-mid) 85%, transparent 100%) !important;
    border-radius: 2px !important;
}
.ozy-bl-right { right: 0 !important; animation: ozyRight 2.4s linear infinite !important; animation-delay: 1.2s !important; }
.ozy-bl-left  { left: 0 !important;  animation: ozyLeft  2.4s linear infinite !important; animation-delay: 1.2s !important; }
@keyframes ozyRight { 0%{top:-45%}    100%{top:100%}    }
@keyframes ozyLeft  { 0%{bottom:-45%} 100%{bottom:100%} }

.ozy-popup {
    position: relative !important; width: 100% !important;
    background: var(--ozy-surface) !important;
    border-radius: var(--ozy-radius) !important; border: 1px solid transparent !important;
    box-shadow: 0 40px 100px rgba(0,0,0,0.85) !important;
    display: flex !important; flex-direction: column !important;
    overflow: hidden !important; font-family: var(--ozy-font) !important;
    transform: translateY(24px) scale(0.96) !important;
    transition: transform 0.35s cubic-bezier(0.34,1.3,0.64,1) !important;
    box-sizing: border-box !important;
    height: var(--ozy-popup-h) !important; max-height: 88vh !important;
}
.ozy-backdrop.open .ozy-popup { transform: translateY(0) scale(1) !important; }

/* HEADER */
.ozy-popup-header {
    position: relative !important; overflow: hidden !important;
    padding: 14px 18px !important; border-bottom: 1px solid var(--ozy-border) !important;
    display: flex !important; align-items: center !important; justify-content: space-between !important;
    flex-shrink: 0 !important; box-sizing: border-box !important;
}
.ozy-popup-header-bg {
    position: absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background: radial-gradient(ellipse at 20% 55%, var(--ozy-primary-light) 0%, transparent 65%) !important;
    pointer-events: none !important; z-index:0 !important;
}
.ozy-popup-header-bg::after {
    content:'' !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background-image: radial-gradient(circle, var(--ozy-soft) 1px, transparent 1px) !important;
    background-size: 18px 18px !important;
}
.ozy-popup-agent { display:flex !important; align-items:center !important; gap:11px !important; position:relative !important; z-index:1 !important; min-width:0 !important; }

.ozy-popup-orb {
    width: 36px !important; height: 36px !important; min-width: 36px !important;
    border-radius: 50% !important;
    background: var(--ozy-surface) !important;
    border: 1.5px solid var(--ozy-primary-mid) !important;
    box-shadow: 0 0 12px var(--ozy-primary-glow) !important;
    flex-shrink: 0 !important; overflow: hidden !important; position: relative !important;
    display: flex !important; align-items: center !important; justify-content: center !important;
}
.ozy-popup-orb::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, var(--ozy-primary-soft) 50%, transparent) !important;
    border-radius: 50% !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important;
}
@keyframes ozyScan { 0% { top: -40%; } 100% { top: 100%; } }
.ozy-popup-orb img { width:100% !important; height:100% !important; object-fit:contain !important; border-radius:50% !important; display:block !important; }
.ozy-popup-orb svg { width:30px !important; height:30px !important; }

.ozy-popup-name {
    font-family: var(--ozy-font) !important; font-size:0.88rem !important;
    font-weight:700 !important; color:var(--ozy-text-strong) !important; margin:0 !important; padding:0 !important;
    background:none !important; border:none !important; letter-spacing:-0.01em !important;
}
.ozy-popup-name em { color:var(--ozy-primary) !important; font-style:normal !important; }

.ozy-popup-sub {
    font-family:var(--ozy-font) !important; font-size:0.67rem !important; color:var(--ozy-muted) !important;
    margin:2px 0 0 !important; padding:0 !important; background:none !important; font-weight:400 !important;
}

.ozy-popup-right { display:flex !important; align-items:center !important; gap:9px !important; position:relative !important; z-index:1 !important; }

.ozy-status-pill {
    display:flex !important; align-items:center !important; gap:6px !important;
    padding:5px 12px !important; background:var(--ozy-soft) !important;
    border:1px solid var(--ozy-border-mid) !important; border-radius:30px !important;
    font-family:var(--ozy-font) !important; font-size:0.68rem !important; font-weight:700 !important;
    color:#4ade80 !important; letter-spacing:0.06em !important; text-transform:uppercase !important;
    white-space:nowrap !important;
}
.ozy-status-dot {
    width:7px !important; height:7px !important; border-radius:50% !important;
    background:#4ade80 !important; box-shadow:0 0 6px #4ade80 !important;
    animation:ozyDotPulse 2s ease-in-out infinite !important; display:inline-block !important;
}
@keyframes ozyDotPulse { 0%,100%{opacity:1} 50%{opacity:0.3} }

.ozy-popup-close {
    width:28px !important; height:28px !important; border-radius:7px !important;
    background:var(--ozy-soft) !important; border:1px solid var(--ozy-border) !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    cursor:pointer !important; color:var(--ozy-muted) !important; transition:all 0.18s !important;
    padding:0 !important; box-shadow:none !important; flex-shrink:0 !important;
}
.ozy-popup-close:hover { background:var(--ozy-primary-light) !important; border-color:var(--ozy-primary-mid) !important; color:var(--ozy-primary) !important; }
.ozy-popup-close svg { width:14px !important; height:14px !important; stroke:currentColor !important; fill:none !important; }

/* AGENT SELECTOR */
.ozy-agent-tabs {
    padding: 8px 16px 0 !important; display:flex !important; gap:6px !important;
    border-bottom: 1px solid var(--ozy-border) !important; flex-shrink:0 !important;
    overflow-x: auto !important; box-sizing:border-box !important;
}
.ozy-agent-tab {
    padding: 6px 14px !important; border-radius:7px 7px 0 0 !important;
    border:1px solid transparent !important; border-bottom:none !important;
    font-family:var(--ozy-font) !important; font-size:0.75rem !important; font-weight:600 !important;
    color:var(--ozy-muted) !important; cursor:pointer !important; background:none !important;
    transition:all 0.18s !important; white-space:nowrap !important;
}
.ozy-agent-tab:hover { color:var(--ozy-text-strong) !important; }
.ozy-agent-tab.active { background:var(--ozy-primary-light) !important; border-color:var(--ozy-border-mid) !important; color:var(--ozy-primary) !important; }

/* CHAT MESSAGES AREA */
.ozy-chat-messages {
    overflow-y: auto !important; flex: 1 !important;
    padding: 16px 18px !important; display:flex !important; flex-direction:column !important; gap:14px !important;
    min-height: 0 !important;
    scroll-behavior: smooth !important; box-sizing:border-box !important;
}
.ozy-chat-messages::-webkit-scrollbar { width:3px !important; }
.ozy-chat-messages::-webkit-scrollbar-track { background:transparent !important; }
.ozy-chat-messages::-webkit-scrollbar-thumb { background:var(--ozy-soft-2) !important; border-radius:2px !important; }

.ozy-msg { display:flex !important; gap:10px !important; align-items:flex-start !important; width:100% !important; }
.ozy-msg.ozy-msg-user { flex-direction:row-reverse !important; }

.ozy-msg-avatar {
    width:30px !important; height:30px !important; min-width:30px !important;
    border-radius:50% !important; overflow:hidden !important; flex-shrink:0 !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    position: relative !important;
}
.ozy-msg-avatar.ai-avatar {
    background: var(--ozy-surface) !important;
    border: 1.5px solid var(--ozy-primary-mid) !important;
    box-shadow: 0 0 10px var(--ozy-primary-glow) !important;
}
.ozy-msg-avatar.ai-avatar::after {
    content: '' !important; position: absolute !important; left: 0 !important; right: 0 !important;
    height: 40% !important; top: -40% !important;
    background: linear-gradient(to bottom, transparent, var(--ozy-primary-soft) 50%, transparent) !important;
    border-radius: 50% !important;
    animation: ozyScan 2.8s ease-in-out infinite !important; pointer-events: none !important;
}
.ozy-msg-avatar.user-avatar {
    background: linear-gradient(135deg, #6366f1, #a855f7) !important;
    box-shadow: 0 0 10px rgba(168,85,247,0.35) !important;
}
.ozy-msg-avatar img { width:100% !important; height:100% !important; object-fit:cover !important; display:block !important; border-radius:50% !important; }
.ozy-msg-avatar svg { width:26px !important; height:26px !important; }
.ozy-msg-avatar.user-avatar svg { fill:var(--ozy-text-strong) !important; stroke:none !important; }

.ozy-msg-bubble {
    max-width: 84% !important; min-width: 0 !important;
    padding: 12px 16px !important; border-radius:14px !important;
    font-family:var(--ozy-font) !important; font-size:0.86rem !important; line-height:1.7 !important;
    box-sizing:border-box !important; overflow-wrap:anywhere !important; word-break:break-word !important;
}
.ozy-msg.ozy-msg-ai .ozy-msg-bubble {
    background: var(--ozy-soft) !important; color:var(--ozy-text) !important;
    border:1px solid var(--ozy-border-mid) !important; border-top-left-radius:4px !important;
}
.ozy-msg.ozy-msg-user .ozy-msg-bubble {
    background: var(--ozy-primary) !important; color: var(--ozy-on-primary) !important;
    border-top-right-radius:4px !important; font-weight:500 !important;
}

.ozy-msg-bubble strong { color:var(--ozy-text-strong) !important; font-weight:600 !important; }
.ozy-msg.ozy-msg-user .ozy-msg-bubble strong { color:inherit !important; }
.ozy-msg-bubble ul { margin:8px 0 !important; padding-left:20px !important; list-style:disc !important; }
.ozy-msg-bubble li { margin:5px 0 !important; }
.ozy-msg-bubble li::marker { color:var(--ozy-primary) !important; }
.ozy-msg.ozy-msg-user .ozy-msg-bubble li::marker { color:var(--ozy-on-primary) !important; }
.ozy-msg-bubble h3 { font-family:var(--ozy-font) !important; font-size:0.95rem !important; font-weight:700 !important; color:var(--ozy-text-strong) !important; margin:12px 0 6px !important; line-height:1.35 !important; }
.ozy-msg-bubble h3:first-child { margin-top:0 !important; }
.ozy-msg-bubble hr { border:none !important; border-top:1px solid var(--ozy-border-mid) !important; margin:10px 0 !important; }
.ozy-msg-bubble a { color:var(--ozy-primary) !important; }
.ozy-msg-bubble p { margin:0 0 0.55em !important; padding:0 !important; }
.ozy-msg-bubble p:last-child { margin-bottom:0 !important; }

/* QUICK PILLS (before first message) */
.ozy-popup-pills {
    padding: 10px 16px !important;
    flex-wrap:wrap !important; gap:7px !important; flex-shrink:0 !important;
    box-sizing:border-box !important;
    border-top:1px solid var(--ozy-border) !important;
    max-height: 30% !important; overflow-y: auto !important;
}
.ozy-popup-pills.ozy-visible { display:flex !important; }
.ozy-popup-pills.ozy-hidden  { display:none !important; padding:0 !important; border-top:none !important; }

.ozy-quick-pill {
    display:inline-flex !important; align-items:center !important; gap:7px !important;
    padding:7px 14px !important; background:var(--ozy-soft) !important;
    border:1px solid var(--ozy-soft-2) !important; border-radius:30px !important;
    font-family:var(--ozy-font) !important; font-size:0.75rem !important; font-weight:500 !important;
    color:var(--ozy-muted) !important; cursor:pointer !important;
    transition:all 0.18s ease !important; white-space:nowrap !important;
    text-decoration:none !important; -webkit-appearance:none !important;
    outline:none !important; box-shadow:none !important; margin:0 !important;
    max-width:100% !important; overflow:hidden !important; text-overflow:ellipsis !important;
}
.ozy-quick-pill:hover {
    background:var(--ozy-primary-light) !important; border-color:var(--ozy-primary-mid) !important;
    color:var(--ozy-text-strong) !important;
}
.ozy-quick-pill svg { width:11px !important; height:11px !important; stroke:var(--ozy-primary) !important; fill:none !important; flex-shrink:0 !important; }

/* LOADING DOTS */
.ozy-dots { display:flex !important; gap:5px !important; padding:4px 0 !important; align-items:center !important; }
.ozy-dots span {
    width:7px !important; height:7px !important; border-radius:50% !important;
    background:var(--ozy-primary) !important; opacity:0.3 !important; display:inline-block !important;
    animation:ozyDotBounce 1.1s ease-in-out infinite !important;
}
.ozy-dots span:nth-child(2) { animation-delay:0.18s !important; }
.ozy-dots span:nth-child(3) { animation-delay:0.36s !important; }
@keyframes ozyDotBounce { 0%,80%,100%{opacity:0.22;transform:scale(0.8)} 40%{opacity:1;transform:scale(1.15)} }

.ozy-cursor {
    display:inline-block !important; width:2px !important; height:0.9em !important;
    background:var(--ozy-primary) !important; vertical-align:text-bottom !important;
    margin-left:2px !important; animation:ozyBlink 0.85s ease-in-out infinite !important;
}
@keyframes ozyBlink { 0%,100%{opacity:1} 50%{opacity:0} }

/* SEARCH INPUT */
.ozy-popup-search {
    padding: 12px 16px !important; border-top:1px solid var(--ozy-border) !important;
    flex-shrink:0 !important; background:transparent !important; box-sizing:border-box !important;
}
.ozy-popup-search-wrap {
    display:flex !important; align-items:center !important; gap:10px !important;
    background:var(--ozy-soft) !important; border-radius:12px !important;
    border:1px solid var(--ozy-soft-2) !important;
    padding:10px 8px 10px 14px !important; box-sizing:border-box !important;
}
.ozy-popup-search-icon { display:flex !important; align-items:center !important; flex-shrink:0 !important; }
.ozy-popup-search-icon svg { width:14px !important; height:14px !important; stroke:var(--ozy-muted) !important; fill:none !important; }
.ozy-popup-search-input {
    flex:1 !important; min-width:0 !important; background:transparent !important;
    border:none !important; outline:none !important; box-shadow:none !important;
    font-family:var(--ozy-font) !important; font-size:0.87rem !important; color:var(--ozy-text) !important;
    padding:0 !important; margin:0 !important; border-radius:0 !important; height:auto !important;
}
.ozy-popup-search-input::placeholder { color:var(--ozy-muted) !important; opacity:1 !important; }
.ozy-popup-search-input:focus { outline:none !important; box-shadow:none !important; border:none !important; }

.ozy-popup-clear {
    background:none !important; border:none !important; cursor:pointer !important;
    color:var(--ozy-muted) !important; padding:2px !important; display:none;
    align-items:center !important; justify-content:center !important; flex-shrink:0 !important;
}
.ozy-popup-clear svg { width:13px !important; height:13px !important; stroke:currentColor !important; fill:none !important; }

.ozy-popup-send {
    width:34px !important; height:34px !important; min-width:34px !important;
    border-radius:9px !important; background:var(--ozy-primary) !important; border:none !important;
    cursor:pointer !important; display:flex !important; align-items:center !important;
    justify-content:center !important; color:var(--ozy-on-primary) !important;
    transition:all 0.2s !important; padding:0 !important; box-shadow:none !important; flex-shrink:0 !important;
}
.ozy-popup-send:hover { background:var(--ozy-primary-hover) !important; transform:scale(1.06) !important; }
.ozy-popup-send svg { width:14px !important; height:14px !important; stroke:currentColor !important; fill:none !important; }

/* COMPACT FOOTER */
.ozy-popup-footer {
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    padding:7px 14px !important; border-top:1px solid var(--ozy-border) !important;
    flex-shrink:0 !important; box-sizing:border-box !important; gap:8px !important;
}
.ozy-footer-links {
    display:flex !important; align-items:center !important; gap:2px !important; flex-wrap:wrap !important;
}
.ozy-footer-link {
    display:inline-flex !important; align-items:center !important; gap:5px !important;
    padding:5px 8px !important; border-radius:7px !important;
    font-family:var(--ozy-font) !important; font-size:0.72rem !important; font-weight:500 !important;
    color:var(--ozy-muted) !important; text-decoration:none !important;
    background:none !important; border:none !important; cursor:pointer !important;
    transition:all 0.18s !important; -webkit-appearance:none !important; box-shadow:none !important;
}
.ozy-footer-link:hover { color:var(--ozy-text-strong) !important; background:var(--ozy-soft) !important; }
.ozy-footer-link svg { width:12px !important; height:12px !important; stroke:currentColor !important; fill:none !important; flex-shrink:0 !important; }
.ozy-footer-reset { opacity:0.7 !important; }
.ozy-footer-reset:hover { opacity:1 !important; }
.ozy-footer-brand {
    display:flex !important; align-items:center !important; gap:4px !important;
    font-family:var(--ozy-font) !important; font-size:0.62rem !important;
    color:var(--ozy-muted) !important; white-space:nowrap !important; flex-shrink:0 !important;
}
.ozy-footer-brand svg { fill:var(--ozy-primary) !important; }
.ozy-footer-brand a { color:var(--ozy-primary) !important; text-decoration:none !important; transition:opacity 0.18s !important; }
.ozy-footer-brand a:hover { opacity:0.8 !important; }

/* ERROR */
.ozy-error-box {
    padding:10px 14px !important; background:rgba(239,68,68,.09) !important;
    border:1px solid rgba(239,68,68,.22) !important; border-radius:10px !important;
    color:rgba(255,120,120,.95) !important; font-size:.83rem !important; line-height:1.5 !important;
    font-family:var(--ozy-font) !important;
}

/* ═══════════════════════════════════════════
   INLINE WIDGET
═══════════════════════════════════════════ */
.ozy-video-wrap {
    position:relative !important; width:100% !important; max-width:var(--ozy-inline-w) !important;
    margin-left:auto !important; margin-right:auto !important;
    border-radius:var(--ozy-radius) !important; display:block !important;
    background:var(--ozy-secondary) !important;
}
.ozy-bg-video {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; object-fit:cover !important;
    z-index:0 !important; opacity:0.4 !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important;
}
.ozy-bg-img {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; object-fit:cover !important;
    z-index:0 !important; opacity:0.35 !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important;
}
.ozy-bg-gradient {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important; pointer-events:none !important;
    border-radius:var(--ozy-radius) !important; z-index:0 !important;
    background: linear-gradient(135deg, var(--ozy-secondary) 0%, var(--ozy-primary-light) 50%, var(--ozy-secondary) 100%) !important;
    background-size: 400% 400% !important;
    animation: ozyGradient 8s ease infinite !important;
}
@keyframes ozyGradient { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }

.ozy-video-overlay {
    position:absolute !important; top:0 !important; left:0 !important;
    width:100% !important; height:100% !important;
    background:radial-gradient(ellipse at 40% 50%, var(--ozy-primary-light) 0%, rgba(0,0,0,0.55) 75%) !important;
    z-index:1 !important; pointer-events:none !important; border-radius:var(--ozy-radius) !important;
}

.ozy-inline-widget {
    position:relative !important; width:100% !important; background:var(--ozy-bg) !important;
    border-radius:var(--ozy-radius) !important; overflow:hidden !important;
    font-family:var(--ozy-font) !important; backdrop-filter:blur(22px) !important;
    -webkit-backdrop-filter:blur(22px) !important; border:1px solid var(--ozy-border-mid) !important;
    z-index:2 !important; box-sizing:border-box !important;
    display:flex !important; flex-direction:column !important;
}
.ozy-inline-header {
    position:relative !important; padding:20px 24px 18px !important;
    border-bottom:1px solid var(--ozy-border) !important;
    display:flex !important; align-items:center !important; justify-content:space-between !important;
    gap:12px !important; flex-wrap:wrap !important;
    overflow:hidden !important; z-index:2 !important; box-sizing:border-box !important; flex-shrink:0 !important;
}
.ozy-inline-header-bg {
    position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background:radial-gradient(ellipse at 25% 60%, var(--ozy-primary-light) 0%, transparent 65%) !important;
    pointer-events:none !important; z-index:0 !important;
}
.ozy-inline-header-bg::after {
    content:'' !important; position:absolute !important; top:0 !important; left:0 !important; width:100% !important; height:100% !important;
    background-image:radial-gradient(circle, var(--ozy-soft) 1px, transparent 1px) !important;
    background-size:20px 20px !important;
}
.ozy-inline-agent { display:flex !important; align-items:center !important; gap:14px !important; position:relative !important; z-index:1 !important; min-width:0 !important; }
.ozy-orb {
    width:clamp(38px, 8vw, 52px) !important; height:clamp(38px, 8vw, 52px) !important; min-width:clamp(38px, 8vw, 52px) !important;
    border-radius:50% !important;
    background:var(--ozy-primary) !important;
    box-shadow:0 0 18px var(--ozy-primary-glow) !important;
    flex-shrink:0 !important; overflow:hidden !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
}
.ozy-orb img { width:100% !important; height:100% !important; object-fit:contain !important; border-radius:50% !important; }
.ozy-orb svg { width:66% !important; height:66% !important; }
.ozy-orb .ozy-bot-icon {
    --ozy-bot-body: var(--ozy-on-primary);
    --ozy-bot-face: var(--ozy-on-primary);
    --ozy-bot-eye:  var(--ozy-primary);
}
.ozy-agent-info { position:relative !important; z-index:1 !important; min-width:0 !important; }
.ozy-title {
    font-family:var(--ozy-font) !important; font-size:clamp(1.05rem, 2.4vw, 1.5rem) !important; font-weight:800 !important;
    color:var(--ozy-text-strong) !important; letter-spacing:-0.02em !important; line-height:1.15 !important;
    margin:0 !important; padding:0 !important; background:none !important; border:none !important;
}
.ozy-title em { color:var(--ozy-primary) !important; font-style:normal !important; font-weight:800 !important; }
.ozy-sub {
    font-family:var(--ozy-font) !important; font-size:0.76rem !important; color:var(--ozy-muted) !important;
    margin:3px 0 0 !important; padding:0 !important; font-weight:400 !important; background:none !important;
}

/* Inline chat transcript — hidden until the first question is asked */
.ozy-inline-widget .ozy-chat-messages { display:none !important; }
.ozy-inline-widget.ozy-chat-on .ozy-chat-messages {
    display:flex !important; height:var(--ozy-inline-h) !important; flex:0 0 auto !important;
    border-bottom:1px solid var(--ozy-border) !important; position:relative !important; z-index:2 !important;
}

.ozy-search-row {
    padding:16px 24px !important; border-bottom:1px solid var(--ozy-border) !important;
    position:relative !important; z-index:2 !important; box-sizing:border-box !important; flex-shrink:0 !important;
}
.ozy-inline-widget.ozy-chat-on .ozy-search-row { border-bottom:none !important; }
.ozy-search-wrap {
    display:flex !important; align-items:center !important; gap:10px !important;
    background:var(--ozy-input-bg) !important; border-radius:50px !important;
    padding:9px 9px 9px 18px !important; box-sizing:border-box !important;
}
.ozy-search-icon { display:flex !important; align-items:center !important; flex-shrink:0 !important; }
.ozy-search-icon svg { width:16px !important; height:16px !important; stroke:#aaaaaa !important; fill:none !important; }
.ozy-search-input {
    flex:1 !important; min-width:0 !important; background:transparent !important;
    border:none !important; outline:none !important; box-shadow:none !important;
    font-family:var(--ozy-font) !important; font-size:0.9rem !important; color:var(--ozy-input-text) !important;
    padding:0 !important; margin:0 !important; border-radius:0 !important; height:auto !important;
}
.ozy-search-input::placeholder { color:#bbbbbb !important; opacity:1 !important; }
.ozy-search-input:focus { outline:none !important; box-shadow:none !important; }
.ozy-search-clear {
    background:none !important; border:none !important; cursor:pointer !important; color:#999 !important;
    padding:2px !important; display:none; align-items:center !important; justify-content:center !important; flex-shrink:0 !important;
}
.ozy-search-clear svg { width:14px !important; height:14px !important; stroke:currentColor !important; fill:none !important; }
.ozy-search-btn {
    width:38px !important; height:38px !important; min-width:38px !important;
    border-radius:50% !important; background:var(--ozy-primary) !important;
    border:none !important; cursor:pointer !important;
    display:flex !important; align-items:center !important; justify-content:center !important;
    color:var(--ozy-on-primary) !important; transition:all 0.2s !important; padding:0 !important;
}
.ozy-search-btn:hover { background:var(--ozy-primary-hover) !important; transform:scale(1.06) !important; }
.ozy-search-btn svg { width:16px !important; height:16px !important; stroke:currentColor !important; fill:none !important; }

.ozy-quick-pills {
    padding:14px 24px 18px !important; display:flex !important; flex-wrap:wrap !important;
    gap:8px !important; position:relative !important; z-index:2 !important;
    margin:0 !important; list-style:none !important; box-sizing:border-box !important; flex-shrink:0 !important;
}
.ozy-quick-pills.ozy-hidden { display:none !important; }

.ozy-inline-footer {
    display:none !important; align-items:center !important; justify-content:space-between !important;
    gap:8px !important; padding:8px 18px !important; border-top:1px solid var(--ozy-border) !important;
    position:relative !important; z-index:2 !important; box-sizing:border-box !important; flex-shrink:0 !important;
}
.ozy-inline-widget.ozy-chat-on .ozy-inline-footer { display:flex !important; }

/* RESPONSIVE */
.ozy-chat-messages { overscroll-behavior:contain !important; -webkit-overflow-scrolling:touch !important; }

@media (max-width: 780px) {
    .ozy-inline-header { padding:16px 16px 14px !important; }
    .ozy-search-row { padding:14px 16px !important; }
    .ozy-quick-pills { padding:12px 16px 16px !important; }
    .ozy-inline-widget.ozy-chat-on .ozy-chat-messages { height:min(var(--ozy-inline-h), 62vh) !important; }
}

@media (max-width: 600px) {
    .ozy-backdrop { padding:0 !important; align-items:flex-end !important; }
    .ozy-popup-outer { max-width:100% !important; }
    .ozy-popup { border-bottom-left-radius:0 !important; border-bottom-right-radius:0 !important; height:92vh !important; max-height:92vh !important; }
    .ozy-float-btn.ozy-pos-bottom-right { bottom:18px !important; right:16px !important; }
    .ozy-float-btn.ozy-pos-bottom-left  { bottom:18px !important; left:16px !important; }

    .ozy-chat-messages { padding:14px !important; gap:12px !important; }
    .ozy-msg-bubble { max-width:88% !important; padding:10px 13px !important; }
    .ozy-msg-avatar { width:26px !important; height:26px !important; min-width:26px !important; }
    .ozy-msg-avatar svg { width:22px !important; height:22px !important; }

    .ozy-inline-header { padding:14px 14px 12px !important; }
    .ozy-inline-agent { gap:10px !important; }
    .ozy-sub { font-size:0.7rem !important; }
    .ozy-status-pill { font-size:0.6rem !important; padding:4px 9px !important; }
    .ozy-search-row { padding:12px 14px !important; }
    .ozy-search-wrap { padding:7px 7px 7px 14px !important; }
    .ozy-search-btn { width:34px !important; height:34px !important; min-width:34px !important; }
    .ozy-popup-search { padding:10px 12px !important; }

    /* 16px keeps iOS from zooming the page when the field is focused */
    .ozy-search-input, .ozy-popup-search-input { font-size:16px !important; }

    /* Pills stay on one swipeable line instead of stacking three rows tall */
    .ozy-quick-pills, .ozy-popup-pills.ozy-visible {
        flex-wrap:nowrap !important; overflow-x:auto !important; overflow-y:hidden !important;
        max-height:none !important; scrollbar-width:none !important;
        -webkit-overflow-scrolling:touch !important;
    }
    .ozy-quick-pills::-webkit-scrollbar, .ozy-popup-pills::-webkit-scrollbar { display:none !important; }
    .ozy-quick-pill { font-size:0.72rem !important; padding:6px 12px !important; flex:0 0 auto !important; }
    .ozy-quick-pills { padding:10px 14px 14px !important; }

    .ozy-popup-footer, .ozy-inline-footer { flex-wrap:wrap !important; gap:4px !important; padding:6px 10px !important; }
    .ozy-footer-link { padding:5px 6px !important; font-size:0.7rem !important; }
    .ozy-footer-brand { font-size:0.58rem !important; }
}

@media (max-width: 400px) {
    .ozy-popup-sub, .ozy-footer-brand { display:none !important; }
    .ozy-title { font-size:1rem !important; }
    .ozy-orb { width:38px !important; height:38px !important; min-width:38px !important; }
}
