/* main.css - Import file for all CSS modules */



/* Base Styles */
@import "reset.css";
@import "typography.css";
@import "layout.css";
@import "utils.css";

/* Component Styles */
@import "navigation.css";
@import "hero.css";
@import "projects.css";
@import "image-viewer.css";
@import "footer.css";
@import "cookie-banner.css";

@import "markdown-content.css";


/* --- Theme Variables --- */
:root {
  /* Light Theme (Default) */
  --body-bg: #ffffff;
  --text-color-primary: #000000;
  --text-color-secondary: #333333;
  --link-color: #007bff;
  --border-color: #dddddd;
  --card-bg: #ffffff;
  --heading-color: #000000;

  --nav-bg-color: rgba(255, 255, 255, 0.98);
  --nav-text-color: #000000;
  --nav-link-underline-color: #000000;
  --mobile-menu-bg-color: #ffffff;
  --mobile-menu-text-color: #000000;
  --logo-filter: grayscale(100%); /* Black logo on light background */
  --icon-color: #000000; /* Hamburger, close button, etc. */
  --box-shadow-color: rgba(0, 0, 0, 0.1);
}

html[data-theme="dark"] {
  /* Dark Theme */
  --body-bg: #121212;
  --text-color-primary: #e0e0e0;
  --text-color-secondary: #bbbbbb;
  --link-color: #64b5f6; /* Lighter blue for links */
  --border-color: #444444;
  --card-bg: #1e1e1e;
  --heading-color: #ffffff;

  --nav-bg-color: rgba(30, 30, 30, 0.98);
  --nav-text-color: #e0e0e0;
  --nav-link-underline-color: #e0e0e0;
  --mobile-menu-bg-color: #1e1e1e;
  --mobile-menu-text-color: #e0e0e0;
  /* Attempt to make a black SVG logo white. Adjust brightness/contrast as needed.
     If you have a dedicated white logo, swap it with JS or use CSS content. */
  --logo-filter: grayscale(100%) invert(100%) brightness(1.8) contrast(1.5);
  --icon-color: #e0e0e0;
  --box-shadow-color: rgba(255, 255, 255, 0.08);
}

/* Apply general theme styles */
body {
  background-color: var(--body-bg);
  color: var(--text-color-primary);
  /* Ensure global transition for background and color for smooth theme changes */
  transition: background-color 0.3s ease, color 0.3s ease;
}

/* Smooth animations for the whole site (can be refined per element) */
* {
  /* Be careful with universal selector for transitions, might impact performance.
     Consider applying transitions more selectively. */
  transition-property: background-color, border-color, color, opacity, transform, box-shadow, filter;
  transition-duration: 0.3s;
  transition-timing-function: ease;
}

/* Add print styles */
@media print {
  .sticky-nav,
  .mobile-menu,
  .menu-toggle,
  .theme-toggle, /* Hide theme toggle in print */
  .image-viewer-modal,
  .cta-button {
    display: none !important;
  }

  body {
    font-size: 12pt;
    line-height: 1.4;
    /* Force light theme colors for printing */
    color: #000 !important;
    background: #fff !important;
  }

  #content {
    padding-top: 0;
  }

  .project-preview-grid {
    column-count: 2;
  }

  a {
    text-decoration: none;
    color: #000 !important; /* Ensure links are black for print */
  }

  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
    color: #000 !important; /* Ensure headings are black for print */
  }

  p, h2, h3 {
    orphans: 3;
    widows: 3;
  }

  img {
    max-width: 100% !important;
    filter: none !important; /* Remove any filters like logo inversion for print */
  }
}