.vetbot-root {
	--vetbot-color: #1f7a6d;
	--vetbot-bg: #ffffff;
	--vetbot-text: #1d2327;
	--vetbot-muted: #646970;
	--vetbot-bot-bg: #f0f2f1;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Arial, sans-serif;
	font-size: 15px;
	line-height: 1.45;
	color: var(--vetbot-text);
	box-sizing: border-box;
}
.vetbot-root *, .vetbot-root *::before, .vetbot-root *::after { box-sizing: inherit; }

/* Flotante */
.vetbot-floating { position: fixed; right: 20px; bottom: 20px; z-index: 99999; }
.vetbot-bubble {
	width: 60px; height: 60px; border-radius: 50%; border: 0; cursor: pointer;
	background: var(--vetbot-color); color: #fff; display: flex; align-items: center; justify-content: center;
	box-shadow: 0 6px 20px rgba(0, 0, 0, .2);
}
.vetbot-floating .vetbot-panel {
	position: absolute; right: 0; bottom: 74px; width: 370px; height: 540px; max-height: calc(100vh - 110px);
	display: none;
}
.vetbot-floating.vetbot-open .vetbot-panel { display: flex; }

/* En linea (shortcode / Elementor) */
.vetbot-inline .vetbot-panel { width: 100%; max-width: 640px; height: 560px; display: flex; margin: 0 auto; }

.vetbot-panel {
	flex-direction: column; background: var(--vetbot-bg); border-radius: 14px; overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, .18); border: 1px solid #e2e4e7;
}
.vetbot-header {
	background: var(--vetbot-color); color: #fff; padding: 12px 16px; display: flex; align-items: center; justify-content: space-between;
	font-weight: 600;
}
.vetbot-close { background: none; border: 0; color: #fff; font-size: 24px; line-height: 1; cursor: pointer; padding: 0 4px; }
.vetbot-log { flex: 1; overflow-y: auto; padding: 14px; display: flex; flex-direction: column; gap: 8px; }
.vetbot-msg { max-width: 85%; padding: 9px 12px; border-radius: 12px; white-space: pre-wrap; word-wrap: break-word; }
.vetbot-bot { align-self: flex-start; background: var(--vetbot-bot-bg); border-bottom-left-radius: 4px; }
.vetbot-user { align-self: flex-end; background: var(--vetbot-color); color: #fff; border-bottom-right-radius: 4px; }
.vetbot-typing { color: var(--vetbot-muted); font-style: italic; }
.vetbot-bot a, .vetbot-disclaimer a { color: var(--vetbot-color); font-weight: 600; text-decoration: underline; }
.vetbot-form { display: flex; gap: 8px; padding: 10px; border-top: 1px solid #e2e4e7; }
.vetbot-input {
	flex: 1; resize: none; border: 1px solid #c3c4c7; border-radius: 8px; padding: 8px 10px; font: inherit; min-height: 40px; max-height: 120px;
}
.vetbot-input:focus { outline: 2px solid var(--vetbot-color); outline-offset: 0; }
.vetbot-send {
	background: var(--vetbot-color); color: #fff; border: 0; border-radius: 8px; padding: 0 14px; font-weight: 600; cursor: pointer;
}
.vetbot-send:disabled { opacity: .6; cursor: default; }
.vetbot-disclaimer { font-size: 11.5px; color: var(--vetbot-muted); padding: 0 12px 10px; }

@media (max-width: 480px) {
	.vetbot-floating { right: 12px; bottom: 12px; }
	.vetbot-floating .vetbot-panel { position: fixed; left: 8px; right: 8px; bottom: 84px; width: auto; height: calc(100vh - 110px); }
}
