/* General Styles */
body {
    font-family: 'Lato', sans-serif;
    margin: 0;
    padding: 0;
    line-height: 1.7;
    color: #333;
}

header {
    background-color: #f4f4f4;
    padding: 2rem;
    text-align: center;
    position: relative;
    overflow: hidden;
}

/* Container for consistent spacing */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 2rem;
}

section {
    padding: 2rem;
    margin-bottom: 2rem;
}

/* Hero Section */
.profile-pic {
    width: 150px;
    border-radius: 50%;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.1);
    transition: transform 0.3s ease;
}

.profile-pic:hover {
    transform: scale(1.05);
}


/* Projects Section */
.project-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    gap: 2rem;
}

.project {
    border: 1px solid #eee;
    padding: 1.5rem;
    text-align: center;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

.project img {
    width: 100%;
    height: auto;
    margin-bottom: 1rem;
    border-radius: 4px;
}

.project:hover {
    transform: translateY(-5px);
}

/* Footer */
footer {
    background-color: #f4f4f4;
    padding: 1rem;
    text-align: center;
    position: fixed; /* Fix the footer to the bottom */
    bottom: 0;          /* Align it to the bottom */
    width: 100%;         /* Make it full width */
    z-index: 1000;       /* Ensure it's above other content */
}

/* Theme Switch Styles */
label[for="theme"] { /* Target the label element directly */
    position: fixed;
    bottom: 20px;
    right: 20px;
    display: inline-block;
    background-color: #ccc; /* Default background color (light mode) */
    color: white;
    padding: 8px 16px;
    border: none;
    cursor: pointer;
    border-radius: 20px;
    transition: transform 0.3s ease, background-color 0.3s ease; /* Smooth transitions */
    display: flex;          /* Use Flexbox for icon positioning */
    align-items: center;   /* Vertically align items */
}

label[for="theme"] .theme__icon {
  display: inline-block;  /* Ensure the icon is on the same line as text */
}

label[for="theme"] input[type="checkbox"] { /* Target the checkbox directly */
    display: none; /* Hide the default checkbox appearance */
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(1) {
  box-shadow: 0.2em -0.2em 0 0.2em hsl(0,0%,100%) inset;
  transform: scale(1);
  top: 0.2em;
  left: -0.2em;
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part {
    opacity: 0;
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(2) {
  transform: rotate(-45deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(3) {
  transform: rotate(-90deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(4) {
  transform: rotate(-135deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(5) {
  transform: rotate(-180deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(6) {
  transform: rotate(-225deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(7) {
  transform: rotate(-270deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(8) {
  transform: rotate(-315deg) translateY(0.8em);
}

label[for="theme"] input[type="checkbox"]:checked + .theme__icon .theme__icon-part:nth-child(9) {
  transform: rotate(-360deg) translateY(0.8em);
}


body.dark-mode label[for="theme"] {
    background-color: #6c757d;  /* Dark mode background color */
}

