/* General Styles - Inspired by f7.de minimal design */
:root {
    --primary-color: #4cb68a; /* Teal/Cyan accent color */
    --primary-color2: #a183d9; /* Secondary gradient color */
    --secondary-color: #383535; /* Dark text color */
    --background-color: #f8f8f8; /* Light grey background */
    --card-background: #ffffff; /* White for cards/elements */
    --border-color: #eee; /* Light border/separator */
    --box-shadow: 0 8px 15px rgba(0,0,0,0.2); /* More pronounced shadow */
    --hover-shadow: 0 15px 25px rgba(0,0,0,0.3); /* Stronger hover shadow */
    --skill-tag-bg: rgba(255, 255, 255, 0.25); /* Semi-transparent white for skill tags on dark bg */
    --skill-tag-color: white; /* White text for skill tags */
    --overlay-color: rgba(0, 0, 0, 0.5); /* Dark overlay, slightly less opaque */
    --project-text-color: white; /* Color for text on project cards */
    --photo-border-color: white; /* White border color for profile photo */
}

html {
    scroll-behavior: smooth; /* Smooth scrolling */
}

body {
    margin: 0;
    font-family: 'Inter', sans-serif; /* Primary body font */
    line-height: 1.7; /* Increased line height for readability */
    color: var(--secondary-color);
    background-color: var(--background-color);
    padding-top: 100px; /* Default space for fixed header */
    -webkit-font-smoothing: antialiased; /* Smoother fonts */
    -moz-osx-font-smoothing: grayscale;
}

h1, h2, h3, h4 {
    font-family: 'Poppins', sans-serif; /* Headings font */
    color: var(--secondary-color);
    line-height: 1.3;
    margin-bottom: 15px;
}

h1 {
    font-size: 2.8em;
    font-weight: 700;
    text-align: left;
    margin-bottom: 5px;
}

h2 {
    font-size: 2em;
    font-weight: 600;
    margin-bottom: 20px;
}

h3 {
     font-size: 1.6em;
     font-weight: 600;
     margin-bottom: 10px;
}

h4 {
     font-size: 1.2em;
     font-weight: 600;
     margin-bottom: 10px;
}

p {
    margin-bottom: 15px;
    font-size: 1em;
}

a {
    color: var(--primary-color);
    text-decoration: none;
    transition: color 0.3s ease;
}

a:hover {
    color: #0097a7; /* Slightly darker teal on hover */
    text-decoration: underline;
}

.container {
    max-width: 1100px; /* Slightly wider container */
    margin: 0 auto;
    padding: 0 30px; /* More padding on the sides */
}

/* Header Styling - Fixed and consistent across pages */
.site-header {
    background-color: var(--card-background);
    padding: 15px 0; /* Default padding */
    border-bottom: 1px solid var(--border-color);
    text-align: center;
    position: fixed;
    width: 100%;
    top: 0;
    left: 0;
    z-index: 1000;
    box-shadow: 0 1px 5px rgba(0,0,0,0.05);
}

.header-content {
    font-size: 1em;
    display: flex;
    flex-direction: column; /* Default stacked layout */
    align-items: center; /* Default centered alignment */
    gap: 10px; /* Default gap */
    padding-bottom: 10px; /* Default space below content */
    box-sizing: border-box;
    position: relative; /* Needed for absolute icons on large screens */
    padding-right: 20px; /* Default right padding */
}

.header-text {
    flex-grow: 1;
}

.header-text h1 {
    margin: 0;
    font-size: 2em;
    color: var(--primary-color);
}

.header-text .title {
    margin: 0;
    font-size: 1.1em;
    color: #555; /* Default color */
    font-weight: 400;
}

/* Header Contact Icons Styling */
.header-contact-icons {
    display: flex;
    flex-wrap: wrap;
    justify-content: center; /* Default centered */
    gap: 10px; /* Default gap */
    z-index: 1001;
    position: static; /* Default static position */
    margin-top: 10px; /* Default space above icons */
}

/* Style for icon buttons */
.icon-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px; /* Default size */
    height: 36px;
    border: 1px solid var(--primary-color);
    color: var(--primary-color);
    background-color: transparent;
    text-decoration: none;
    border-radius: 4px;
    transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease;
    font-size: 1.2em; /* Default icon size */
    cursor: pointer;
}

.icon-button:hover {
    background-color: var(--primary-color);
    color: var(--card-background);
    border-color: var(--primary-color);
    text-decoration: none;
}


/* Navigation Styling */
.site-nav {
    margin-top: 0;
}

.site-nav ul {
    list-style: none;
    padding: 0;
    margin: 0;
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 10px 25px;
    font-size: 0.95em;
    font-weight: 500;
}

.site-nav a {
    text-decoration: none;
    color: var(--secondary-color);
    padding: 5px 0;
    border-bottom: 2px solid transparent;
    transition: color 0.3s ease, border-bottom-color 0.3s ease;
}

.site-nav a:hover,
.site-nav a.active {
    color: var(--primary-color);
    border-bottom-color: var(--primary-color);
}


/* Main Content Sections - Standard spacing */
.section {
    padding: 60px 0; /* Default padding */
    background-color: var(--card-background); /* Default background */
}

.section:nth-child(odd) {
    background-color: var(--card-background);
}
.section:nth-child(even) {
    background-color: var(--background-color);
}


.section-title {
    text-align: center;
    margin-top: 0;
    margin-bottom: 40px;
    font-size: 2.2em;
    font-weight: 700;
    color: var(--secondary-color);
    position: relative;
}

.section-title::after {
    content: '';
    display: block;
    width: 80px;
    height: 4px;
    background-color: var(--primary-color);
    margin: 15px auto 0;
    border-radius: 2px;
}

/* Home Page Specific - Intro Section */
.intro-section {
    text-align: center;
    padding: 80px 0 60px 0; /* Default padding */
    background: linear-gradient(55deg, var(--primary-color), var(--primary-color2)); /* Assuming gradient added */
    color: white; /* Default text color */
}

/* Profile Picture inside Intro Section */
.intro-section .profile-picture {
    margin-bottom: 20px; /* Default space below photo */
}

.intro-section .profile-picture img {
    display: inline-block;
    width: 300px; /* Default size */
    height: 300px;
    object-fit: cover;
    border-radius: 50%;
    border-width: 4px; /* Default border thickness */
    border-style: solid;
    border-color: white;
    box-shadow: 0 5px 15px rgba(0,0,0,0.3);
    transition: transform 0.3s ease;
}



.intro-section h2 {
    font-size: 2em; /* Default size */
    font-weight: 700;
    margin-bottom: 10px;
    color: white;
    font-family: 'Poppins', sans-serif;
}

.intro-section p {
    font-size: 1em; /
    font-weight: 300;
    margin-bottom: 20px;
    color: rgba(255,255,255,0.9);
    font-family: 'Inter', sans-serif;
}

.intro-section .button {
     border-color: white;
     color: white;
     margin: 0 10px; /* Space between buttons */
     margin-top: 10px; /* Space above buttons */
}

.intro-section .button:hover {
     background-color: white;
     color: var(--primary-color);
}

/* Projects Gallery Styling (on index.html now) */
#projects > .section-title {
    /* Use standard section-title */
}

/* Style for the instructional text above the gallery */
.projects-instruction {
    text-align: center;
    font-size: 1.1em; /* Default font size */
    color: var(--secondary-color);
    margin-top: -20px;
    margin-bottom: 40px; /* Default space below */
    display: block;
    width: 100%;
}


.projects-gallery {
    display: grid;
    grid-template-columns: 1fr;
    gap: 40px;
    max-width: 900px;
    margin: 0 auto;
}

/* Project Card Item (The container div) */
.project-item {
    display: block;
    position: relative;
    min-height: 300px; /* Default min-height for the item */
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: transform 0.3s ease, box-shadow 0.3s ease;
    border: 1px solid var(--border-color);
    background-color: var(--card-background);
}

/* Lift effect on hover applies to the whole item */
.project-item:hover {
    transform: translateY(-5px);
    box-shadow: var(--hover-shadow);
}

/* Dropdown Project Details Styling */
/* Hide the checkbox visually */
.project-toggle {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    z-index: -1;
}

/* Style for the label that acts as the clickable card */
.project-card-label {
    display: block;
    position: relative;
    height: 350px; /* Default fixed height for the visual part */
    cursor: pointer;
    z-index: 1;
    border-radius: 8px 8px 0 0;
    overflow: hidden;
}

/* Style for the visual part of the card */
.project-card-visuals {
    position: relative;
    height: 100%;
    background-color: var(--card-background);
    background-size: cover;
    background-position: center;
}


/* Dark Overlay */
.project-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--overlay-color); /* Default overlay */
    z-index: 1;
    transition: background-color 0.3s ease;
}

/* Content on top of the image */
.project-card-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 2;
    padding: 25px; /* Default padding */
    box-sizing: border-box;
    color: var(--project-text-color);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.project-card-content h3 {
    color: var(--project-text-color);
    margin-top: 0;
    margin-bottom: 5px;
    font-size: 1.5em; /* Default size */
    font-weight: 700;
    flex-grow: 1;
}

/* Institution and Skills Positioning */
.project-institution {
    font-size: 0.95  em; /* Default size */
    color: rgba(255, 255, 255, 0.9);
    margin-bottom: 5px;
    font-weight: 500;
}

.project-card-content .project-short-description {
    font-size: 0.95em; /* Default size */
    color: white;
    margin-top: 0;
    margin-bottom: 10px; /* Default space below */
    line-height: 1.4;
}

.project-skills {
    margin-top: auto;
    display: flex;
    flex-wrap: wrap;
    gap: 8px; /* Default gap */
    margin-bottom: 0;
}

/* Skill Tags Styling */
.skill-tag {
    display: inline-block;
    padding: 2px 8px; /* Default padding */
    background-color: var(--skill-tag-bg);
    color: var(--skill-tag-color);
    border: 1px solid rgba(255, 255, 255, 0.5);
    border-radius: 4px; /* Default radius */
    font-size: 0.75em; /* Default size */
    font-weight: 300;
    text-transform: capitalize;
    white-space: nowrap;
    backdrop-filter: blur(1px);
    -webkit-backdrop-filter: blur(1px);
}

/* Style for the dropdown details area */
.project-details {
    max-height: 0;
    overflow: hidden;
    transition: max-height 0.7s ease-in-out, padding 0.7s ease-in-out;
    padding: 0 25px; /* Default horizontal padding, 0 vertical */
    margin-top: 0;
    margin-bottom: 0;
    background-color: #fefefe;
    border-top: 1px solid var(--border-color);
}

/* Show details when the corresponding checkbox is checked */
.project-toggle:checked ~ .project-details {
    max-height: 3000px;
    padding: 25px; /* Default full padding */
    margin-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
    border-radius: 0 0 8px 8px;
}

/* Styling for content within project details */
.project-details h4 {
    font-size: 1.5em;
    margin-bottom: 20px;
}

.project-details p {
    margin-bottom: 15px;
    color: #444;
}

.project-details ul {
    margin-top: 10px;
    margin-bottom: 15px;
    padding-left: 20px;
    list-style: disc;
    color: #444;
}
.project-details ul li {
    margin-bottom: 8px;
    line-height: 1.5;
}

.project-details-visuals {
    margin-top: 30px;
    margin-bottom: 30px;
    text-align: center;
    padding: 20px;
    background-color: var(--background-color);
    border-radius: 8px;
}

.project-details-visuals h5 {
    font-size: 1.1em;
    margin-top: 0;
    margin-bottom: 20px;
    color: var(--secondary-color);
    text-align: left;
}

.project-details-visuals img,
.project-details-visuals video {
    display: block;
    max-width: 90%; /* Default max-width */
    max-height: 400px; /* Default max-height */
    height: auto;
    margin: 15px auto;
    border: 1px solid var(--border-color);
    box-shadow: 0 2px 5px rgba(0,0,0,0.1);
    border-radius: 4px;
}

.project-details-visuals .video-container {
    position: relative;
    padding-bottom: 56.25%;
    height: 0;
    overflow: hidden;
    max-width: 100%; /* Default max-width */
    background: #000;
    margin: 20px auto;
    border-radius: 4px;
}

.project-details-visuals .video-container iframe,
.project-details-visuals .video-container video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.project-details-visuals .image-caption,
.project-details-visuals .video-caption {
     font-size: 0.9em;
     color: #666;
     margin-top: 5px;
     margin-bottom: 15px;
     font-style: italic;
     text-align: center;
}


/* Style for the close button within details */
.close-button {
     display: block;
     width: max-content;
     margin: 20px auto 0 auto;
     background-color: var(--background-color);
     color: var(--secondary-color);
     border-color: var(--border-color);
     padding: 8px 15px;
     font-size: 0.95em;
}

.close-button:hover {
     background-color: var(--border-color);
     color: var(--secondary-color);
}


/* Experience & Education Entry Styling (Used on resume.html) */
.job-entry, .education-entry, .teaching-entry {
    margin-bottom: 30px;
    padding-bottom: 20px;
    border-bottom: 1px solid var(--border-color);
}

.job-entry:last-child, .education-entry:last-child, .teaching-entry:last-child {
    border-bottom: none;
}

.job-header, .education-header, .teaching-header {
    display: flex;
    justify-content: space-between;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 10px;
    margin-bottom: 5px;
}

.job-header h3, .education-header h3, .teaching-header h3 {
     margin: 0;
     font-size: 1.4em;
     color: var(--secondary-color);
     font-weight: 600;
}

.job-date, .education-date, .teaching-date {
    font-size: 0.95em;
    color: #666;
    flex-shrink: 0;
    font-weight: 400;
}

.job-org, .education-degree, .education-location, .teaching-org, .teaching-location {
    margin: 0 0 8px 0;
    color: #555;
    font-weight: 500;
    font-size: 1em;
}

.job-location, .education-location {
    font-style: italic;
    margin-bottom: 15px;
    color: #777;
    font-size: 0.95em;
}

.education-courses {
    margin: 10px 0 0 0;
    font-size: 0.95em;
    color: #555;
    line-height: 1.5;
}

.job-description, .education-details, .teaching-details {
    margin: 10px 0 0 0;
    padding-left: 25px;
    list-style: disc;
}

.job-description li, .education-details li, .teaching-details li {
    margin-bottom: 10px;
    color: #444;
}

/* Awards & Publications Styling (Used on publications.html) */
.awards-list, .publications-list {
    list-style: disc;
    padding-left: 80px; /* Default padding */
    padding-right: 80px; /* Default padding */
    color: #444;
}

.awards-list li, .publications-list li {
    margin-bottom: 10px;
    line-height: 1.6;
    font-size: 1em;
}

.publication-citation {
     font-size: 0.95em;
     color: #555;
}

.google-scholar-link {
    font-size: 1em;
    color: #555;
    margin-top: 25px;
    margin-bottom: 0;
    padding-left: 80px; /* Default padding */
    padding-right: 80px; /* Default padding */
}


/* Footer Styling */
.site-footer {
    background-color: var(--secondary-color);
    color: var(--background-color);
    text-align: center;
    padding: 30px 0;
    font-size: 0.9em;
    margin-top: 40px;
}

.site-footer p {
    margin: 5px 0;
    color: #ccc;
}

/* Footer Contact Info Styling */
.footer-contact-info {
    margin-top: 15px;
}

.footer-contact-info p {
    margin: 5px 0;
    text-align: center;
}

.footer-contact-link {
    color: var(--background-color);
    text-decoration: none;
    font-size: 1em;
    transition: color 0.3s ease;
    display: inline-flex;
    align-items: center;
}

.footer-contact-link:hover {
    color: rgba(255,255,255,0.8);
    text-decoration: underline;
}

.footer-contact-link i {
    margin-right: 8px;
    font-size: 1.1em;
}


/* --- Responsive Adjustments --- */

/* Medium screens and up (Tablet, Desktop Base) */
@media (min-width: 768px) {
    body {
        padding-top: 100px; /* Ensure desktop padding-top is 100px */
    }

    .site-header {
        padding: 15px 0; /* Ensure desktop padding is 15px */
    }

    .header-content {
        flex-direction: row;
        align-items: center;
        gap: 30px; /* Increased gap */
        padding-bottom: 10px;
        padding-right: 100px; /* Space on the right for absolute icons */
    }

    .header-text {
        flex-grow: 1;
        padding-right: 30px;
    }

    .header-text .title {
         text-align: left;
         color: var(--secondary-color); /* Ensure title is dark on large screens */
    }

    .header-contact-icons {
        position: absolute;
        top: 15px;
        right: 20px;
        margin-top: 0; /* Remove mobile margin */
        justify-content: flex-end; /* Align icons to the right */
        gap: 15px; /* Space between icons */
        order: 2;
    }

    .icon-button {
         width: 36px; /* Default size */
         height: 36px;
         font-size: 1.2em; /* Default icon size */
         border-radius: 4px;
    }


     .site-nav ul {
         gap: 40px; /* More space between links */
     }

     .job-header, .education-header, .teaching-header {
         flex-direction: row;
         gap: 20px;
     }

     .job-header h3, .education-header h3, .teaching-header h3 {
         margin-right: 0;
     }

     /* Projects Gallery - Ensure single column on desktop */
     .projects-gallery {
         grid-template-columns: 1fr;
     }

     /* Project Card Layout */
     /* Content on top of the image, flex column */
     .project-card-content {
        padding: 25px; /* Default padding */
     }


     .project-card-content .project-short-description {
         font-size: 0.95em; /* Default size */
         margin-bottom: 10px;
     }

     .project-skills {
         margin-top: auto;
         margin-bottom: 0;
         gap: 8px; /* Default gap */
     }

     /* Skill Tags Styling */
    .skill-tag {
        padding: 2px 8px; /* Default padding */
        border-radius: 4px; /* Default radius */
        font-size: 0.75em; /* Default size */
    }

     /* Project Details */
     .project-details {
        padding: 0 25px; /* Default horizontal padding */
     }

     .project-toggle:checked ~ .project-details {
        padding: 25px; /* Default full padding */
     }

     /* Project Details Visuals */
     .project-details-visuals img,
     .project-details-visuals video {
         max-width: 100%;
         max-height: 400px;
         margin: 15px auto;
     }

     .project-details-visuals .video-container {
         max-width: 100%;
         margin: 20px auto;
     }


     /* Resume/Publications List Padding */
     .awards-list, .publications-list {
         padding-left: 80px;
         padding-right: 80px;
     }
     .google-scholar-link {
         padding-left: 80px;
         padding-right: 80px;
     }

     /* Footer */
     .footer-contact-link {
        font-size: 1em;
        margin: 0 10px; /* Space between footer links on larger screens */
     }
      .footer-contact-info p {
        display: inline-block; /* Display paragraphs inline */
        margin: 5px 10px; /* Space between blocks of links */
      }
      .footer-contact-link i {
        margin-right: 8px;
        font-size: 1.1em;
     }
}

/* Mobile screens (Smaller than 768px) */
@media (max-width: 767px) {
    body {
        padding-top: 120px; /* Space for fixed header */
    }

    .site-header {
        padding: 8px 0; /* Reduced header padding */
    }
    .header-content {
         font-size: 0.7em; /* Smaller font size */
         padding-right: 20px;
         padding-bottom: 8px;
         position: static; /* Reset absolute positioning */
         flex-direction: column;
         align-items: center;
         gap: 8px; /* Space between header elements */
    }
    .header-text {
        flex-grow: 0;
        margin-bottom: 5px;
    }

    .header-contact-icons {
        position: static; /* Reset absolute positioning */
        top: auto;
        right: auto;
        margin-top: 0; /* No extra margin needed if gap is handled by parent */
        justify-content: center;
        gap: 15px; /* Space between icons */
        order: 2; /* Place it last visually */
    }

    .icon-button {
        width: 30px; /* Smaller icons on mobile */
        height: 30px;
        font-size: 1.1em;
    }

    /* Intro Section Mobile Adjustments */
    .intro-section {
         padding: 60px 20px 40px 20px; /* Adjust padding */
    }

    .intro-section .profile-picture {
         margin-bottom: 15px; /* Less space below photo on mobile */
    }

    .intro-section .profile-picture img {
        width: 230px; /* Smaller photo */
        height: 230px;
        border-width: 4px;
        box-shadow: 0 3px 8px rgba(0,0,0,0.2);
    }
    .intro-section h2 {
        font-size: 1.5em; /* Smaller size */
        margin-bottom: 10px;
    }

    .intro-section p {
        font-size: 1em; /* Adjust paragraph size */
        margin-bottom: 15px;
    }

    .intro-section .button {
         margin: 5px 8px; /* Adjust button margins */
         margin-top: 8px; /* Space above buttons */
         font-size: 0.95em;
         padding: 6px 12px;
    }


    /* Projects Instruction */
    .projects-instruction {
        font-size: 1em; /* Smaller font */
        margin-top: -15px;
        margin-bottom: 20px;
        padding: 0 20px; /* Add padding to instruction text itself */
    }

    /* Project Card Content */
    .project-card-content {
        padding: 15px; /* Less padding */
        justify-content: space-around; /* Adjust spacing */
    }
     .project-card-content h3 {
        font-size: 1.4em;
        margin-bottom: 5px;
     }
     .project-institution {
         font-size: 0.8em;
         margin-bottom: 5px;
     }
     .project-card-content .project-short-description {
          font-size: 0.8em;
          margin-bottom: 8px;
     }
     .project-skills {
         margin-top: 10px; /* Space above skills */
         margin-bottom: 0;
         gap: 6px; /* Smaller gap */
     }
     
      .skill-tag {
         padding: 1px 5px; /* Restore default padding */
         border-radius: 4px; /* Restore default radius */
         font-size: 0.65em; /* Restore default size */
      }

     /* Project Details */
     .project-details {
        padding: 0 15px; /* Less horizontal padding */
     }
     .project-toggle:checked ~ .project-details {
        padding: 15px; /* Less full padding when open */
        margin-bottom: 15px;
     }
     .project-details h4 {
         font-size: 1.3em;
         margin-bottom: 15px;
     }
     .project-details p,
     .project-details ul,
     .project-details ul li {
         font-size: 0.95em;
     }
     .project-details-visuals {
          padding: 15px;
     }
      .project-details-visuals h5 {
         font-size: 1em;
         margin-bottom: 15px;
     }
     .project-details-visuals img,
     .project-details-visuals video {
         max-width: 100%; /* Full width */
         max-height: 300px; /* Limit height */
         margin: 10px auto;
     }
     .project-details-visuals .video-container {
        margin: 15px auto;
     }
     .project-details-visuals .image-caption,
     .project-details-visuals .video-caption {
        font-size: 0.85em;
        margin-bottom: 10px;
     }


     /* Resume/Publications List Padding */
     .awards-list, .publications-list {
         padding-left: 20px;
         padding-right: 20px;
     }
      .google-scholar-link {
         padding-left: 20px;
         padding-right: 20px;
          margin-top: 15px;
     }


     /* Footer Contact Info */
    .footer-contact-link {
        font-size: 0.9em;
        margin: 0; /* Remove inline block margins */
     }
      .footer-contact-info p {
        display: block; /* Stack paragraphs */
        margin: 3px 0; /* Smaller space between paragraphs */
      }
      .footer-contact-link i {
        margin-right: 5px;
        font-size: 1em;
     }
}

/* Large screens and up */
@media (min-width: 992px) {
     h1 { font-size: 3.2em; }
     h2 { font-size: 2.4em; }
     h3 { font-size: 1.6em; }
     p { font-size: 1.05em; }
     body { line-height: 1.8; }

     /* Intro Section Large Adjustments */
     .intro-section {
         padding: 80px 0; /* Restore default horizontal padding handled by container */
     }
     .intro-section .profile-picture {
        margin-bottom: 30px;
     }

      /* Projects Instruction */
      .projects-instruction {
         font-size: 1.1em; /* Restore default font size */
         padding: 0; /* Remove mobile padding */
      }

     /* Project Card Layout */
      .project-item {
         min-height: 300px; /* Restore min-height */
      }
      .project-card-label {
         height: 350px; /* Restore default height */
      }
      .project-card-content {
         padding: 25px; /* Restore default padding */
      }

      .project-card-content .project-short-description {
         font-size: 0.95em; /* Restore default size */
         margin-bottom: 10px;
      }
      .project-skills {
         gap: 8px; /* Restore default gap */
         margin-top: auto;
      }
       .skill-tag {
         padding: 2px 8px; /* Restore default padding */
         border-radius: 4px; /* Restore default radius */
         font-size: 0.75em; /* Restore default size */
      }

      /* Project Details */
      .project-details {
         padding: 0 25px; /* Restore default horizontal padding */
      }
       .project-toggle:checked ~ .project-details {
          padding: 25px; /* Restore default full padding */
          margin-bottom: 20px;
       }
       .project-details-visuals img,
        .project-details-visuals video {
           max-width: 100%;
           max-height: 400px;
           margin: 15px auto;
       }

       /* Footer Contact Info */
       .footer-contact-link {
           font-size: 1em;
       }
        .footer-contact-link i {
           font-size: 1.1em;
       }
}

