
body {font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
      margin: 0;
      padding: 0;
      background: #f8f9fa;
      color: #333;
      line-height: 1.6;}

header {display: flex;
      justify-content: space-between;
      align-items: center;
      padding: 10px 20px;
      background-color: #fff;
      box-shadow: 0 2px 4px rgba(0,0,0,0.1);}



  .expandable {
    cursor: pointer;
    font-weight: bold;
    margin-bottom: 8px;
  }
  .nested {
    display: none;
    margin-left: 20px;
  }



.brand {font-size: 20px;
      font-weight: bold;}

.login-area {display: flex;
      gap: 10px;
      align-items: center;}

.login-area button, .download-btn {padding: 6px 12px;
      background-color: #004e92;
      color: white;
      border: none;
      border-radius: 4px;
      cursor: pointer;
      font-weight: bold;}

.container {max-width: 1200px;
      margin: 20px auto;
      background: #fff;
      border-radius: 8px;
      box-shadow: 0 4px 20px rgba(0,0,0,0.08);
      overflow: hidden;}







.header-section {background: linear-gradient(135deg, #2c3e50 0%, #34495e 100%);
      color: white;
      padding: 40px;
      text-align: center;}

.role-list {display: flex;
      justify-content: center;
      gap: 20px;
      flex-wrap: wrap;
      margin-top: 25px;}

.role-item {background: rgba(255,255,255,0.15);
      padding: 8px 16px;
      border-radius: 4px;
      font-size: 0.95rem;
      border: 1px solid rgba(255,255,255,0.2);}

.content {padding: 40px;}

.section {margin-bottom: 40px;}

.contact-info {background: #f8f9fa;
      padding: 25px;
      border-radius: 6px;
      margin-bottom: 30px;
      border-left: 4px solid #34495e;}

.contact-grid {display: grid;
      grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
      gap: 12px;}

.contact-item {display: flex;
      align-items: center;}

.contact-label {font-weight: 600;
      color: #2c3e50;
      min-width: 140px;}

.contact-value {color: #555;}

.profile-text {font-size: 1.05rem;
      line-height: 1.7;
      color: #444;
      text-align: justify;
      margin-bottom: 15px;}

.experience-item {background: #fdfdfd;
      border: 1px solid #e9ecef;
      border-radius: 6px;
      padding: 25px;
      margin-bottom: 20px;
      position: relative;
      transition: all 0.3s ease;}

.experience-item:hover {box-shadow: 0 4px 15px rgba(0,0,0,0.08);
      border-color: #34495e;}

.experience-item::before {content: '';
      position: absolute;
      left: 0;
      top: 0;
      bottom: 0;
      width: 4px;
      background: #34495e;
      border-radius: 2px 0 0 2px;}

.experience-header {display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-bottom: 15px;
      flex-wrap: wrap;
      gap: 10px;}

.experience-period {background: #34495e;
      color: white;
      padding: 4px 12px;
      border-radius: 4px;
      font-size: 0.9rem;
      font-weight: 600;
      white-space: nowrap;}

.experience-company {font-size: 1.1rem;
      font-weight: 600;
      color: #2c3e50;
      font-style: italic;}

.experience-role {font-size: 1.2rem;
      color: #34495e;
      font-weight: 700;
      margin-bottom: 12px;}

.experience-description {color: #555;
      line-height: 1.6;}

.skills-section {background: #f8f9fa;
      padding: 20px;
      border-radius: 6px;
      border-left: 4px solid #34495e;}


.skills-grid {display: grid;
      grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
      gap: 25px;
      margin-top: 20px;}

.skill-category {background: white;
      border-radius: 6px;
      padding: 20px;
      border: 1px solid #e9ecef;}

.skill-list {list-style: none;
      padding: 0;
      margin: 0;}



















        .education-item {
            background: #fdfdfd;
            border: 1px solid #e9ecef;
            border-radius: 8px;
            padding: 25px;
            margin-bottom: 20px;
            border-left: 4px solid #27ae60;
            transition: transform 0.2s ease, box-shadow 0.2s ease;
        }

        .education-item:hover {
            transform: translateY(-2px);
            box-shadow: 0 4px 15px rgba(0, 0, 0, 0.1);
        }

        .education-year {
            color: #27ae60;
            font-weight: 700;
            font-size: 1.2rem;
            margin-bottom: 8px;
        }

        .education-title {
            color: #2c3e50;
            font-weight: 600;
            margin: 8px 0 12px 0;
            font-size: 1.1rem;
            line-height: 1.4;
        }

        .education-details {
            color: #555;
            font-size: 0.95rem;
            line-height: 1.6;
            margin-top: 10px;
        }

        .education-details br {
            margin-bottom: 8px;
        }

        .education-details ul {
            margin: 15px 0;
            padding-left: 20px;
        }

        .education-details li {
            margin-bottom: 8px;
            line-height: 1.5;
            color: #666;
        }

        .education-details li:last-child {
            margin-bottom: 0;
        }

        /* Migliore separazione delle sezioni di contenuto */
        .education-details > br + br {
            display: block;
            margin: 12px 0;
            content: "";
        }

        /* Stile per evidenziare meglio le informazioni importanti */
        .education-details strong {
            color: #2c3e50;
            font-weight: 600;
        }





































.projects-grid {display: grid;
      grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
      gap: 20px;
      margin-top: 20px;}

.project-item {background: #fdfdfd;
      border: 1px solid #e9ecef;
      border-radius: 6px;
      padding: 20px;
      border-left: 4px solid #e74c3c;}


.project-item2 {background: #fdfdfd;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-left: 2px solid #777777;
}


.project-item2:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}



.project-year {color: #e74c3c;
      font-weight: 600;
      font-size: 1rem;}

.project-title {color: #2c3e50;
      font-weight: 600;
      margin: 5px 0 10px 0;}

.project-description {color: #555;
      font-size: 0.95rem;
      line-height: 1.6;}

@media (max-width: 768px) {.header-section h1 {
        font-size: 2rem;}

.role-list {flex-direction: column;
        align-items: center;}

.content {padding: 20px;}

.experience-header {flex-direction: column;
        align-items: flex-start;}

.tooltip-popup {
  position: absolute;
  width: 200px;
  max-width: 80vw;
  border: 2px solid #aaa;
  background: #fff;
  box-shadow: 0 4px 12px rgba(0,0,0,0.15);
  z-index: 1000;
  padding: 4px;
  border-radius: 6px;
  pointer-events: none;
  opacity: 0;
  transition: opacity 0.2s ease-in-out;
}

.tooltip-underline {
  text-decoration: underline !important;
  color: #004e92 !important;
  cursor: pointer;
}




.lang-switch {
  padding: 4px 8px;
  background-color: #e0e0e0;
  color: #333;
  border-radius: 4px;
  text-decoration: none;
  font-size: 0.9rem;
  margin-right: 6px;
  font-weight: bold;
  transition: background-color 0.2s;
}

.lang-switch:hover {
  background-color: #d0d0d0;
}







.timeline {
  list-style: none;
  padding-left: 0;
  margin: 0;
}

.timeline li {
  padding: 6px 0;
  border-bottom: 1px solid #eee;
  line-height: 1.6;
}

.timeline .year {
  display: inline-block;
  min-width: 120px;
  font-weight: bold;
  color: #2c3e50;
}













/* Container principale per la griglia */
        .detailed-section {
            max-width: 1200px;
            margin: 0 auto;
        }

        .detailed-section h3 {
            text-align: center;
            color: #333;
            margin-bottom: 30px;
            font-size: 24px;
            text-transform: uppercase;
            letter-spacing: 1px;
        }
		
.grid-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(420px, 1fr)); /* 👈 aumenta a 420px */
  gap: 20px;
  margin-top: 20px;
  width: 100%;
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
}



        .it-box {
            background: white;
            border: 1px solid #ddd;
            border-radius: 10px;
            padding: 20px;
            box-shadow: 0 4px 6px rgba(0,0,0,0.1);
            transition: transform 0.2s ease, box-shadow 0.2s ease;
			min-width: 0; /* 👈 forza il contenuto a non espandersi troppo */
			word-wrap: break-word;
        }

        .it-box:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 12px rgba(0,0,0,0.15);
        }

        .it-box h4 {
            margin-top: 0;
            margin-bottom: 15px;
            color: #2c3e50;
            border-bottom: 3px solid #3498db;
            padding-bottom: 8px;
            font-size: 18px;
        }

        .skills-section ul {
            margin: 0;
            padding-left: 20px;
        }

        .skills-section li {
            margin-bottom: 10px;
            line-height: 1.5;
            color: #555;
        }

        .skills-section strong {
            color: #2c3e50;
            font-weight: 600;
        }



.skills-section {background: #fdfdfd;
    border: 1px solid #e9ecef;
    border-radius: 6px;
    padding: 20px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    border-left: 2px solid #777777;
}


.skills-section:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.15);
}




        /* Responsive design */
        @media (max-width: 768px) {
            .grid-container {
                grid-template-columns: 1fr;
                gap: 15px;
            }
            
            .it-box {
                padding: 15px;
            }
            
            .detailed-section h3 {
                font-size: 20px;
            }
            
            .it-box h4 {
                font-size: 16px;
            }
        }

        @media (max-width: 480px) {
            .body {
                margin: 10px;
            }
            
            .it-box {
                padding: 12px;
            }
            
            .skills-section li {
                font-size: 14px;
            }
        }




@media (min-width: 769px) {
  .grid-container {
    grid-template-columns: 1fr 1fr !important;
  }
  
  
  
  
  
              .it-box {
                padding: 15px;
            }
            
            .detailed-section h3 {
                font-size: 20px;
            }
            
            .it-box h4 {
                font-size: 16px;
  
    
  }
  
}

