/* Reset */
* { box-sizing: border-box; margin: 0; padding: 0; }
html, body { height: 100%; }

/* Color Palette */
:root{
  --primary: #9c4a7d;    
  --secondary: #2d658a;  
  --white: #ffffff;       
  --light-gray: #d9d9d9;
  --blakish: #000000;
}

/* Body */
body {
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  background: var(--white);
  color: var(--secondary);
  line-height: 1.6;
  padding-top: 72px; 
}

/* Header / Nav */
.main-nav {
  position: fixed;
  top: 0; left: 0; right: 0;
  background: var(--blakish);
  box-shadow: 0 4px 12px rgba(0,0,0,0.2);
  z-index: 2000;
}
.nav-inner {
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 14px 5%;
}

/* Logo */
.logo { 
  color: var(--white); 
  font-weight: 700; 
  font-size: 22px;
}

/* Nav links */
.nav-links { 
  list-style: none; 
  display: flex; 
  gap: 18px; 
  align-items: center; 
}

.nav-links a {
  color: var(--white); 
  text-decoration: none; 
  font-weight: 600; 
  padding: 6px 8px; 
  border-radius: 6px;
  transition: 0.2s;
}

.nav-links a:hover {
  background-color: orangered;
}

.nav-links a.active { 
  background: var(--white);
  color: var(--blakish);
}

/* Hamburger icon */
.hamburger {
  display: none;
  font-size: 28px;
  cursor: pointer;
  color: var(--white);
}

/* Hide toggle checkbox */
.nav-toggle {
  display: none;
}

/* Responsive nav for small screens */
@media screen and (max-width: 768px) {
  /* Hide nav links by default */
  .nav-links {
    display: none;
    flex-direction: column;
    width: 100%;
    background: var(--blakish);
    position: absolute;
    top: 60px; /* Adjust according to header height */
    left: 0;
    padding: 10px 0;
  }

  /* Show hamburger */
  .hamburger {
    display: block;
  }

  /* Show nav when checkbox is checked */
  .nav-toggle:checked + .hamburger + .nav-links {
    display: flex;
  }

  .nav-links li {
    margin: 10px 0;
    text-align: center;
  }

  .nav-links a {
    display: block;
    width: 100%;
  }
}


/* Buttons */
.about-buttons {
  display: flex;
  gap: 12px;        
  flex-wrap: wrap;   
}

.btn {
  display: inline-block;
  background: var(--blakish);
  color: var(--white);
  padding: 10px 18px;
  border-radius: 24px;
  text-decoration: none;
  font-weight: 700;
  transition: transform .18s ease, box-shadow .18s ease, background .2s, color .2s;
  border: 2px solid white;
}

/* hover effect */
.btn:hover { 
  transform: translateY(-4px); 
  box-shadow: 0 6px 18px rgba(0,0,0,0.25); 
  background-color: orangered;
  border: 2px solid black;
  color: black;
}

.btn.ghost { 
  background: #000000;              
  border: 2px solid var(--white); 
  color: #fff; 
}

.btn.ghost:hover {
  background: var(--blakish);
  color: #fff;
  background-color: orangered;
  border: 2px solid black;
  color: black;
}


/* Home */
.home {
  min-height: calc(100vh - 72px);
  display:flex; align-items:center; justify-content:center;
  text-align:center;
  background: var(--primary);
  color: var(--blakish);
  padding: 40px 5%;
}

.home-box { 
  max-width:900px; 
}

.home-pic {
  width: 240px; 
  height: 240px; 
  object-fit: cover;
  border-radius: 45% 55% 50% 50% / 50% 45% 55% 50%;
  border:6px solid var(--blakish);
  box-shadow: 0 12px 30px rgba(0,0,0,0.4);
  display:block; 
  margin:0 auto 18px;
  transition: transform .25s ease;
}
.home-pic:hover { transform: scale(1.04); }
.home-name { font-size:2.2rem; color: var(--primary); margin-bottom:6px; }
.home-tag { color: var(--light-gray); margin-bottom:18px; }

/* About Section */
.about-hero {
  display:flex; 
  gap:40px; 
  align-items:center; 
  padding:60px 5%; 
  min-height:70vh;
  background: var(--primary);
}
.about-left { flex:1; color: var(--blakish); }
.about-left h2 { color: var(--blakish); font-size:1.8rem; margin-bottom:12px; }
.about-left p { font-size:1rem; line-height:1.7; }
.about-buttons { 
  margin-top:18px; 
  display:flex; 
  gap:12px; 
}
#cv ,#prj{
  border: 2px solid white;
}


.about-right .profile-pic {
  width: 320px; height: 320px;
  border-radius: 25% 75% 50% 50% / 50% 40% 60% 50%;
  border:6px solid var(--blakish);
  box-shadow: 0 12px 28px rgba(0,0,0,0.3);
}

/* Education */
.education { 
  padding: 60px 5%; 
  background: var(--primary); 
}

.education h2 { 
  color: var(--blakish); 
  text-align: center; 
  margin-bottom: 18px; 
  font-size: 42px;
}

/* Grid layout */
.edu-grid { 
  display: grid; 
  gap: 20px; 
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
  margin-top: 18px; 
}

/* Education card styling */
.edu-card {
  position: relative;
  border: 3px solid black;
  border-radius: 12px;
  background: var(--white);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  cursor: pointer;
  transition: transform 0.3s, background 0.3s;
}

/* Card content (label) */
.card-content {
  display: flex;
  gap: 18px;
  align-items: center;
  padding: 18px;
  border-radius: 12px;
  background: inherit; 
  transition: background 0.3s;
}

/* Card image */
.card-content img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  border-radius: 8px;
}

/* Original content visible by default */
.original {
  display: block;
}

/* Result hidden by default */
.result {
  display: none;
  color: black;
  font-weight: bold;
  text-align: left;  
  flex: 1;
  align-self: flex-start;
}

/* Hidden checkbox */
.toggle-checkbox {
  display: none;
}

/* Toggle behavior */
.toggle-checkbox:checked + .card-content .original {
  display: none;
}

.toggle-checkbox:checked + .card-content .result {
  display: block;
}

/* Change background color when tapped (checked) */
.toggle-checkbox:checked + .card-content {
  background: #c7efcf; 
}

/* Keep hover effect while expanded */
.toggle-checkbox:checked + .card-content:hover {
  background: #fffd98 ;
}

/* Hint text */
.edu-card::after {
  content: "Tap to see result";
  font-size: 12px;
  color: #555;
  position: absolute;
  bottom: 8px;
  right: 12px;
  opacity: 0.7;
}

/* Hover effects */
.edu-card:hover {
  transform: scale(1.02);
  background: lightsalmon; 
  cursor : pointer;
}

.edu-card:hover .card-content {
  background: transparent; 
  cursor : pointer;
}


/* Projects */
.projects { 
  padding: 60px 5%; 
  background: var(--primary); 
  color: var(--blakish); 
}

.projects h2 { 
  text-align: center; 
  margin-bottom: 18px; 
  font-size: 42px;
}

.projects-grid { 
  display: grid; 
  gap: 22px; 
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); 
}

.project-card {
  background: var(--light-gray); 
  color: var(--blakish); 
  padding: 20px; 
  border-radius: 12px; 
  box-shadow: 0 6px 18px rgba(0,0,0,0.3);
  transition: all 0.3s ease;
  border: 3px solid black;
  position: relative;   /* needed for ::after positioning */
}

/* Add message in bottom-right of each card */
.project-card::after {
  content: "Tap to explore.";
  position: absolute;
  bottom: 8px;
  right: 12px;
  font-size: 13px;
  font-style: italic;
  color: #555;
  opacity: 0.8;
}

.project-link {
  display: block;
  text-decoration: none;
  color: inherit;
}

.project-link:hover .project-card {
  transform: translateY(-5px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.4);
  cursor: pointer;
  background-color: orangered;
  color: black;
  border: 3px solid black;
}

.project-lang {
  display: inline-block;
  margin-top: 12px;
  padding: 4px 10px;
  border-radius: 12px;
  font-weight: 700;
  font-size: 0.85rem;
}

.project-lang.java { 
  background: #f0a500; 
  color: #fff; 
}

.project-lang.csharp { 
  background: #178600; 
  color: #fff; 
}


/* Skills */
.skills { 
  padding:60px 5%; 
  background: var(--primary); 
  color: var(--blakish); 
}
.skills h2 { 
  text-align:center; 
  margin-bottom:26px; 
  color: var(--blakish); 
  font-size:42px;
}
.skills-container { 
  display:grid; gap:22px; 
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); 
  max-width:1100px; margin:0 auto; 
}
.skill-card {
  background: var(--light-gray); 
  padding:28px; 
  border-radius:14px; 
  text-align:center;
  transition: transform .25s ease, background .25s ease;
  box-shadow:0 10px 22px rgba(0,0,0,0.2);
  border: 3px solid black;
}
.skill-card:hover { 
  transform: translateY(-8px); 
  background: orangered; 
  color: black;
  border: 3px solid black; 
  cursor : not-allowed;
}
.skill-card i { 
  font-size:28px; 
  color: var(--primary); 
  margin-bottom:12px; 
  display:block; 
}

/* Activities */
.activities { 
  padding: 60px 5%; 
  background: var(--primary); 
}

.activities h2 { 
  color: var(--blakish); 
  text-align: center; 
  margin-bottom: 18px; 
  font-size: 42px;
}

/* Grid layout */
.act-grid { 
  display: grid; 
  gap: 20px; 
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); 
  margin-top: 18px; 
}

/* Activities card styling */
.act-card {
  position: relative;
  border: 3px solid black;
  border-radius: 12px;
  background: var(--light-gray);
  box-shadow: 0 8px 20px rgba(0,0,0,0.15);
  transition: transform 0.3s, background 0.3s;
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 18px;
  cursor: not-allowed;
}

/* Card image */
.act-card img {
  width: 90px;
  height: 90px;
  object-fit: contain;
  border-radius: 8px;
  border: 2px solid black;
}

/* Card text */
.act-card h3 {
  margin: 0 0 6px 0;
  font-size: 20px;
  color: var(--blakish);
}

.act-card p {
  margin: 3px 0;
  color: black;
  font-size: 15px;
}

/* Hover effects */
.act-card:hover {
  transform: translateY(-6px);
  background: orangered; 
  color: black;
  border: 3px solid black;
}


/* Contact */
.contact {
  padding: 80px 5%;
  text-align: center;
  background: var(--primary);
  color: var(--blakish);
}

.contact h2 {
  font-size: 42px;        
  font-weight: 800;
  margin-bottom: 28px;
  color: var(--blakish);
}

.social-links {
  display: flex;
  flex-wrap: wrap;    
  gap: 28px;
  justify-content: center;
  margin-top: 28px;
  font-size: 32px;
}

.social-links a {
  color: #000;
  text-decoration: none;
  padding: 18px;
  border-radius: 12px;
  background: rgba(0,0,0,0.05);
  transition: transform 0.25s, background 0.25s, color 0.25s;
  border: 2px solid black;
  background-color: var(--light-gray);
}

/* General hover effect */
.social-links a:hover {
  transform: translateY(-6px) scale(1.1);
  color: #fff;
}

/* Specific hover colors */
.social-links a.facebook:hover { background: var(--secondary); }
.social-links a.linkedin:hover { background: var(--secondary); }
.social-links a.github:hover   { background: #000; }
.social-links a.gmail:hover    { background: maroon; }
.social-links a.phone:hover    { background: green; }

/* ✅ Responsive Fixes */
@media (max-width: 768px) {
  .contact h2 {
    font-size: 32px;
  }

  .social-links {
    gap: 18px;
    font-size: 26px;
  }

  .social-links a {
    padding: 14px;
  }
}

@media (max-width: 480px) {
  .contact {
    padding: 50px 5%;
  }

  .contact h2 {
    font-size: 26px;
  }

  .social-links {
    gap: 14px;
    font-size: 22px;
  }

  .social-links a {
    padding: 12px;
  }
}




/* Footer */
footer { 
  text-align:center; 
  padding:18px 5%; 
  background: var(--blakish); 
  color: var(--white); 
}

/* Responsive */
@media(max-width:900px){
  .about-hero { 
    flex-direction:column-reverse; 
    text-align:center; padding:40px 5%; 
  }
  .about-left { 
    text-align:center; 
  }
  .profile-pic { 
    width:260px; 
    height:260px; 
    margin:0 auto 10px; 
  }
  .home-pic { 
    width:200px; 
    height:200px; 
  }
  .nav-inner{ 
    padding:12px 4%; 
  }
  .nav-links{ 
    gap:12px; font-size:14px; 
  }
}
