/* Base styles */
:root {
    --primary-color: #161A3B;
    --secondary-color: #5D4D9A;
    --accent-color: #7209b7;
    --background-color: #f8f9fa;
    --text-color: #333;
    --text-light: #F4F1F8;
    --white: #fff;
    --black: #000;
    --border-radius: 8px;
    --box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
    --transition: all 0.3s ease;
    --dark-bg: #0D0D22;
    --light-text: #F4F1F8;
    --neutral-color: #C5BAD0;
    --accent-light: #6A5DB3;
    --accent-dark: #0C0E30;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
}

body {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol";
    line-height: 1.6;
    color: var(--light-text);
    background-color: var(--dark-bg);
}

.container {
    width: 90%;
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 20px;
}

h1, h2, h3, h4, h5, h6 {
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", Arial, sans-serif;
    margin-bottom: 0.5em;
    font-weight: 700;
    line-height: 1.2;
}

p {
    margin-bottom: 1rem;
}

a {
    text-decoration: none;
    color: var(--secondary-color);
    transition: var(--transition);
}

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

.section-title {
    position: relative;
    font-size: 2rem;
    margin-bottom: 2.5rem;
    text-align: center;
}

.section-title::after {
    content: '';
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translateX(-50%);
    width: 80px;
    height: 4px;
    background-color: var(--primary-color);
    border-radius: 2px;
}

section {
    padding: 80px 0;
}

section.section-alt {
    background-color: var(--background-color);
}

section, section.section-alt {
    color: var(--text-color);
}

section + section {
    border-top: 1px solid rgba(0,0,0,0.05);
}

.btn {
    display: inline-block;
    padding: 12px 24px;
    border-radius: var(--border-radius);
    font-weight: 600;
    text-align: center;
    cursor: pointer;
    transition: var(--transition);
    border: none;
    background-color: var(--secondary-color);
    color: var(--light-text);
}

.primary-btn {
    background-color: var(--secondary-color);
    color: var(--light-text);
}

.primary-btn:hover {
    background-color: var(--accent-light);
    color: var(--light-text);
}

.secondary-btn {
    background-color: transparent;
    color: var(--secondary-color);
    border: 2px solid var(--secondary-color);
}

.secondary-btn:hover {
    background-color: var(--secondary-color);
    color: var(--light-text);
}

/* Header */
header {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: var(--primary-color);
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.2);
    z-index: 100;
}

header .container {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 20px;
}

.logo {
    display: flex;
    align-items: center;
    height: 100%;
}

.logo a {
    display: flex;
    align-items: center;
}

.logo h1 {
    font-size: 2rem;
    font-weight: 700;
    color: var(--secondary-color);
    margin-bottom: 0;
}

.img-logo {
    filter: invert(100%);
    max-height: 45px;
}

nav {
    display: flex;
    align-items: center;
}

.nav-links {
    display: flex;
    list-style: none;
}

.nav-links li {
    margin-left: 2rem;
}

.nav-links a {
    color: var(--secondary-color);
    font-weight: 500;
}

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

.nav-links li a {
    color: var(--light-text);
    font-weight: 600;
    transition: var(--transition);
}

.nav-links li a:hover {
    color: var(--neutral-color);
}

.cta-btn {
    background-color: var(--secondary-color);
    color: var(--light-text) !important;
    border-radius: var(--border-radius);
    padding: 8px 16px;
}

.cta-btn:hover {
    background-color: var(--accent-light);
}

.hamburger {
    display: none;
    cursor: pointer;
}

.hamburger .line {
    width: 25px;
    height: 3px;
    background-color: var(--light-text);
    margin: 5px;
    border-radius: 3px;
}

/* Hero Section */
.hero {
    padding-top: 150px;
    padding-bottom: 80px;
    background-color: var(--accent-dark);
}

.hero .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.hero-content {
    flex: 1;
    padding-right: 20px;
}

.hero-content h1 {
    font-size: 3rem;
    margin-bottom: 1rem;
    line-height: 1.2;
    color: var(--light-text);
}

.hero-content h2 {
    font-size: 1.5rem;
    color: var(--light-text);
    margin-bottom: 1.5rem;
    font-weight: 500;
}

.hero-content h3 {
    font-size: 1.5rem;
    color: var(--light-text);
    margin-bottom: 1.5rem;
}

.hero p, .hero div {
    color: var(--light-text);
}

.highlight {
    color: var(--secondary-color) !important;
    font-weight: 700;
    text-shadow: 0 1px 3px rgba(0, 0, 0, 0.2);
}

.hero-cta {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

.hero-image {
    flex: 1;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.image-container {
    width: 300px;
    height: 300px;
    border-radius: 50%;
    overflow: hidden;
    box-shadow: var(--box-shadow);
    margin-bottom: 1.5rem;
}

.profile-image {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--text-light);
    color: var(--white);
}

.profile-image i {
    font-size: 5rem;
}

.social-icons {
    display: flex;
    gap: 1rem;
    margin-top: 1rem;
}

.social-icon {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--white);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.social-icon i {
    color: var(--primary-color);
    font-size: 1.25rem;
}

.social-icon:hover {
    background-color: var(--secondary-color);
    transform: translateY(-3px);
}

.social-icon:hover i {
    color: var(--white);
}

/* About Section */
.about {
    background-color: var(--white);
    color: var(--text-color);
}

.about-content {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.about-text {
    flex: 1;
    min-width: 300px;
}

.experience-card {
    flex: 1;
    min-width: 300px;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
    padding: 1.5rem;
    background-color: var(--background-color);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

.exp-item {
    flex: 1;
    min-width: 120px;
    text-align: center;
    padding: 1rem;
    border-radius: var(--border-radius);
    background-color: var(--white);
    transition: var(--transition);
}

.exp-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

.exp-item h3 {
    font-size: 2rem;
    color: var(--primary-color);
    margin-bottom: 0.5rem;
}

/* Skills Section */
.skills {
    background-color: var(--background-color);
    color: var(--text-color);
}

.skills-container {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
    justify-content: space-between;
}

.skill-category {
    flex: 1;
    min-width: 300px;
    background-color: var(--white);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
    padding: 1.5rem;
}

.skill-category h3 {
    text-align: center;
    margin-bottom: 1.5rem;
    color: var(--primary-color);
}

.skill-items {
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

.skill-item {
    display: flex;
    flex-direction: column;
    align-items: center;
    flex: 1;
    min-width: 80px;
    padding: 1rem;
    border-radius: var(--border-radius);
    background-color: var(--background-color);
    transition: var(--transition);
}

.skill-item:hover {
    transform: translateY(-5px);
    box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
}

.skill-item i {
    color: var(--secondary-color);
    font-size: 2rem;
    margin-bottom: 0.5rem;
}

.skill-item p {
    font-size: 0.9rem;
    text-align: center;
    margin-bottom: 0;
}

/* Projects Section */
.projects {
    background-color: var(--white);
    color: var(--text-color);
}

.projects-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: 2rem;
    margin-bottom: 2rem;
}

.project-card {
    border-radius: var(--border-radius);
    background-color: var(--background-color);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
}

.project-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.project-img {
    height: 200px;
    overflow: hidden;
}

.project-placeholder {
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #e6e9f0 0%, #d4d9e4 100%);
}

.project-info {
    padding: 1.5rem;
}

.project-info h3 {
    margin-bottom: 0.5rem;
    color: var(--text-color);
}

.project-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0;
}

.project-tags span {
    padding: 4px 10px;
    background-color: rgba(93, 77, 154, 0.1);
    color: var(--secondary-color);
    border-radius: 50px;
    font-size: 0.75rem;
}

.project-links {
    display: flex;
    gap: 1rem;
}

.project-link {
    color: var(--text-light);
    font-size: 0.9rem;
}

.project-link i {
    color: inherit;
    margin-right: 5px;
}

.project-link:hover {
    color: var(--accent-light);
}

.more-projects {
    text-align: center;
}

/* Contact Section */
.contact {
    background-color: var(--background-color);
    color: var(--text-color);
}

.contact-content {
    display: flex;
    flex-wrap: wrap;
    gap: 2rem;
}

.contact-info {
    flex: 1;
    min-width: 300px;
}

.contact-methods {
    margin: 2rem 0;
}

.contact-method {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
}

.contact-method i {
    color: var(--secondary-color);
    background-color: rgba(93, 77, 154, 0.1);
    width: 40px;
    height: 40px;
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
}

.contact-method p {
    margin-bottom: 0;
}

.social-links {
    display: flex;
    gap: 1rem;
    margin-top: 2rem;
}

.social-link {
    width: 40px;
    height: 40px;
    border-radius: 50%;
    background-color: var(--secondary-color);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: var(--transition);
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
}

.social-link i {
    color: var(--white);
    font-size: 1.25rem;
}

.social-link:hover {
    background-color: var(--accent-light);
    transform: translateY(-3px);
}

.contact-form {
    flex: 1;
    min-width: 300px;
    background-color: var(--white);
    padding: 2rem;
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

.form-group {
    margin-bottom: 1.5rem;
}

.form-group label {
    display: block;
    margin-bottom: 0.5rem;
    font-weight: 500;
}

.form-group input,
.form-group textarea {
    width: 100%;
    padding: 12px;
    border: 1px solid #ddd;
    border-radius: var(--border-radius);
    font-family: inherit;
    font-size: 1rem;
    transition: var(--transition);
}

.form-group input:focus,
.form-group textarea:focus {
    outline: none;
    border-color: var(--primary-color);
    box-shadow: 0 0 0 2px rgba(67, 97, 238, 0.2);
}

/* Footer ottimizzato e compatto */
footer {
    background-color: var(--primary-color);
    color: var(--light-text);
    padding: 1.25rem 0;
    margin-top: 0;
    border-top: none;
}

.footer-content {
    text-align: center;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 0.5rem;
}

.footer-content p {
    margin: 0;
    line-height: 1.4;
}

footer p {
    color: var(--light-text);
    opacity: 0.9;
}

.footer-tagline {
    font-size: 0.85rem;
    color: var(--neutral-color);
    font-style: italic;
    display: flex;
    align-items: center;
    justify-content: center;
}

.footer-tagline i {
    margin-left: 0.4rem;
    font-size: 0.95rem;
}

.footer-tagline .fa-robot {
    color: var(--secondary-color);
}

.footer-tagline .fa-heart {
    color: #ff6b6b;
    animation: heartbeat 1.5s infinite ease-in-out;
    margin-left: 0.3rem;
}

@keyframes heartbeat {
    0%, 100% { transform: scale(1); }
    50% { transform: scale(1.1); }
}

/* Rimuovi ogni riferimento a footer-links */
.footer-links {
    display: none;
}

/* Formazione & Speech Section */
.speaking {
    background-color: var(--white);
}

.speaking-intro {
    max-width: 800px;
    margin: 0 auto 3rem;
    text-align: center;
}

/* Grid layout flessibile per diverse strutture */
.speaking-grid {
    display: flex;
    flex-direction: column;
    gap: 2rem;
    margin-bottom: 3rem;
}

.speaking-card {
    display: flex;
    background-color: var(--background-color);
    border-radius: var(--border-radius);
    overflow: hidden;
    box-shadow: var(--box-shadow);
    transition: var(--transition);
}

.speaking-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 15px 30px rgba(0, 0, 0, 0.1);
}

.speaking-date {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: 1.5rem;
    background-color: var(--primary-color);
    color: var(--white);
    min-width: 100px;
    text-align: center;
}

.month {
    font-size: 1.5rem;
    font-weight: 700;
    line-height: 1;
}

.year {
    font-size: 1.2rem;
    opacity: 0.8;
}

.speaking-content {
    padding: 1.5rem;
    flex: 1;
}

.speaking-content h3 {
    margin-bottom: 0.5rem;
    color: var(--text-color);
}

.speaking-event {
    display: flex;
    align-items: center;
    margin-bottom: 1rem;
    color: var(--text-light);
}

.speaking-event i {
    margin-right: 0.5rem;
    color: var(--primary-color);
}

.speaking-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin: 1rem 0;
}

.speaking-tags span {
    padding: 4px 10px;
    background-color: rgba(93, 77, 154, 0.1);
    color: var(--secondary-color);
    border-radius: 50px;
    font-size: 0.75rem;
}

.speaking-link {
    display: inline-flex;
    align-items: center;
    color: var(--primary-color);
    font-weight: 500;
}

.speaking-link i {
    margin-right: 0.5rem;
}

.testimonials {
    margin-bottom: 3rem;
}

.sub-title {
    text-align: center;
    margin-bottom: 2rem;
    font-size: 1.5rem;
    color: var(--text-color);
}

.testimonials-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
    gap: 2rem;
}

.testimonial-card {
    background-color: var(--background-color);
    border-radius: var(--border-radius);
    padding: 1.5rem;
    box-shadow: var(--box-shadow);
}

.testimonial-content {
    margin-bottom: 1.5rem;
    position: relative;
}

.testimonial-content i {
    color: var(--primary-color);
    font-size: 1.5rem;
    opacity: 0.3;
    position: absolute;
    top: -10px;
    left: -5px;
}

.testimonial-content p {
    position: relative;
    z-index: 1;
    padding-left: 1.5rem;
}

.testimonial-author {
    display: flex;
    align-items: center;
}

.author-img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    background-color: var(--text-light);
    display: flex;
    align-items: center;
    justify-content: center;
    color: var(--white);
    margin-right: 1rem;
}

.author-info h4 {
    margin-bottom: 0;
    font-size: 1rem;
}

.author-info p {
    margin-bottom: 0;
    font-size: 0.9rem;
    color: var(--text-light);
}

.speaking-cta {
    text-align: center;
    padding: 2rem;
    background-color: var(--background-color);
    border-radius: var(--border-radius);
    box-shadow: var(--box-shadow);
}

.speaking-cta h3 {
    margin-bottom: 1.5rem;
}

/* Responsive adjustments for speaking section */
@media (max-width: 768px) {
    .speaking-card {
        flex-direction: column;
    }
    
    .speaking-date {
        flex-direction: row;
        min-width: 100%;
        padding: 1rem;
    }
    
    .month {
        margin-right: 0.5rem;
    }
    
    .testimonials-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 576px) {
    .speaking-grid {
        gap: 1.5rem;
    }
    
    .speaking-card {
        flex-direction: column;
    }
}

/* Responsive */
@media (max-width: 992px) {
    .hero-content {
        padding-right: 0;
    }
    
    .hero-content h1 {
        font-size: 2.5rem;
    }
}

@media (max-width: 768px) {
    .hamburger {
        display: block;
        z-index: 1000;
    }
    
    .nav-links {
        position: fixed;
        top: 0;
        right: -100%;
        width: 70%;
        height: 100vh;
        background-color: var(--primary-color);
        flex-direction: column;
        align-items: center;
        justify-content: center;
        transition: var(--transition);
        box-shadow: -5px 0 15px rgba(0, 0, 0, 0.3);
        padding: 80px 0;
    }
    
    .nav-links.active {
        right: 0;
    }
    
    .nav-links li {
        margin: 1.5rem 0;
    }
    
    .nav-links li a {
        color: var(--light-text);
        font-size: 1.2rem;
        font-weight: 600;
        display: block;
        padding: 15px 20px;
        width: 100%;
        text-align: center;
    }
    
    .nav-links li a:hover {
        background-color: rgba(255, 255, 255, 0.1);
    }
    
    .nav-links li:last-child {
        margin-top: 20px;
    }
    
    .hero .container {
        flex-direction: column;
    }
    
    .hero-content {
        text-align: center;
        margin-bottom: 3rem;
    }
    
    .hero-cta {
        justify-content: center;
    }
    
    .about-content,
    .contact-content {
        flex-direction: column;
    }
    
    .footer-content {
        flex-direction: column;
        gap: 1rem;
    }
    
    section {
        padding: 60px 0;
    }
    
    h1, h2, h3 {
        word-wrap: break-word;
    }
    
    .btn {
        width: 100%;
        text-align: center;
        margin-bottom: 10px;
    }
    
    .projects-grid, .skills-container, .about-content {
        gap: 1.5rem;
    }
    
    .container {
        width: 95%;
        padding: 0 10px;
    }
}

@media (max-width: 576px) {
    .section-title {
        font-size: 1.75rem;
    }
    
    .hero-content h1 {
        font-size: 2rem;
    }
    
    .hero-content h2 {
        font-size: 1.25rem;
    }
    
    .image-container {
        width: 200px;
        height: 200px;
    }
    
    .hero-cta {
        flex-direction: column;
        gap: 1rem;
    }
    
    .hero-cta .btn {
        width: 100%;
    }
    
    .exp-item {
        min-width: 100%;
    }
    
    .profile-image img {
        max-width: 200px;
    }
}

/* Layout normale per desktop */
.hero .container {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

/* Inversione dell'ordine su mobile */
@media screen and (max-width: 768px) {
    .hero .container {
        flex-direction: column;
    }
    
    .hero-image {
        order: -1; /* Questo fa apparire l'immagine prima del contenuto testuale */
        margin-bottom: 2rem; /* Spazio tra l'immagine e il testo che segue */
        width: 100%;
    }
    
    .profile-image {
        margin: 0 auto; /* Centra l'immagine */
        max-width: 200px; /* Riduce leggermente la dimensione su mobile */
    }
} 

.profile-image img {
  width: 100%;
  max-width: 300px; /* puoi regolare questa dimensione in base alle tue esigenze */
  height: auto;
  border-radius: 10px; /* opzionale: per arrotondare i bordi */
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1); /* opzionale: per aggiungere un'ombra leggera */
}

/* Correzioni per i titoli nelle sezioni chiare */
.about h1, .about h2, .about h3, .about h4, .about h5, .about h6,
.skills h1, .skills h2, .skills h3, .skills h4, .skills h5, .skills h6,
.projects h1, .projects h2, .projects h3, .projects h4, .projects h5, .projects h6,
.contact h1, .contact h2, .contact h3, .contact h4, .contact h5, .contact h6 {
  color: var(--text-color);
}

/* Correzioni per i paragrafi nelle sezioni chiare */
.about p, .skills p, .projects p, .contact p {
  color: var(--text-color);
}

/* Correzioni per le section-title nelle sezioni chiare */
.about .section-title, .skills .section-title, 
.projects .section-title, .contact .section-title {
  color: var(--text-color);
}

/* Per i link nelle sezioni chiare, assicuriamoci che siano visibili */
.about a, .skills a, .projects a, .contact a {
  color: var(--secondary-color);
}

.about a:hover, .skills a:hover, .projects a:hover, .contact a:hover {
  color: var(--accent-light);
}

/* Correzioni per i testi nelle sezioni chiare */
.about, .skills, .projects, .contact, .speaking {
  background-color: var(--white);
  color: var(--text-color);
}

/* Correzioni per i link nelle sezioni scure */
header a, footer a, .hero a:not(.btn), .social-icon {
  color: var(--light-text);
}

header a:hover, footer a:hover, .hero a:not(.btn):hover, .social-icon:hover {
  color: var(--neutral-color);
}

/* Correzione colori bottoni e CTA */
.primary-btn {
  background-color: var(--secondary-color);
  color: var(--light-text);
}

.primary-btn:hover {
  background-color: var(--accent-light);
  color: var(--light-text);
}

.secondary-btn {
  background-color: transparent;
  color: var(--secondary-color);
  border: 2px solid var(--secondary-color);
}

.secondary-btn:hover {
  background-color: var(--secondary-color);
  color: var(--light-text);
}

/* Correzione per i progetti e le carte */
.project-card, .speaking-card, .contact-form, .experience-card {
  background-color: var(--background-color);
  box-shadow: 0 4px 10px rgba(0,0,0,0.1);
}

.project-info h3, .speaking-content h3 {
  color: var(--text-color);
}

.project-links a, .speaking-content a:not(.btn) {
  color: var(--secondary-color);
}

.project-links a:hover, .speaking-content a:not(.btn):hover {
  color: var(--accent-light);
}

/* Miglioramenti per la visualizzazione mobile */
@media (max-width: 768px) {
  /* Correzioni per la navigazione mobile */
  .nav-links {
    background-color: var(--primary-color);
  }
  
  .nav-links li a {
    color: var(--light-text);
    font-size: 1.2rem;
    font-weight: 600;
    display: block;
    padding: 15px 20px;
    width: 100%;
    text-align: center;
  }
  
  .nav-links li a:hover {
    background-color: rgba(255, 255, 255, 0.1);
  }
  
  .nav-links li:last-child {
    margin-top: 20px;
  }
  
  /* Migliore spaziatura per le sezioni */
  section {
    padding: 60px 0;
  }
  
  /* Miglioramenti per il testo mobile */
  h1, h2, h3 {
    word-wrap: break-word;
  }
  
  /* Adattamento dei bottoni per mobile */
  .btn {
    width: 100%;
    text-align: center;
    margin-bottom: 10px;
  }
  
  /* Migliore spaziatura per le griglie */
  .projects-grid, .skills-container, .about-content {
    gap: 1.5rem;
  }
  
  /* Contenitori più larghi su mobile */
  .container {
    width: 95%;
    padding: 0 10px;
  }
}

/* Footer sempre scuro */
footer {
  background-color: var(--primary-color);
  color: var(--light-text);
}

footer a {
  color: var(--light-text);
}

footer a:hover {
  color: var(--neutral-color);
}

/* Correzione per i tag nei progetti */
.project-tags span, .speaking-tags span {
  background-color: rgba(93, 77, 154, 0.1);
  color: var(--secondary-color);
}

/* Gestione ottimizzata delle immagini profilo su mobile */
@media (max-width: 576px) {
  .image-container {
    width: 200px;
    height: 200px;
  }
  
  .profile-image img {
    max-width: 200px;
  }
}

/* Miglioramento generale per il nome h1 nella sezione hero */
.hero-content h1 {
  font-size: 3rem;
  line-height: 1.2;
  margin-bottom: 1rem;
  color: var(--light-text);
}

/* Ulteriore miglioramento per dispositivi molto piccoli */
@media (max-width: 400px) {
  .hero-content h1 {
    font-size: 2.2rem;
  }
  
  .highlight {
    display: inline-block;
    /* In alternativa si può usare un display: block per andare a capo */
  }
}

/* Applicazione coerente del system font stack per elementi di interfaccia come pulsanti e input */
button, input, select, textarea {
  font-family: inherit;
}

/* Opzionalmente si può applicare un font monospaziato per il codice */
code, pre {
  font-family: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;
}

/* Correzione del contrasto per le icone nei bottoni */

/* Assicuriamo che tutte le icone nei bottoni primari siano bianche */
.btn.primary-btn i,
.primary-btn i,
button.primary-btn i,
.cta-btn i {
  color: var(--light-text);
}

/* Icone nei bottoni secondari dello stesso colore del testo */
.btn.secondary-btn i,
.secondary-btn i {
  color: var(--secondary-color);
}

/* Quando il bottone secondario è in hover, l'icona diventa bianca */
.btn.secondary-btn:hover i,
.secondary-btn:hover i {
  color: var(--light-text);
}

/* Correzioni per le icone nei social links */
.social-icon {
  background-color: var(--white);
  color: var(--primary-color);
}

.social-icon:hover {
  background-color: var(--secondary-color);
  color: var(--light-text);
}

/* Correzioni per le icone nei project-links */
.project-link i {
  color: inherit;
  margin-right: 5px;
}

/* Correzioni per le icone nelle skill-item */
.skill-item i {
  color: var(--secondary-color);
  font-size: 2rem;
  margin-bottom: 0.5rem;
}

/* Correzioni per le icone nei contact-method */
.contact-method i {
  color: var(--secondary-color);
  background-color: rgba(93, 77, 154, 0.1);
}

/* Regola generale per migliorare il contrasto delle icone */
.btn i, button i {
  margin-right: 0.5rem;
}

.footer-tagline {
  font-size: 0.9rem;
  color: var(--neutral-color);
  margin-top: 0.5rem;
  font-style: italic;
}

.footer-tagline i {
  color: var(--secondary-color);
  margin-left: 0.3rem;
  font-size: 1rem;
}

.footer-tagline .fa-heart {
  color: #ff6b6b;
  animation: heartbeat 1.5s infinite ease-in-out;
}

@keyframes heartbeat {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.1); }
}

.footer-content {
  text-align: center;
  padding: 1.5rem 0;
}