@import "base/reset.css";
@import "base/variables.css";

@import "layouts/header.css";
@import "layouts/sections.css";
@import "layouts/footer.css";
@import "layouts/container.css";
@import "layouts/sidebar.css";
@import "layouts/about-section.css";
@import "layouts/timeline-section.css";
@import "layouts/formations-section.css";
@import "layouts/projects-sections.css";
@import "layouts/contact-section.css";
@import "layouts/mobile-menu.css";

@import "components/buttons.css";
@import "components/profile.css";

@import "animations/effects.css";

body {
  font-family: "Inter", "Segoe UI", system-ui, -apple-system, sans-serif;
  line-height: 1.6;
  color: var(--text-color);
  background-color: var(--background-dark);
  overflow-x: hidden;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Links melhorados com estados focados em acessibilidade */
a {
  text-decoration: none;
  color: var(--primary-color);
  transition: var(--transition-normal);
  position: relative;
}

a:hover {
  color: var(--primary-hover);
}

a:active {
  color: var(--primary-active);
}

/* Support para dark/light mode com preferência do sistema */
@media (prefers-color-scheme: light) {
  :root {
    --background-dark: #f5f5f5;
    --background-darker: #e8e8e8;
    --card-bg: #ffffff;
    --card-bg-hover: #f9f9f9;
    --text-color: #333333;
    --text-secondary: #666666;
    --text-tertiary: #999999;
    --border-light: rgba(0, 0, 0, 0.1);
  }

  .timeline::before {
    background: linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.05),
      var(--primary-color),
      rgba(0, 0, 0, 0.05)
    );
  }

  .project-image::after {
    background: linear-gradient(to bottom, transparent 70%, rgba(0, 0, 0, 0.2));
  }
}

/* Media Queries melhoradas para mais breakpoints */
@media (max-width: 1200px) {
  html {
    font-size: 95%;
  }

  .container {
    width: 95%;
  }
}

@media (max-width: 992px) {
  html {
    font-size: 90%;
  }

  .about-content,
  .contact-container {
    grid-template-columns: 1fr;
  }

  .sidebar {
    display: none;
  }

  .mobile-menu-btn {
    display: flex;
  }

  .mobile-menu {
    display: flex;
  }

  .hero h1 {
    font-size: var(--font-size-2xl);
  }

  .projects-grid {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
    gap: var(--space-lg);
  }

  .timeline::before {
    left: 30px;
  }

  .timeline-item {
    padding-left: 70px;
  }

  .timeline-dot {
    left: 30px;
  }

  .timeline-date {
    position: relative;
    width: 100%;
    left: 0;
    top: 0;
    text-align: left;
    padding-left: 70px;
    margin-bottom: 10px;
  }

  .section-title h2 {
    font-size: var(--font-size-xl);
  }
}

@media (max-width: 768px) {
  html {
    font-size: 85%;
  }

  .hero-buttons {
    flex-direction: column;
    width: 100%;
    max-width: 300px;
    gap: var(--space-md);
  }

  .hero-buttons .btn {
    width: 100%;
    justify-content: center;
  }

  .footer-container {
    grid-template-columns: 1fr;
    gap: var(--space-xl);
  }

  .section-title {
    margin-bottom: var(--space-xl);
  }

  .project-card {
    opacity: 1;
    transform: none;
  }

  .timeline-item {
    opacity: 1;
    transform: none;
  }

  .contact-form {
    padding: var(--space-lg);
  }
}

@media (max-width: 480px) {
  html {
    font-size: 80%;
  }

  .hero h1 {
    font-size: var(--font-size-xl);
  }

  .hero h2 {
    font-size: var(--font-size-md);
  }

  .projects-grid {
    grid-template-columns: 1fr;
  }

  .profile-image {
    width: 150px;
    height: 150px;
  }

  .section {
    padding: var(--space-xl) 0;
  }
}

/* Adicionando suporte para redução de movimento */
@media (prefers-reduced-motion: reduce) {
  * {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* Utilitários de acessibilidade */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border-width: 0;
}
