
@charset "utf-8";
/* -----------------------------------
    01. General CSS
-------------------------------------*/

  
        

        /* 테스트용 메인 컨텐츠 */
        

        /* ===== 챗봇 위젯 스타일 ===== */
        
        /* 챗봇 버튼 컨테이너 */
        .chatbot-container {
            position: fixed;
            bottom: 30px;
            right: 30px;
            z-index: 9999;
        }

        /* 채팅 버튼 */
        .chat-button {
            width: 60px;
            height: 60px;
            border-radius: 50%;
            background: linear-gradient(135deg, #0068ff 0%, #0050cc 100%);
            border: none;
            cursor: pointer;
            box-shadow: 0 4px 20px rgba(0, 104, 255, 0.4);
            display: flex;
            justify-content: center;
            align-items: center;
            transition: all 0.3s ease;
            position: relative;
        }

        .chat-button:hover {
            transform: scale(1.1);
            box-shadow: 0 6px 25px rgba(0, 104, 255, 0.5);
        }

        .chat-button svg {
            width: 28px;
            height: 28px;
            fill: white;
            transition: all 0.3s ease;
        }

        .chat-button.active svg.chat-icon {
            display: none;
        }

        .chat-button svg.close-icon {
            display: none;
        }

        .chat-button.active svg.close-icon {
            display: block;
        }

        /* 툴팁 - 채팅 문의하기 */
        .chat-tooltip {
            position: absolute;
            right: 70px;
            top: 50%;
            transform: translateY(-50%);
            background: white;
            color: #333;
            padding: 8px 16px;
            border-radius: 20px;
            font-size: 14px;
            font-weight: 500;
            white-space: nowrap;
            box-shadow: 0 2px 10px rgba(0, 0, 0, 0.15);
            opacity: 0;
            visibility: hidden;
            transition: all 0.3s ease;
        }

        .chat-tooltip::after {
            content: '';
            position: absolute;
            right: -6px;
            top: 50%;
            transform: translateY(-50%);
            border-width: 6px;
            border-style: solid;
            border-color: transparent transparent transparent white;
        }

        .chat-button:not(.active):hover + .chat-tooltip,
        .chatbot-container:not(.chat-open):hover .chat-tooltip {
            opacity: 1;
            visibility: visible;
        }

        .chatbot-container.chat-open .chat-tooltip {
            display: none;
        }

        /* 채팅창 */
        .chat-window {
            position: absolute;
            bottom: 80px;
            right: 0;
            width: 380px;
            height: 550px;
            background: white;
            border-radius: 16px;
            box-shadow: 0 10px 40px rgba(0, 0, 0, 0.2);
            display: flex;
            flex-direction: column;
            overflow: hidden;
            opacity: 0;
            visibility: hidden;
            transform: translateY(20px) scale(0.95);
            transition: all 0.3s ease;
        }

        .chatbot-container.chat-open .chat-window {
            opacity: 1;
            visibility: visible;
            transform: translateY(0) scale(1);
        }

        /* 채팅창 헤더 */
        .chat-header {
            background: linear-gradient(135deg, #0068ff 0%, #0050cc 100%);
            color: white;
            padding: 20px;
            display: flex;
            justify-content: space-between;
            align-items: center;
        }

        .chat-header-left {
            display: flex;
            align-items: center;
            gap: 10px;
        }

        .chat-header-left span {
            font-size: 12px;
            opacity: 0.8;
        }

        .chat-header h3 {
            font-size: 18px;
            font-weight: 600;
        }

        .chat-header-subtitle {
            font-size: 11px;
            opacity: 0.7;
            margin-top: 2px;
        }

        /* 채팅 메시지 영역 */
        .chat-messages {
            flex: 1;
            overflow-y: auto;
            padding: 20px;
            background: #f5f7fb;
            display: flex;
            flex-direction: column;
            gap: 16px;
        }

        /* 날짜 표시 */
        .chat-date {
            text-align: center;
            color: #999;
            font-size: 12px;
            margin: 10px 0;
        }

        /* 메시지 공통 */
        .message {
            max-width: 85%;
            display: flex;
            flex-direction: column;
            gap: 6px;
        }

        .message-bubble {
            padding: 12px 16px;
            border-radius: 16px;
            font-size: 14px;
            line-height: 1.5;
            word-break: break-word;
        }

        .message-time {
            font-size: 11px;
            color: #999;
        }

        /* 봇 메시지 */
        .message.bot {
            align-self: flex-start;
        }

        .message.bot .message-bubble {
            background: white;
            color: #333;
            border-bottom-left-radius: 4px;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        .message.bot .message-time {
            margin-left: 4px;
        }

        /* 사용자 메시지 */
        .message.user {
            align-self: flex-end;
        }

        .message.user .message-bubble {
            background: linear-gradient(135deg, #0068ff 0%, #0050cc 100%);
            color: white;
            border-bottom-right-radius: 4px;
        }

        .message.user .message-time {
            text-align: right;
            margin-right: 4px;
        }

        /* 봇 아이콘 */
        .bot-avatar {
            width: 32px;
            height: 32px;
            background: linear-gradient(135deg, #0068ff 0%, #0050cc 100%);
            border-radius: 50%;
            display: flex;
            justify-content: center;
            align-items: center;
            margin-bottom: 4px;
        }

        .bot-avatar svg {
            width: 18px;
            height: 18px;
            fill: white;
        }

        /* 로딩 애니메이션 */
        .typing-indicator {
            display: flex;
            gap: 4px;
            padding: 12px 16px;
            background: white;
            border-radius: 16px;
            border-bottom-left-radius: 4px;
            width: fit-content;
            box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
        }

        .typing-indicator span {
            width: 8px;
            height: 8px;
            background: #ccc;
            border-radius: 50%;
            animation: typing 1.4s infinite ease-in-out;
        }

        .typing-indicator span:nth-child(1) { animation-delay: 0s; }
        .typing-indicator span:nth-child(2) { animation-delay: 0.2s; }
        .typing-indicator span:nth-child(3) { animation-delay: 0.4s; }

        @keyframes typing {
            0%, 60%, 100% { transform: translateY(0); background: #ccc; }
            30% { transform: translateY(-8px); background: #0068ff; }
        }

        /* 입력 영역 */
        .chat-input-area {
            padding: 16px;
            background: white;
            border-top: 1px solid #eee;
            display: flex;
            gap: 10px;
            align-items: center;
        }

        .chat-input {
            flex: 1;
            border: 1px solid #e0e0e0;
            border-radius: 24px;
            padding: 12px 20px;
            font-size: 14px;
            outline: none;
            transition: border-color 0.2s;
        }

        .chat-input:focus {
            border-color: #0068ff;
        }

        .chat-input::placeholder {
            color: #999;
        }

        .send-button {
            width: 44px;
            height: 44px;
            border-radius: 50%;
            background: linear-gradient(135deg, #0068ff 0%, #0050cc 100%);
            border: none;
            cursor: pointer;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: all 0.2s;
        }

        .send-button:hover {
            transform: scale(1.05);
        }

        .send-button:disabled {
            background: #ccc;
            cursor: not-allowed;
            transform: none;
        }

        .send-button svg {
            width: 20px;
            height: 20px;
            fill: white;
        }

        /* 스크롤바 스타일 */
        .chat-messages::-webkit-scrollbar {
            width: 6px;
        }

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

        .chat-messages::-webkit-scrollbar-thumb {
            background: #ccc;
            border-radius: 3px;
        }

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

        /* 버튼 링크 스타일 */
        .message-buttons {
            display: flex;
            flex-direction: column;
            gap: 8px;
            margin-top: 8px;
        }

        .message-button {
            display: inline-block;
            padding: 10px 16px;
            background: #f0f4ff;
            color: #0068ff;
            border-radius: 8px;
            text-decoration: none;
            font-size: 13px;
            text-align: center;
            transition: background 0.2s;
        }

        .message-button:hover {
            background: #e0e8ff;
        }

        /* 반응형 */
        @media (max-width: 480px) {
            .chat-window {
                width: calc(100vw - 20px);
                height: calc(100vh - 100px);
                right: -20px;
                bottom: 70px;
                border-radius: 16px 16px 0 0;
            }
        }
   

