/* ==========================================================================
   JSON CV
   ========================================================================== */

/* CV Template Styles */
.cv-container {
  max-width: 1000px;
  margin: 0 auto;
  font-family: 'Roboto', 'Helvetica Neue', Helvetica, Arial, sans-serif;
  color: var(--global-text-color);
  line-height: 1.6;
}

/* Header Styles */
.cv-header {
  margin-bottom: 2rem;
  border-bottom: 2px solid var(--global-thead-color );
  padding-bottom: 1rem;
}

.cv-header h1 {
  margin-bottom: 0.5rem;
  color: var(--global-text-color );
}

.cv-contact-info {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-bottom: 0.5rem;
}

.cv-contact-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cv-profiles {
  display: flex;
  gap: 1rem;
  margin-top: 0.5rem;
}

.cv-profile-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.cv-profile-item a {
  color: var(--global-link-color);
  text-decoration: none;
}

.cv-profile-item a:hover {
  text-decoration: underline;
}

/* Section Styles */
.cv-section {
  margin-bottom: 2rem;
}

.cv-section h2 {
  border-bottom: 1px solid var(--global-border-color);
  padding-bottom: 0.5rem;
  margin-bottom: 1rem;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--global-text-color);
}

.cv-section h2 i {
  color: var(--global-text-color);
}

/* Item Styles */

.cv-item {
  margin-bottom: 1.5rem;
}

.cv-list {
  list-style-type: none;
}

.cv-item-header {
  display: flex;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

.cv-item-title {
  font-weight: bold;
  font-size: 1.1rem;
}

.cv-item-date {
  color: var(--global-text-color);
}

.cv-item-subtitle {
  color: var(--global-text-color);
  margin-bottom: 0.5rem;
}

.cv-item-summary {
  margin-bottom: 0.5rem;
}

.cv-item-highlights {
  margin-top: 0.5rem;
  padding-left: 1.5rem;
}

.cv-item-highlights li {
  margin-bottom: 0.25rem;
}

.cv-item-courses li {
  margin-bottom: 0.25rem;
}

/* Skills Styles */
.cv-skills {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.cv-skill-category h3 {
  margin-bottom: 0.5rem;
  color: var(--global-text-color);
}

.cv-skill-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cv-skill-keyword {
  background-color: var(--global-bg-color);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* Project Styles */
.cv-project-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  margin-top: 0.5rem;
}

.cv-project-keyword {
  background-color: var(--global-bg-color);
  color: var(--global-thead-color);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* Languages Styles */
.cv-languages {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
}

.cv-language {
  display: flex;
  flex-direction: column;
}

.cv-language-name {
  font-weight: bold;
}

.cv-language-fluency {
  color: var(--global-text-color);
  font-size: 0.9rem;
}

/* Interests Styles */
.cv-interests {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
  gap: 1.5rem;
}

.cv-interest h3 {
  margin-bottom: 0.5rem;
  color: var(--global-text-color);
}

.cv-interest-keywords {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
}

.cv-interest-keyword {
  background-color: var(--global-bg-color);
  padding: 0.25rem 0.5rem;
  border-radius: 4px;
  font-size: 0.9rem;
}

/* References Styles */
.cv-references {
  font-style: italic;
  color: var(--global-text-color);
}

/* Print Styles */
@media print {
  .cv-container {
    max-width: 100%;
  }
  
  .cv-header {
    border-bottom-color: var(--global-border-color);
  }
  
  .cv-section h2 {
    border-bottom-color: var(--global-border-color);
  }
  
  .cv-skill-keyword,
  .cv-project-keyword,
  .cv-interest-keyword {
    border: 1px solid var(--global-border-color);
    background-color: transparent;
  }
}
