/* style.css - Main CSS file that imports all other CSS modules */

/* Base resets and global styles */
@import './css/base.css';

/* Header and footer specific styles */
@import './css/header-footer.css';

/* Sidebar styles */
@import './css/sidebar.css';

/* Main content styles */
@import './css/main-content.css';

/* Project gallery and card styles */
@import './css/projects.css';


/* Modal styles */
@import './css/modal.css';

/* Pagination styles */
@import './css/pagination.css';

/* Loading overlay styles */
@import './css/loading.css';

@import './css/resources-page.css';

@import './css/profile.css';

/* Mobile-specific styles */
@import './css/mobile.css';

/* Animation styles for Barba.js transitions */
.page-enter {
  opacity: 0;
  transform: translateY(20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.page-exit {
  opacity: 0;
  transform: translateY(-20px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

/* Add animation for elements sliding into view */
.loaded {
  animation: slideIn 0.5s ease forwards;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

/* Material Design 3 Project Cards */
md-elevated-card.project-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 16px;
  border-radius: 20px;
  background-color: var(--md-sys-color-surface-container, #f9f9f9);
  color: var(--md-sys-color-on-surface, #1c1b1f);
  box-shadow: var(--md-sys-elevation-level2, 0 2px 6px rgba(0, 0, 0, 0.1));
  gap: 12px;
  transition: all 0.2s cubic-bezier(0.2, 0, 0, 1);
  height: 100%;
  position: relative;
  overflow: hidden;
  cursor: default; /* Ensure the cursor is default for the card */
}

md-elevated-card.project-card:hover {
  box-shadow: var(--md-sys-elevation-level3, 0 6px 12px rgba(0, 0, 0, 0.12));
  transform: translateY(-2px);
  background-color: var(--md-sys-color-surface-container-high, #f3f3f3);
}

.project-thumbnail {
  width: 100%;
  height: 180px;
  object-fit: cover;
  border-radius: 16px;
  margin-bottom: 8px;
  transition: transform 0.3s ease;
}

md-elevated-card.project-card:hover .project-thumbnail {
  transform: scale(1.02);
}

.project-title {
  font-size: 1.25rem;
  font-weight: 500;
  color: var(--md-sys-color-on-surface, #1c1b1f);
  margin: 0 0 4px 0;
  letter-spacing: -0.01em;
  line-height: 1.4;
  transition: color 0.2s ease;
}

md-elevated-card.project-card:hover .project-title {
  color: var(--md-sys-color-primary, #6750a4);
}

/* Ensure project title link has cursor pointer only when it's clickable */
.project-title-link {
  cursor: pointer;
}

/* The rest of the elements should have default cursor */
.short-form-truncated {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
  line-height: 1.5;
  min-height: 3.5rem;
  color: var(--md-sys-color-on-surface-variant, #49454f);
  font-size: 0.875rem;
  margin-bottom: 8px;
  cursor: default;
}

.stack-icons {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: auto;
  padding-top: 12px;
  position: relative;
}

.stack-icons::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 1px;
  background-color: var(--md-sys-color-outline-variant, rgba(0, 0, 0, 0.08));
}

.stack-icon {
  background: var(--md-sys-color-surface-variant, #e7e0ec);
  color: var(--md-sys-color-on-surface-variant, #49454f);
  padding: 4px 10px;
  border-radius: 20px;
  font-size: 0.75rem;
  font-weight: 500;
  transition: background-color 0.2s ease;
}

.stack-icon:hover {
  background: var(--md-sys-color-primary-container, #eaddff);
  color: var(--md-sys-color-on-primary-container, #21005d);
}

.carousel-card-footer {
  margin-top: auto;
  display: flex;
  justify-content: flex-end;
  padding-top: 12px;
}

md-filled-button.open-modal-btn {
  --md-filled-button-container-color: var(--md-sys-color-primary, #6750a4);
  --md-filled-button-label-text-color: var(--md-sys-color-on-primary, #ffffff);
  --md-filled-button-container-shape: 20px;
  font-size: 0.875rem;
  min-height: 36px;
  padding: 0 16px;
}

md-filled-button.open-modal-btn:hover {
  --md-filled-button-container-elevation: 2;
}

.badge-container {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 6px;
}

.project-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 8px;
  font-size: 0.75rem;
  color: var(--md-sys-color-on-surface-variant, #49454f);
}

.project-meta-item {
  display: flex;
  align-items: center;
  gap: 4px;
}

.project-meta-item md-icon {
  font-size: 1rem;
  --md-icon-size: 1rem;
  color: var(--md-sys-color-on-surface-variant, #49454f);
}

/* Dark mode overrides */
body.dark-mode md-elevated-card.project-card {
  background-color: var(--md-sys-color-surface-container, #1d1b20);
  color: var(--md-sys-color-on-surface, #e6e0e9);
  box-shadow: var(--md-sys-elevation-level2, 0 2px 6px rgba(0, 0, 0, 0.3));
}

body.dark-mode md-elevated-card.project-card:hover {
  background-color: var(--md-sys-color-surface-container-high, #2b2930);
  box-shadow: var(--md-sys-elevation-level3, 0 6px 12px rgba(0, 0, 0, 0.35));
}

body.dark-mode .project-title {
  color: var(--md-sys-color-on-surface, #e6e0e9);
}

body.dark-mode md-elevated-card.project-card:hover .project-title {
  color: var(--md-sys-color-primary, #d0bcff);
}

body.dark-mode .short-form-truncated {
  color: var(--md-sys-color-on-surface-variant, #cac4d0);
}

body.dark-mode .stack-icons::before {
  background-color: var(--md-sys-color-outline-variant, rgba(255, 255, 255, 0.1));
}

body.dark-mode .stack-icon {
  background: var(--md-sys-color-surface-variant, #49454f);
  color: var(--md-sys-color-on-surface-variant, #cac4d0);
}

body.dark-mode .stack-icon:hover {
  background: var(--md-sys-color-primary-container, #4f378b);
  color: var(--md-sys-color-on-primary-container, #eaddff);
}

body.dark-mode .project-meta,
body.dark-mode .project-meta-item md-icon {
  color: var(--md-sys-color-on-surface-variant, #cac4d0);
}

