﻿ * {
     margin: 0;
     padding: 0;
     box-sizing: border-box;
     font-family: sans-serif;
 }

 body {
     background-color: #1e1f2a;
     color: #9F978A;
 }

 header {
     padding: 1em;
     font-size: 1.1rem;
     width: 100%;
     text-align: center;
     background-color: #1e1f2a;
     z-index: 1000;
     position: fixed;
     top: 0;
     left: 0;
 }

 header h1 {
     color: #E8E6E3;
     font-size: 2rem;
 }

 main {
     display: flex;
     margin-top: 5em;
     padding: 1em;
     gap: 2em;
     font-size: 1.2rem;
 }

 .left {
     width: 50%;
     height: auto;
 }

 section {
     margin: 0em 1.2em 0.8em 0.5em;
     padding: 1em;
     box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
     transition: transform 0.3s ease, box-shadow 0.3s ease;
     border-left: 0.16em solid #E8E6E3;
 }

 section:hover {
     transform: translateY(-5px);
     box-shadow: 0 8px 16px rgba(0, 0, 0, 0.2);
 }

 section h2 {
     color: #E8E6E3;
 }

 ul {
     list-style-type: none;
 }

 ol {
     list-style-type: none;
 }

 .right {
     width: 50%;
     height: auto;
 }

 .chat-toggle-btn {
     position: fixed;
     bottom: 1em;
     right: 1rem;
     background: #6f76ee;
     border: none;
     border-radius: 50%;
     font-size: 1rem;
     cursor: pointer;
     padding: 0.5em;
     box-shadow: 5px 5px 10px;
 }

 .chat-toggle-btn:hover {
     background: #5a61c9;
 }

 img {
     width: 2em;
     height: 2em;
 }

 .chat-container {
     display: none;
     border-radius: 1em;
     position: fixed;
     background: #2a2b38;
     box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
     border: 1px solid #3d3e4a;
     color: #E8E6E3;
     transition: all 0.3s ease;
     padding: 1em;
 }

 .container.chatbot {
     display: flex;
     flex-direction: column;
     height: 100%;
     width: 100%;
     -ms-overflow-style: none;
 }

 .chat-header {
     padding: 0.5em;
     color: #E8E6E3;
     font-weight: bold;
     text-align: center;
     font-size: 1.3rem;
 }

 .chat-messages {
     padding: 1em;
     overflow-y: auto;
     flex-grow: 1;
     display: flex;
     flex-direction: column;
     scroll-behavior: smooth;
     gap: 1em;
 }

 .chat-messages::-webkit-scrollbar {
     display: none;
 }

 .chat-messages::-webkit-scrollbar-track {
     display: none;
 }

 .chat-messages .message {
     padding: 0.5em 1em;
     border-radius: 0.8em;
     font-size: 1.2rem;
     font-weight: 500;
     max-width: 75%;
     word-wrap: break-word;
     line-height: 1.2;
     animation: fadeInUp 0.5s ease-in-out forwards;
     position: relative;
     margin-left: 1.5em;
 }

 .chat-messages .user {
     background: #6f76ee;
     color: #E8E6E3;
     align-self: flex-end;
     border-bottom-right-radius: 0.3em;
     margin-left: 0;
     margin-right: 1.5em;
 }

 .chat-messages .bot {
     background: #3d3e4a;
     color: #E8E6E3;
     align-self: flex-start;
     border-bottom-left-radius: 0.3em;
 }

 .chat-messages .message::before {
     content: '';
     position: absolute;
     width: 1.5em;
     height: 1.5em;
     background-size: contain;
     background-repeat: no-repeat;
     top: 50%;
     transform: translateY(-50%);
 }

 .chat-messages .user::before {
     right: -2em;
     background-image: url(../image/user.png);
 }

 .chat-messages .bot::before {
     left: -2em;
     background-image: url(../image/bot.png);

 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
         transform: translateY(10px);
     }

     to {
         opacity: 1;
         transform: translateY(0);
     }
 }

 .chat-input {
     padding: 0.5em;
     display: flex;
     align-items: center;
 }

 .inputBox {
     flex-grow: 1;
     margin-right: 1em;
 }

    .inputBox input {
        width: 100%;
        padding: 0.8em 1em;
        border: none;
        border-radius: 1em;
        background: #3d3e4a;
        color: #E8E6E3;
        font-size: 1.1rem;
    }

 .inputBox input::placeholder {
     color: #9F978A;
     opacity: 0.7;
 }

 .chat-input button {
     background: #6f76ee;
     color: white;
     border: none;
     border-radius: 50%;
     display: flex;
     align-items: center;
     justify-content: center;
     cursor: pointer;
     transition: all 0.2s ease;
     padding: 0.8em 1em;
 }

 button:hover {
     background: #5a61c9;
 }

 #image {
     height: 1.5rem;
     width: 1.5rem;
 }

 .action-buttons {
     display: grid;
     gap: 0.5em;
     margin-top: 0.2em;
     align-items: flex-start;
     font-size: 1.2rem;
     font-weight: 500;
     max-width: 75%;
     margin-left: 1.5em;
 }

 .action-buttons button {
     padding: 0.5em 0.5em;
     border-radius: 10px;
     cursor: pointer;
     font-weight: 300;
     white-space: nowrap;
     background: #6f76ee;
     color: #E8E6E3;
     width: 100%;
     text-align: center;
     transition: all 0.2s ease;
     border: none;
     font-size: 1.2rem;
     font-weight: 500;
 }

 .chat-messages .action-buttons button:hover {
     background: #5a61c9;
 }

 .typing-indicator {
     display: flex;
     align-items: baseline;
     gap: 0.2em;
     margin-top: 0.3rem;
     color: grey;
     font-size: 1.2rem;
     font-weight: 400;
 }

 .typing-indicator .dot {
     width: 0.2rem;
     height: 0.2rem;
     background-color: grey;
     border-radius: 50%;
     animation: typing 1.5s infinite ease-in-out;
 }

 .typing-indicator .dot:nth-child(1) {
     animation-delay: 0s;
 }

 .typing-indicator .dot:nth-child(2) {
     animation-delay: 0.2s;
 }

 .typing-indicator .dot:nth-child(3) {
     animation-delay: 0.4s;
 }

 @keyframes typing {
     0% {
         opacity: 0.3;
         transform: scale(0.8);
     }

     50% {
         opacity: 1;
         transform: scale(1);
     }

     100% {
         opacity: 0.3;
         transform: scale(0.8);
     }
 }

 @keyframes fadeInUp {
     from {
         opacity: 0;
     }

     to {
         opacity: 1;
     }
 }

 input[type="date"],
 input[type="time"] {
     padding: 0.5em 0.5em;
     border-radius: 10px;
     background: #6f76ee;
     outline: none;
     cursor: pointer;
     font-weight: 300;
     white-space: nowrap;
     background: #6f76ee;
     color: #E8E6E3;
     width: 100%;
     text-align: center;
     transition: all 0.2s ease;
     border: none;
     font-size: 1.2rem;
     font-weight: 500;
 }

 input[type="date"]::placeholder,
 input[type="time"]::placeholder {
     color: #E8E6E3;
     opacity: 1;
 }

 input[type="date"]:hover,
 input[type="time"]:hover {
     border-color: #E8E6E3;
 }

 input[type="date"]:focus,
 input[type="time"]:focus {
     border-color: #6f76ee;
     box-shadow: 0 0 5px #6f76ee;
 }

 @media screen and (min-width: 320px) {
     html {
         font-size: 7px;
     }

     .chat-container {
         height: 80%;
         width: 45%;
         right: 3em;
     }
 }

 @media screen and (min-width: 420px) {
     html {
         font-size: 8px;
     }

     .chat-container {
         height: 77%;
         width: 45%;
         right: 3em;
     }

     .action-buttons {
         grid-template-columns: 1fr;
     }
 }

 @media screen and (min-width: 768px) {
     html {
         font-size: 12px;
     }

     .left {
         width: 40%
     }

     .right {
         width: 60%;
     }

     .chat-container {
         height: 70%;
         width: 55%;
         right: 4em;
         padding: 0.8em;
     }

     .action-buttons {
         grid-template-columns: 1fr 1fr;
     }
 }

 @media screen and (min-width: 1024px) {
     html {
         font-size: 14px;
     }
 }

 @media screen and (min-width: 1440px) {
     html {
         font-size: 16px;
     }
 }