/* --- BASIC RESET --- */
* { margin: 0; padding: 0; box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { font-family: 'Inter', sans-serif; color: #333; line-height: 1.6; background: #fff; }



/* --- HEADERS --- */
header {display: flex; justify-content: space-between; align-items: center; padding: 15px 5%; background: #ebedf4; border-bottom: 1px solid #eee; position: sticky; top: 0; z-index: 1000;}

.logo { font-weight: 800; font-size: 1.5rem; color: #1f3354; text-decoration: none; }

.nav-container { display: flex; align-items: center; gap: 40px; }

.nav-links { display: flex; list-style: none; gap: 40px;}
.nav-links a { text-decoration: none; color: #1f3354; font-weight: 500; transition: 0.3s; padding: 10px;}
.nav-links a:hover { color: #fff; background-color:#1f3354}

.lang-switch { display: flex; gap: 20px;}
.lang-icon { width: 22px; cursor: pointer; border-radius: 2px; }
.lang-txt {color: #000000; text-decoration: none;}
.lang-txt:hover {color: #1456c0;}

/* Hamburger Menu for Mobile */
.hamburger { display: none; flex-direction: column; gap: 5px; cursor: pointer; border: none; background: none; }
.hamburger span { width: 25px; height: 3px; background: #333; }



/* --- FOOTER --- */
footer { background: #0e1c32; color: white; padding: 30px 10%; text-align: center; }
.footer-links { margin-top: 10px; font-size: 0.8rem; opacity: 0.8; }



/* --- SEZIONI --- */
section { padding: 60px 14%; }



/* --- INDEX ---*/
.hero { height: 65vh; display: flex; align-items: center; justify-content: center; color: white; text-align: center; background: linear-gradient(rgba(31, 51, 84, 0.6), rgba(31, 51, 84, 0.6)), url('./images/foto-nave.png') center/cover;}
.hero h1 { font-size: 3.5rem; }

#storia {display: flex; align-items: center; gap: 20px;}

#storia .text-content {flex: 1; font-size: 1.2rem;}

#storia .img-content {flex: 1;}

#storia .img-content img {max-width: 100%; height: auto;}

#storia a {padding: 10px 20px; background-color: #f9f9f9; color: #0e1c32; border: solid 1px #0e1c32; text-decoration: none; transition: 0.3s;}
#storia a:hover{color: #f9f9f9; background-color: #0e1c32;}

.clients-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 20px; margin-top: 20px; justify-items: center;}

.client-box {width: 100%; max-width: 300px;  height: 160px; padding: 20px; border: 1px solid #eee; background: #f9f9f9; display: flex; justify-content: center; align-items: center;}

.client-box img {max-width: 100%; max-height: 100%; object-fit: contain;}




/* --- LAVORA CON NOI --- */
.contact-page {max-width: 1200px; margin: 30px auto;}

.contact-form {display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 20px; max-width: 800px; margin: 0 auto;}

.contact-form textarea,
.contact-form label,
.contact-form button,
.contact-form input[type="file"] {grid-column: 1 / -1;}

.contact-form input, 
.contact-form textarea {width: 100%; padding: 12px; border: 1px solid #ccc; border-radius: 4px; box-sizing: border-box;}

.contact-form button {background-color: #3f5474; color: white; border: none; padding: 15px; cursor: pointer; font-weight: bold;}

.privacy-container {grid-column: 1 / -1;  display: flex; align-items: flex-start; gap: 10px; margin-top: 10px;}

.privacy-container input[type="checkbox"] { width: auto; margin-top: 4px; cursor: pointer;}

.privacy-container label {font-size: 0.9rem; line-height: 1.4; cursor: pointer;}



/* --- RESPONSIVE --- */
@media (max-width: 992px) {
    .hamburger { display: flex; }
    .nav-container {
        position: fixed; top: 0; right: -100%; width: 250px; height: 100vh;
        background: white; flex-direction: column; padding-top: 80px;
        box-shadow: -5px 0 15px rgba(0,0,0,0.1); transition: 0.4s;
    }
    .nav-container.active { right: 0; }
    #storia,
    .nav-links { flex-direction: column; align-items: center; }
}