/* Porto Default Modal with Robban's approved corner placement. */
.caroli-chatbot-launch { position: fixed; right: 24px; bottom: 24px; z-index: 1035; }
.caroli-chatbot .modal-dialog { position: fixed; right: 24px; bottom: 24px; width: 420px; max-width: calc(100% - 32px); height: auto; max-height: calc(var(--chatbot-height, 100dvh) - 48px); margin: 0; }
.caroli-chatbot .modal-content { max-height: calc(var(--chatbot-height, 100dvh) - 48px); }
.caroli-chatbot .modal-title { text-transform: none; }
.caroli-chatbot .modal-header .btn-close { display: flex; align-items: center; justify-content: center; flex-shrink: 0; background: none; color: inherit; opacity: 1; text-indent: 0; min-width: 44px; min-height: 44px; padding: 0; }
.caroli-chatbot .modal-header .btn-close:focus-visible { outline: 3px solid var(--bs-primary, #147ca6); outline-offset: 2px; }
.caroli-chatbot .modal-body { overflow-y: auto; overscroll-behavior: contain; }
.caroli-chatbot-messages p { white-space: pre-wrap; overflow-wrap: anywhere; }
.caroli-chatbot .modal-dialog { bottom: calc(24px + var(--chatbot-bottom, 0px)); }
.caroli-chatbot textarea { resize: vertical; max-height: 130px; }
@media (max-width: 575px) {
    .caroli-chatbot-launch { right: 16px; bottom: 16px; }
    .caroli-chatbot .modal-dialog { right: 8px; bottom: calc(8px + var(--chatbot-bottom, 0px)); width: calc(100% - 16px); max-width: none; max-height: calc(var(--chatbot-height, 100dvh) - 16px); }
    .caroli-chatbot .modal-content { max-height: calc(var(--chatbot-height, 100dvh) - 16px); }
    .caroli-chatbot textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) {
    .caroli-chatbot .fade, .caroli-chatbot .modal.fade .modal-dialog { transition: none; }
}
