
/* ======================
   ROOT VARIABLES
====================== */
:root {
  --bg-color: #0f172a;
  --text-color: #ffffff;
  --accent: linear-gradient(90deg,#00f5ff,#ff00c8);
  --glass: rgba(255,255,255,0.08);
}

body.light {
  --bg-color: #f5f5f5;
  --text-color: #111;
  --glass: rgba(0,0,0,0.05);
}

* {
  margin:0;
  padding:0;
  box-sizing:border-box;
  font-family: Arial, sans-serif;
  scroll-behavior: smooth;
}

body {
  background: var(--bg-color);
  color: var(--text-color);
  transition: .4s;
}

/* ======================
   NAVBAR
====================== */
.navbar {
  position: fixed;
  width: 100%;
  backdrop-filter: blur(15px);
  background: var(--glass);
  z-index: 1000;
}

.nav-container {
  max-width:1200px;
  margin:auto;
  height:80px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:0 20px;
}

.logo { font-weight:bold; font-size:22px; }

.logo img {
  width: 35px;
  height: 43px;
  object-fit: cover;
  border-radius: 5px;
  transition: transform .5s ease;
}

.logo:hover img {
  transform: scale(1.1);
}


.nav-menu {
  display:flex;
  gap:25px;
  list-style:none;
}

.nav-menu a {
  text-decoration:none;
  color:var(--text-color);
  transition:.3s;
}

.nav-menu a:hover {
  background: var(--accent);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.toggle-btn {
  padding:6px 14px;
  border:none;
  border-radius:20px;
  cursor:pointer;
  background: var(--accent);
  color:white;
}

/* ======================
   SECTIONS
====================== */
section {
  padding:120px 20px;
  max-width:1200px;
  margin:auto;
}

h1,h2 { margin-bottom:20px; }

.hero {
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:100vh;
}

.hero h1 {
  font-size:50px;
}

.hero span {
  background: var(--accent);
  -webkit-background-clip:text;
  -webkit-text-fill-color:transparent;
}

.hero p {
  margin:20px 0;
  max-width:600px;
  line-height:1.6;
}

.btn {
  display:inline-block;
  padding:12px 25px;
  border-radius:30px;
  background: var(--accent);
  color:white;
  text-decoration:none;
  margin-top:10px;
}

/* ======================
   GRID LAYOUTS
====================== */
.grid {
  display:grid;
  grid-template-columns: repeat(auto-fit,minmax(250px,1fr));
  gap:30px;
}

.card {
  background: var(--glass);
  padding:30px;
  border-radius:15px;
  transition:.3s;
}

.card:hover {
  transform:translateY(-10px);
}

/* ======================
   SKILLS BARS
====================== */
.skill {
  margin-bottom:20px;
}

.skill-bar {
  height:8px;
  background:#333;
  border-radius:5px;
  overflow:hidden;
}

.skill-bar span {
  display:block;
  height:100%;
  background: var(--accent);
}

/* ======================
   CONTACT
====================== */
.contact form {
  display:flex;
  flex-direction:column;
  gap:15px;
  max-width:500px;
}

.contact input,
.contact textarea {
  padding:12px;
  border:none;
  border-radius:10px;
}

.contact button {
  border:none;
  padding:12px;
  border-radius:25px;
  background: var(--accent);
  color:white;
  cursor:pointer;
}

/* ======================
   FOOTER
====================== */
.footer {
  background: #0f172a;
  color: #fff;
  padding: 60px 20px 20px;
}

.footer-container {
  max-width: 1200px;
  margin: auto;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 40px;
}

.footer-col h3 {
  margin-bottom: 15px;
}

.footer-col ul {
  list-style: none;
}

.footer-col ul li {
  margin-bottom: 10px;
}

.footer-col a {
  color: #ccc;
  text-decoration: none;
  transition: 0.3s;
}

.footer-col a:hover {
  color: #00f5ff;
}

.footer-logo {
  font-size: 22px;
  margin-bottom: 15px;
}

.footer-logo img {
  width: 50px;
  height: 70px;
  object-fit: cover;
  border-radius: 5px;
  transition: transform .5s ease;
}

.footer-logo:hover img {
  transform: scale(1.1);
}

/* Newsletter */
.newsletter {
  text-align: center;
  margin-top: 60px;
}

.newsletter form {
  margin-top: 15px;
}

.newsletter input {
  padding: 10px 15px;
  width: 250px;
  border-radius: 25px;
  border: none;
  outline: none;
}

.newsletter button {
  padding: 10px 20px;
  margin-left: 10px;
  border-radius: 25px;
  border: none;
  background: linear-gradient(45deg,#00f5ff,#ff00c8);
  color: #fff;
  cursor: pointer;
}

/* Bottom Bar */
.footer-bottom {
  border-top: 1px solid rgba(255,255,255,0.1);
  margin-top: 50px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: center;
}

.social-icons a {
  margin-right: 15px;
  color: #ccc;
  text-decoration: none;
}

.social-icons a:hover {
  color: #00f5ff;
}

.legal-links a {
  margin-left: 15px;
  color: #ccc;
  text-decoration: none;
}

.legal-links a:hover {
  color: #00f5ff;
}

/* Responsive */
@media(max-width: 900px) {
  .footer-container {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media(max-width: 600px) {
  .footer-container {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    gap: 15px;
  }

  .newsletter input {
    width: 100%;
    margin-bottom: 10px;
  }

  .newsletter button {
    width: 100%;
    margin-left: 0;
  }
}


/* ======================
   MOBILE
====================== */
@media(max-width:768px){
  .hero h1 { font-size:35px; }
  .nav-menu { display:none; }
}
/* ======================
   IMAGE HOVER ZOOM
====================== */
.card img {
  width: 100%;
  height: 220px;
  object-fit: cover;
  border-radius: 15px;
  transition: transform .5s ease;
}

.card:hover img {
  transform: scale(1.1);
}

/* ======================
   FILTER BUTTONS
====================== */
.filter-buttons {
  text-align: center;
  margin-bottom: 40px;
}

.filter-buttons button {
  padding: 8px 18px;
  margin: 5px;
  border: none;
  border-radius: 25px;
  cursor: pointer;
  background: #1e293b;
  color: white;
  transition: .3s;
}

.filter-buttons button.active,
.filter-buttons button:hover {
  background: linear-gradient(90deg,#00f5ff,#ff00c8);
}

/* ======================
   SCROLL REVEAL
====================== */
.reveal {
  opacity: 0;
  transform: translateY(50px);
  transition: all 1s ease;
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* ======================
   MODAL
====================== */
.modal {
  position: fixed;
  top:0;
  left:0;
  width:100%;
  height:100%;
  background: rgba(0,0,0,0.8);
  display:flex;
  justify-content:center;
  align-items:center;
  visibility:hidden;
  opacity:0;
  transition:.4s;
  z-index:2000;
}

.modal.active {
  visibility:visible;
  opacity:1;
}

.modal-content {
  background:#111827;
  padding:30px;
  border-radius:15px;
  max-width:600px;
  width:90%;
  text-align:center;
  color:white;
}

.modal-content img {
  width:100%;
  border-radius:10px;
  margin-bottom:20px;
}

.close-modal {
  margin-top:15px;
  padding:8px 15px;
  border:none;
  border-radius:20px;
  cursor:pointer;
  background: linear-gradient(90deg,#00f5ff,#ff00c8);
  color:white;
}


/* CHATBOT */

.chatbot-container{
position:fixed;
bottom:30px;
right:30px;
z-index:9999;
}

.chatbot-toggle{

width:60px;
height:60px;
border-radius:50%;
background:linear-gradient(45deg,#00f5ff,#ff00c8);
display:flex;
align-items:center;
justify-content:center;
font-size:28px;
cursor:pointer;
box-shadow:0 0 20px rgba(0,0,0,0.3);

}

.chatbot-box{

width:320px;
height:420px;
background:#111827;
border-radius:15px;
display:none;
flex-direction:column;
overflow:hidden;
box-shadow:0 10px 40px rgba(0,0,0,0.4);

}

/* HEADER */

.chat-header{

background:linear-gradient(45deg,#00f5ff,#ff00c8);
padding:12px;
display:flex;
justify-content:space-between;
font-weight:bold;

}

/* BODY */

.chat-body{

flex:1;
padding:15px;
overflow-y:auto;
display:flex;
flex-direction:column;
gap:10px;

}

.bot-message{

background:#1f2937;
padding:10px;
border-radius:10px;
max-width:80%;

}

.user-message{

background:#00f5ff;
color:black;
padding:10px;
border-radius:10px;
align-self:flex-end;
max-width:80%;

}

/* INPUT */

.chat-input{

display:flex;
border-top:1px solid #333;

}

.chat-input input{

flex:1;
padding:10px;
border:none;
outline:none;
background:#111827;
color:white;

}

.chat-input button{

padding:10px 15px;
border:none;
background:#00f5ff;
cursor:pointer;

}

