/* ===========================
   BASE
=========================== */
body {
    margin: 0;
    font-family: 'Poppins', sans-serif;
    background: #0d2538;
    color: white;
}

/* ===========================
   TOPBAR
=========================== */
.topbar {
    background: #0b1f2c;
    color: white;
    padding: 6px 0;
    font-size: 14px;
}

.topbar a {
    color: white;
    text-decoration: none;
}

.topbar a:hover {
    text-decoration: underline;
}

.topbar .container {
    text-align: left;
    padding-left: 20px;
}

/* ===========================
   NAVBAR FULL-WIDTH
=========================== */
.navbar {
    background: #ff7f50;
    padding: 15px 0;        /* margine verticale */
    width: 100%;
}

/* CONTENITORE INTERNO CENTRATO */
.navbar-inner {
    max-width: 1400px;      /* stile GM Soft */
    margin: 0 auto;
    padding: 0 40px;        /* margini laterali */
    display: flex;
    justify-content: space-between;
    align-items: center;
}

/* LOGO */
.logo img {
    height: 55px;
    width: auto;
    display: block;
}

/* MENU A DESTRA */
.navbar-right {
    display: flex;
    align-items: center;
    gap: 45px;              /* distanza tra Home, Chi Sono, ... */
}

.navbar-right a {
    color: white;
    text-decoration: none;
    font-size: 17px;
    font-weight: 500;
    transition: 0.2s;
}

.navbar-right a:hover {
    opacity: 0.75;
}

/* ===========================
   HERO SECTION
=========================== */
.hero {
    padding: 120px 20px 100px;
    text-align: center;
    background: linear-gradient(135deg, #0d2538 0%, #113b51 40%, #155a76 100%);
}

.hero h1 {
    font-size: 46px;
    font-weight: 700;
    margin-bottom: 18px;
}

.hero p {
    font-size: 18px;
    max-width: 850px;
    margin: 0 auto 25px;
}

.btn {
    color: white;
    padding: 12px 26px;
    background: #ff7f50;
    border-radius: 6px;
    font-size: 17px;
    text-decoration: none;
}

/* ===========================
   WHY SECTION
=========================== */
.why {
    text-align: center;
    padding: 40px 20px 60px;
}

.why h2 {
    font-size: 32px;
    margin-bottom: 20px;
}

.why p {
    max-width: 900px;
    margin: 0 auto 30px;
}

/* ===========================
   PAGE CONTAINERS (Chi Sono)
=========================== */
.page-box {
    padding: 60px 0;
    display: flex;
    justify-content: center;
}

.page-container {
    background: linear-gradient(135deg, #0d2538 0%, #113b51 40%, #155a76 100%);
    border-radius: 20px;
    padding: 40px 60px;
    max-width: 900px;
    box-shadow: 0 4px 20px rgba(0,0,0,0.2);
}

/* FOTO PROFILO */
.profile-photo {
    width: 260px;
    height: 260px;
    border-radius: 50%;
    object-fit: cover;
    object-position: 50% 15%;
    display: block;
    margin: 25px auto 35px;
    border: 6px solid rgba(255,255,255,0.25);
    box-shadow: 0 8px 30px rgba(0,0,0,0.35);
}

/* ===========================
   SERVIZI
=========================== */
.services-page {
    max-width: 900px;
    margin: 80px auto;
    padding: 0 20px;
    text-align: center;
}

.services-page h1 {
    margin-bottom: 40px;
    font-size: 36px;
}

.service-card {
    background: linear-gradient(180deg, #063449 0%, #0d2538 100%);
    padding: 30px 40px;
    border-radius: 18px;
    margin-bottom: 30px;
    color: white;
    box-shadow: 0 6px 25px rgba(0,0,0,0.35);
    display: flex;
    gap: 25px;
    align-items: center;
    transition: 0.3s;
}

.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.45);
}

.service-card h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.service-card p {
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.9;
}

.service-icon {
    width: 60px;
    height: 60px;
    object-fit: contain;
    opacity: 0.9;
    flex-shrink: 0;
    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.25));
}

/* ===========================
   FAQ
=========================== */
.faq-page {
    max-width: 900px;
    margin: 80px auto;
    padding: 0 20px;
}

.faq-page h1 {
    text-align: center;
    margin-bottom: 40px;
    font-size: 36px;
}

.faq-card {
    background: linear-gradient(135deg, #0d2538 0%, #113b51 40%, #155a76 100%);
    border-radius: 18px;
    padding: 30px 40px;
    margin-bottom: 25px;
    color: white;
    box-shadow: 0 6px 25px rgba(0,0,0,0.35);
    transition: 0.3s;
}

.faq-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 10px 35px rgba(0,0,0,0.45);
}

.faq-card h3 {
    font-size: 22px;
    margin-bottom: 10px;
}

.faq-card p {
    font-size: 16px;
    line-height: 1.6;
    opacity: 0.95;
}

/* ===========================
   CONTATTI
=========================== */
.contacts-page {
    max-width: 900px;
    margin: 80px auto;
    padding: 0 20px;
    text-align: center;
}

.contact-card {
    background: linear-gradient(135deg, #0d2538 0%, #113b51 40%, #155a76 100%);
    padding: 40px 50px;
    border-radius: 20px;
    color: #ffffff;
    box-shadow: 0 6px 25px rgba(0,0,0,0.35);

    display: flex;
    gap: 30px;
    align-items: center;
    justify-content: center;

    max-width: 850px;     /* ⭐ larghezza identica alle altre sezioni */
    margin: 0 auto;       /* ⭐ CENTRA LA CARD PERFETTAMENTE */
    text-align: left;
}

.contact-icon {
    width: 70px;
    height: 70px;
    object-fit: contain;
}

.contact-text h3 {
    font-size: 24px;
    margin-bottom: 10px;
}

.contact-text p {
    font-size: 16px;
    opacity: 0.95;
}

.contact-btn {
    margin-top: 15px;
    display: inline-block;
    background: #ff7f50;
    padding: 12px 26px;
    border-radius: 6px;
    font-size: 17px;
}

/* ===========================
   FOOTER
=========================== */
.footer {
    background: #6f9dd8;
    color: white;
    text-align: center;
    padding: 15px 20px;
    font-size: 14px;
    margin-top: 60px;
}
