/* Globie widget styles. Ecobelt brand: green #15A75A, blue #125AA7, navy #0B2D5B. */
.globie { --g-green: #15a75a; --g-blue: #125aa7; --g-navy: #0b2d5b; position: relative; border: 0; padding: 0; background: none; cursor: pointer; font: inherit; color: inherit; -webkit-tap-highlight-color: transparent; }
.globie__ring { display: block; border-radius: 50%; overflow: hidden; background: radial-gradient(circle at 50% 35%, #ffffff 0%, #e9f6ef 60%, #dceefa 100%); box-shadow: 0 10px 28px rgba(11, 45, 91, .28), 0 0 0 3px #fff, 0 0 0 5px var(--g-green); transition: transform .25s cubic-bezier(.34, 1.56, .64, 1), box-shadow .25s; }
.globie__img { display: block; width: 100%; height: 100%; object-fit: cover; user-select: none; }
.globie:hover .globie__ring, .globie:focus-visible .globie__ring { transform: translateY(-4px) scale(1.05); box-shadow: 0 14px 34px rgba(11, 45, 91, .34), 0 0 0 3px #fff, 0 0 0 5px var(--g-blue); }
.globie:focus-visible { outline: none; }
@media (prefers-reduced-motion: no-preference) { .globie__ring { animation: globie-bob 3.2s ease-in-out infinite; } }
@keyframes globie-bob { 0%, 100% { translate: 0 0; } 50% { translate: 0 -3px; } }

/* website: floating launcher, bottom-right (replaces the chat bubble) */
.globie--launcher { position: fixed; right: 24px; bottom: 24px; z-index: 2147483000; }
.globie--launcher .globie__ring { width: 76px; height: 76px; }
@media (max-width: 600px) { .globie--launcher { right: 16px; bottom: 16px; } .globie--launcher .globie__ring { width: 64px; height: 64px; } }

/* portal: sidebar card, bottom-left */
.globie--sidebar { display: flex; align-items: center; gap: 12px; width: 100%; padding: 10px 12px; border-radius: 14px; text-align: left; transition: background .2s; }
.globie--sidebar:hover { background: rgba(21, 167, 90, .08); }
.globie--sidebar .globie__ring { width: 52px; height: 52px; flex: none; box-shadow: 0 6px 16px rgba(11, 45, 91, .22), 0 0 0 2px #fff, 0 0 0 4px var(--g-green); }
.globie__text { display: flex; flex-direction: column; line-height: 1.2; }
.globie__text strong { font-weight: 600; color: var(--g-navy); }
.globie__text small { font-size: 12px; color: #5d6b7a; }

/* speech bubble */
.globie__bubble { position: absolute; bottom: calc(100% + 12px); right: 0; max-width: 240px; width: max-content; padding: 10px 14px; border-radius: 14px 14px 4px 14px; background: #fff; color: var(--g-navy); font-size: 14px; font-weight: 500; line-height: 1.35; box-shadow: 0 10px 30px rgba(11, 45, 91, .18); opacity: 0; transform: translateY(6px) scale(.96); transform-origin: bottom right; pointer-events: none; transition: opacity .25s, transform .25s; }
.globie--sidebar .globie__bubble { left: 0; right: auto; border-radius: 14px 14px 14px 4px; transform-origin: bottom left; }
.globie--bubble .globie__bubble { opacity: 1; transform: none; }
@media (prefers-color-scheme: dark) { .globie__bubble { background: #13233a; color: #eaf3fb; } .globie--sidebar .globie__text strong { color: #eaf3fb; } }
