/* Kenya Trip Planner - Additional Styles */

/* Minimized state */
.ktp-chat-container.minimized {
    height: 60px !important;
    overflow: hidden;
}

.ktp-chat-container.minimized .ktp-chat-messages,
.ktp-chat-container.minimized .ktp-chat-input-area,
.ktp-chat-container.minimized .ktp-chat-footer {
    display: none;
}

/* Custom scrollbar */
.ktp-chat-messages::-webkit-scrollbar {
    width: 6px;
}

.ktp-chat-messages::-webkit-scrollbar-track {
    background: transparent;
}

.ktp-chat-messages::-webkit-scrollbar-thumb {
    background: #cbd5e0;
    border-radius: 10px;
}

.ktp-chat-messages::-webkit-scrollbar-thumb:hover {
    background: #a0aec0;
}

/* Selected state for multi-select buttons */
.ktp-option-btn.selected {
    background: linear-gradient(135deg, #2c5f2d 0%, #3a7a3c 100%) !important;
    color: white !important;
    border-color: #2c5f2d !important;
}

/* Focus states */
.ktp-text-input:focus,
textarea.ktp-text-input:focus {
    border-color: #2c5f2d;
    box-shadow: 0 0 0 4px rgba(44, 95, 45, 0.1);
}

/* Button disabled state */
.ktp-submit-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    transform: none !important;
}

/* Message animations */
@keyframes fadeIn {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}

.ktp-message {
    animation: fadeIn 0.3s ease-in;
}

/* Enhanced button hover states */
.ktp-option-btn {
    position: relative;
    overflow: hidden;
}

.ktp-option-btn::before {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    border-radius: 50%;
    background: rgba(44, 95, 45, 0.1);
    transform: translate(-50%, -50%);
    transition: width 0.3s, height 0.3s;
}

.ktp-option-btn:hover::before {
    width: 300px;
    height: 300px;
}

/* Responsive adjustments */
@media (max-width: 480px) {
    .ktp-chat-container {
        height: 100vh;
        border-radius: 0;
    }

    .ktp-chat-widget {
        margin: 0;
    }

    .ktp-option-btn {
        font-size: 13px;
        padding: 10px 14px;
    }

    .ktp-message-content {
        max-width: 90%;
    }

    .ktp-welcome-banner h2 {
        font-size: 20px;
    }

    .ktp-welcome-banner {
        padding: 24px 16px;
    }
}

/* Print styles */
@media print {
    .ktp-chat-widget {
        display: none;
    }
}

/* Accessibility */
.ktp-option-btn:focus,
.ktp-submit-btn:focus,
.ktp-text-input:focus {
    outline: 3px solid #2c5f2d;
    outline-offset: 2px;
}

/* High contrast mode support */
@media (prefers-contrast: high) {
    .ktp-message-bubble {
        border: 2px solid currentColor;
    }
}

/* Reduced motion support */
@media (prefers-reduced-motion: reduce) {
    .ktp-message,
    .ktp-option-btn,
    .ktp-submit-btn,
    .ktp-typing-dot {
        animation: none !important;
        transition: none !important;
    }
}

/* Dark mode support (optional) */
@media (prefers-color-scheme: dark) {
    .ktp-chat-container {
        background: #1a1a1a;
    }

    .ktp-chat-messages {
        background: linear-gradient(to bottom, #2a2a2a 0%, #1f1f1f 100%);
    }

    .ktp-bot-message .ktp-message-bubble {
        background: #2a2a2a;
        color: #e0e0e0;
        border-color: #3a3a3a;
    }

    .ktp-text-input {
        background: #2a2a2a;
        color: #e0e0e0;
        border-color: #3a3a3a;
    }

    .ktp-chat-footer {
        background: #1f1f1f;
        color: #999;
    }

    .ktp-welcome-banner {
        background: linear-gradient(135deg, #1a4d1b 0%, #2c5f2d 100%);
        border-color: #3a7a3c;
    }

    .ktp-welcome-banner h2 {
        color: #e8f5e9;
    }

    .ktp-welcome-banner p {
        color: #c8e6c9;
    }
}
