/* ==========================================================
   RESET / NORMALIZE
   ========================================================== */
html { line-height: 1.15; -webkit-text-size-adjust: 100%; }
body { margin: 0; }
*, *::before, *::after { box-sizing: border-box; }
img, picture { max-width: 100%; display: block; }

/* ==========================================================
   FONT
   ========================================================== */
@font-face {
    font-family: 'GeoSansLight';
    src: url('fonts/GeoSansLight.woff2') format('woff2'),
         url('fonts/GeoSansLight.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}

/* ==========================================================
   VARIABLES
   ========================================================== */
:root {
    --primary: rgb(129, 31, 31);
    --menu-gray: #555;
    --gray: #666;
    --white: #fff;
}

/* ==========================================================
   GLOBAL
   ========================================================== */
body {
    font-family: 'GeoSansLight', sans-serif;
    background: white;
    color: #222;
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

.section-title {
    font-size: 42px;
    color: var(--primary);
    text-align: center;
    margin-bottom: 12px;
}
.section-underline {
    width: 120px;
    height: 6px;
    background: var(--primary);
    margin: 0 auto 60px;
    border-radius: 10px;
}

/* ==========================================================
   TOP BAR (desktop only)
   ========================================================== */
.top-bar {
    width: 100%;
    background: var(--primary);
    color: white;
    padding: 8px 0;
    font-size: 14px;
    position: fixed;
    top: 0;
    z-index: 1000;
}
.top-content {
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 40px;
    justify-content: center;
}
.top-item { display: flex; align-items: center; gap: 6px; }

.social-icons a,
.top-item i {
    color: white !important;
    transition: .3s;
    font-size: 18px;
    margin-left: 14px;
}

.social-icons a[aria-label="Facebook"]:hover { color: #1877F2 !important; }

.social-icons a[aria-label="Instagram"]:hover {
    background-image: linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4);
    -webkit-background-clip: text;
    color: transparent !important;
}

.social-icons a[aria-label="WhatsApp"]:hover { color: #25D366 !important; }

@media (max-width: 900px){
    .top-bar { display: none; }
}

/* ==========================================================
   NAVBAR
   ========================================================== */
.header {
    width: 100%;
    background: white;
    padding: 15px 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    position: fixed;
    top: 32px;
    z-index: 900;
}
.navbar-shadow {
    box-shadow: 0 2px 3px -1px var(--primary);
}
.logo img {
    height: 60px;
    margin-right: 80px;
}
.nav {
    display: flex;
    gap: 30px;
    align-items: center;
}
.nav a {
    text-decoration: none;
    color: var(--menu-gray);
    font-size: 17px;
    transition: .3s;
    font-weight: 500; /* semi-bold elegante */
}
.nav a:hover { color: var(--primary); }
.nav a[href="#home"] { color: var(--primary); font-weight: 600; }

.language-selector {
    padding: 6px 12px;
    border: 1px solid var(--primary);
    background: white;
    border-radius: 4px;
    color: var(--primary);
}


/* Hamburger */
.hamburger {
    display: none;
    position: absolute;
    right: 40px;
    top: 20px;
    cursor: pointer;
    flex-direction: column;
    gap: 6px;
}
.hamburger span {
    width: 30px; height: 3px;
    background: var(--primary);
    transition: .3s;
}

.hamburger.active span:nth-child(1) { transform: translateY(9px) rotate(45deg); }
.hamburger.active span:nth-child(2) { opacity: 0; }
.hamburger.active span:nth-child(3) { transform: translateY(-9px) rotate(-45deg); }

@media (max-width: 900px){
    .header { top: 0; }
    .hamburger { display: flex; }

    .nav {
        position: absolute;
        top: 72px;
        left: 0;
        width: 100%;
        background: white;
        flex-direction: column;
        opacity: 0;
        transform: translateY(-15px);
        pointer-events: none;
        transition: .35s;
        padding: 20px 0;
    }
    .nav.open {
        opacity: 1;
        transform: translateY(0);
        pointer-events: auto;
    }
}

/* ==========================================================
   HERO FULL SCREEN
   ========================================================== */
.hero-full {
    position: relative;
    width: 100%;
    height: 92vh;
    min-height: 600px;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    overflow: hidden;
}
.hero-bg {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    transition: opacity .7s ease, transform .7s ease-out;
}
.hero-bg.fade { opacity: 0; }
.hero-bg.bg-sardinia { background-position: center top; }

.hero-overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,.25),
        rgba(0,0,0,.45),
        rgba(0,0,0,.65)
    );
}

@keyframes fadeZoom {
    0% { opacity: 0; transform: scale(.96); }
    100% { opacity: 1; transform: scale(1); }
}
.hero-content {
    position: relative;
    z-index: 2;
    width: 90%;
    max-width: 900px;
    color: white;
}
.hero-title {
    font-size: 48px;
    margin-bottom: 38px;
    animation: fadeZoom .9s ease-out;
}
.hero-content p {
    font-size: 22px;
    opacity: .9;
    margin-bottom: 32px;
}
.hero-cta {
    padding: 14px 28px;
    background: #25D366;
    border-radius: 50px;
    color: white;
    font-size: 20px;
    display: inline-flex;
    gap: 12px;
    text-decoration: none;
    transition: .3s;
    box-shadow: 0 6px 18px rgba(0,0,0,0.25);
}
.hero-cta:hover {
    background: #1da851;
    transform: translateY(-4px);
}

@media (max-width: 768px){
    .hero-title { font-size: 34px; margin-bottom: 26px; }
    .hero-content p { font-size: 18px; }
}

/* ==========================================================
   SERVIZI
   ========================================================== */
.services-section{
    padding:120px 40px;
    text-align:center;
    background: #fff;
    box-shadow: 0 18px 40px rgba(0,0,0,0.08);
}
.services-title{
    font-size:42px;
    color:var(--primary);
}
.services-underline{
    width:120px;
    height:6px;
    background:var(--primary);
    margin:0 auto 60px;
    border-radius:10px;
}
.services-container{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:40px;
    max-width:1400px;
    margin:0 auto;
}
@media(max-width:1200px){
    .services-container{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:700px){
    .services-container{grid-template-columns:1fr;}
}
.service-card{
    background:#f7f7fb;
    border-radius:18px;
    overflow:hidden;
    padding-bottom:35px;
    box-shadow:0 6px 16px rgba(0,0,0,0.14);
    text-align:center;
    position:relative;
    transition:.3s;
}
.service-card:hover{
    transform:translateY(-12px);
    box-shadow:0 12px 28px rgba(0,0,0,0.20);
}
.service-img img{
    width:100%; height:190px;
    object-fit:cover;
    transition:.45s;
}
.service-card:hover .service-img img{ transform:scale(1.06); }
.service-diagonal{
    width:120%; height:80px;
    background:white;
    position:absolute;
    top:155px; left:-10%;
    transform:rotate(-5deg);
}
.service-icon{
    width:110px; height:110px;
    background:white;
    border-radius:50%;
    border:4px solid var(--primary);
    display:flex; justify-content:center; align-items:center;
    position:absolute;
    top:135px; left:50%;
    transform:translateX(-50%);
    z-index:2;
}
.service-icon i{font-size:42px; color:var(--primary);}
@keyframes heartbeat-light{
    0%{transform:scale(1);}
    30%{transform:scale(1.1);}
    60%{transform:scale(1);}
    80%{transform:scale(1.06);}
    100%{transform:scale(1);}
}
.service-card:hover .service-icon i{
    animation:heartbeat-light .9s ease-out forwards;
}
.service-card h3{
    margin-top:80px;
    font-size:26px;
    color:var(--primary);
}
.service-card h4{
    font-size:16px;
    color:var(--menu-gray);
}
.service-card p{
    padding:0 20px;
    font-size:15px;
    color:var(--gray);
}

/* Reveal su scroll */
.reveal{
    opacity:0;
    transform:translateY(35px);
    transition:.8s;
}
.reveal.visible{
    opacity:1;
    transform:translateY(0);
}
/* ==========================================================
   FLOTTA
========================================================== */

.flotta-section {
    padding: 120px 40px;
    background: #fff;
}

.flotta-container {
    max-width: 1300px;
    margin: 0 auto 80px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}

@media (max-width: 900px) {
    .flotta-container {
        grid-template-columns: 1fr;
    }
}

.flotta-card {
    display: flex;
    flex-direction: column;
    background: #f7f7fb;
    border-radius: 18px;
    overflow: hidden;
    box-shadow: 0 6px 18px rgba(0,0,0,0.14);
}

.flotta-photo img {
    width: 100%;
    height: 260px;
    object-fit: cover;
}

.flotta-info {
    padding: 30px 28px 35px;
}

.flotta-info h3 {
    font-size: 24px;
    color: var(--primary);
    margin-bottom: 18px;
}

.flotta-info ul {
    padding-left: 18px;
    margin-bottom: 18px;
}

.flotta-info ul li {
    font-size: 16px;
    color: var(--gray);
    margin-bottom: 8px;
}

.flotta-desc {
    font-size: 16px;
    color: var(--gray);
    line-height: 1.6;
}

/* PARTNERSHIP */
.flotta-partners {
    max-width: 900px;
    margin: 0 auto;
    text-align: center;
}

.flotta-partners h3 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 18px;
}

.flotta-partners p {
    font-size: 17px;
    color: var(--gray);
    line-height: 1.6;
    margin-bottom: 16px;
}

/* ==========================================================
   CHI SIAMO — LAYOUT 2/3 TESTO + 1/3 CARD
   ========================================================== */
.chi-siamo-section {
    padding: 120px 40px;
}

.chi-siamo-container {
    max-width: 1300px;
    margin: auto;
    display: grid;
    grid-template-columns: 2fr 1fr;
    gap: 60px;
    align-items: start;
}

.chi-siamo-text p {
    font-size: 19px;
    line-height: 1.7;
    color: var(--gray);
    margin-bottom: 22px;
}

/* ==========================================================
   TEAM CARD — FOTO TONDA, LARGHEZZA FISSA
   ========================================================== */

.team-card {
    background: white;
    border-radius: 18px;
    padding: 30px 20px;
    width: 360px;
    max-width: 360px;
    min-width: 360px;
    margin: 0 auto;
    text-align: center;
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
    position: relative;

    opacity: 0;
    transform: translateY(20px);
    transition: opacity .7s ease, transform .7s ease;
}

.team-card.visible {
    opacity: 1;
    transform: translateY(0);
}

/* FOTO TONDA */
.team-photo {
    width: 140px;
    height: 140px;
    margin: 0 auto;
    border-radius: 50%;
    overflow: hidden;
    border: 3px solid var(--primary);
}

.team-photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: top center;
}

/* ICONA RUOLO */
.team-icon {
    margin-top: 15px;
    margin-bottom: 10px;
}

.team-icon i {
    font-size: 28px;
    color: var(--primary);
}

/* TESTI CARD */
.team-card h3 {
    font-size: 22px;
    color: var(--primary);
    margin-top: 5px;
}

.team-card h4 {
    font-size: 15px;
    color: var(--gray);
    margin-top: 2px;
}

.team-role {
    font-size: 0.95rem;
    color: #777;
    margin-bottom: 12px;
    font-weight: 500;
}
/* ROUTE LIST – TRANSFER PAGE */
.route-list {
    list-style: none;
    padding: 0;
    margin: 25px 0 0;
}

.route-list li {
    margin-bottom: 14px;
}

.route-list li a {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    position: relative;
    padding-left: 18px;
    transition: color 0.3s ease;
}

/* piccolo accento visivo shardriver */
.route-list li a::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--primary);
    font-weight: 600;
}

/* hover elegante */
.route-list li a:hover {
    color: #000;
}


/* ==========================================================
   CAROUSEL A CARD SINGOLA — VERSIONE SEMPLICE
   ========================================================== */

.chi-siamo-carousel {
    position: relative;
    width: 100%;
    display: flex;
    justify-content: center;
}

/* di base nascoste */
.carousel-item {
    display: none;
    opacity: 0;
    transition: opacity .4s ease;
}

/* solo la card attiva è visibile */
.carousel-item.active {
    display: block;
    opacity: 1;
}

/* Bottoni overlay */
/* ===============================
   FRECCE CAROUSEL TEAM (MINIMAL)
=============================== */

.carousel-btn {
    background: transparent;   /* niente ovale */
    border: none;
    box-shadow: none;

    color: var(--primary);     /* rosso Shardriver */
    font-size: 28px;           /* dimensione freccia */
    cursor: pointer;

    display: flex;
    align-items: center;
    justify-content: center;

    transition: color 0.3s ease, transform 0.3s ease;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
}

.carousel-btn:hover {
    color: #8f0015;            /* rosso più scuro in hover */
    transform: translateY(-50%) scale(1.1);
}
/* FRECCIA SINISTRA */
.carousel-btn.prev-btn {
    left: -10px;
}

/* FRECCIA DESTRA */
.carousel-btn.next-btn {
    right: -10px;
}

/* FIX CARD MOBILE */
@media (max-width: 768px) {

    .chi-siamo-container {
        grid-template-columns: 1fr;
        gap: 40px;
    }

    .chi-siamo-carousel {
        width: 100%;
        overflow: hidden;
    }

    .team-card {
        width: 100%;
        max-width: 320px;
        min-width: auto;
            z-index: 1;
    }

    .carousel-btn.prev-btn {
        left: 25;
    }

    .carousel-btn.next-btn {
        right: 25;
    }
}

.carousel-btn {
    z-index: 10;
}


/* ==========================================================
   VALORI AZIENDALI
   ========================================================== */
.chi-siamo-valori {
    margin-top: 70px;
    display: flex;
    justify-content: center;
    gap: 60px;
    flex-wrap: wrap;
}
.valore {
    text-align: center;
}
.valore i {
    font-size: 42px;
    color: var(--primary);
}
.valore h4 {
    font-size: 22px;
    color: var(--primary);
    margin-top: 10px;
}
.valore p {
    font-size: 16px;
    max-width: 260px;
    color: var(--gray);
}

/* ==========================================================
   CTA FINALE CHI SIAMO
   ========================================================== */
.chi-siamo-cta {
    margin-top: 60px;
    text-align: center;
}
.chi-siamo-cta h3 {
    font-size: 28px;
    color: var(--primary);
    margin-bottom: 22px;
}
.cta-whatsapp {
    background: #25D366;
    padding: 14px 28px;
    border-radius: 50px;
    color: white;
    font-size: 20px;
    text-decoration: none;
    display: inline-flex;
    gap: 10px;
    box-shadow: 0 6px 18px rgba(0,0,0,0.2);
    transition: .3s;
}
.cta-whatsapp:hover {
    background: #1da851;
    transform: translateY(-3px);
}

/* ==========================================================
   CONTATTI
   ========================================================== */
.contact-section {
    padding: 120px 40px;
}
.contact-container {
    max-width: 1300px;
    margin: auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 60px;
}
.contact-left h3 { font-size: 26px; color: var(--primary); }
.contact-left p { font-size: 18px; color: var(--gray); line-height: 1.6; }

.contact-buttons-row {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}
.btn-mini {
    padding: 8px 16px;
    border-radius: 40px;
    display: inline-flex;
    gap: 8px;
    color: white;
    text-decoration: none;
    font-weight: 600;
}
.whatsapp-mini { background: #25D366; }
.email-mini { background: var(--primary); }

.contact-right h3 {
    font-size: 26px;
    color: var(--primary);
}
.map-container {
    width: 100%;
    height: 260px;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 6px 16px rgba(0,0,0,0.15);
}

/* ==========================================================
   BOTTOM BAR
   ========================================================== */
.bottom-bar {
    background: var(--primary);
    color: white;
    padding: 60px 40px;
    opacity: 0;
    transform: translateY(40px);
    transition: .8s;
}
.bottom-bar.visible {
    opacity: 1;
    transform: translateY(0);
}

.bottom-container {
    max-width: 1400px;
    margin: auto;
    display: flex;
    gap: 50px;
    flex-wrap: wrap;
    justify-content: space-between;
}
.bottom-column {
    flex: 1;
    min-width: 250px;
    text-align: center;
}

/* Social */
.bottom-socials {
    display: flex;
    gap: 25px;
    justify-content: center;
}
.footer-social i {
    color: white;
    font-size: 30px;
    transition: .3s;
}
.footer-social[aria-label="Facebook"]:hover i { color: #1877F2; }
.footer-social[aria-label="Instagram"]:hover i {
    color: transparent;
    background-image: linear-gradient(45deg,#F58529,#DD2A7B,#8134AF,#515BD4);
    -webkit-background-clip: text;
}
.footer-social[aria-label="WhatsApp"]:hover i { color: #25D366; }

.footer {
    text-align: center;
    padding: 20px;
    background: #eee;
}

/* ==========================================================
   WHATSAPP STICKY
   ========================================================== */
.whatsapp-sticky-container{
    position:fixed;
    bottom:25px; right:25px;
    z-index:9999;
    display:flex;
    flex-direction:column;
    align-items:center;
}
.whatsapp-sticky{
    width:62px; height:62px;
    background:#25D366;
    border-radius:50%;
    display:flex;
    justify-content:center; align-items:center;
    color:white;
    font-size:34px;
    animation:ws-pulse 2.2s infinite ease-in-out;
    transition:.3s;
    text-decoration:none;
}
@keyframes ws-pulse{
    0%{transform:scale(1);}
    50%{transform:scale(1.05);}
    100%{transform:scale(1);}
}
.whatsapp-tooltip{
    background:#333;
    color:white;
    padding:6px 12px;
    border-radius:8px;
    font-size:14px;
    opacity:0;
    transform:translateY(5px);
    transition:.3s;
}
.whatsapp-sticky-container:hover .whatsapp-tooltip{
    opacity:1;
    transform:translateY(0);
}

/* ==========================================================
   RESPONSIVE EXTRA
   ========================================================== */
@media(max-width:900px){
    .chi-siamo-container {
        grid-template-columns: 1fr;
        text-align: center;
    }
    .contact-container { grid-template-columns: 1fr; }
}


/* ==========================================================
   HERO TEXT SYNC (FINAL)
========================================================== */
.hero-title {
    opacity: 1;
    transform: translateY(0);
    transition: opacity 0.7s ease, transform 0.7s ease;
}
.hero-title.fade-out {
    opacity: 0;
    transform: translateY(10px);
}
/* ===============================
   LANGUAGE SELECTOR DROPDOWN (FIX ALIGN + WIDTH)
=============================== */

.language-selector.dropdown {
    position: relative;
    display: inline-flex; /* evita che il contenitore si allarghi */
}

.lang-current {
    background: none;
    border: none;
    cursor: pointer;
    font: inherit;

    display: inline-flex;
    align-items: center;
    gap: 6px;

    padding: 0 10px;      /* ← dà respiro laterale */
    min-width: 64px;      /* ← larghezza minima per 3 lettere */
    justify-content: center;
}


/* Il menu prende la stessa larghezza del bottone e si allinea perfettamente */
.lang-dropdown-menu {
    position: absolute;
    top: calc(100% + 8px);
    right: 0;
    width: 100%;
    min-width: 0;

    background: #fff;
    border-radius: 6px;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: none;
    z-index: 100;
    overflow: hidden; /* bordi puliti */
}

.lang-dropdown-menu a {
    display: flex;
    align-items: center;
    justify-content: center; /* ← centratura orizzontale */
    gap: 6px;

    padding: 8px 12px;
    text-decoration: none;
    color: inherit;
    white-space: nowrap;
}


.lang-dropdown-menu a:hover {
    background: #f3f3f3;
}

.lang-dropdown-menu a.active {
    font-weight: 700;
}

/* ==========================================================
   FLOTTA CTA
========================================================== */

.flotta-cta {
    max-width: 900px;
    margin: 80px auto 0;
    text-align: center;
    padding: 40px 30px;
    background: #f7f7fb;
    border-radius: 18px;
}

.flotta-cta h3 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 14px;
}

.flotta-cta p {
    font-size: 17px;
    color: var(--gray);
    line-height: 1.6;
    margin-bottom: 26px;
}
/* ==========================================================
   CTA PRIMARY (ROSSO SHARDRIVER)
========================================================== */

.cta-primary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 14px 30px;
    border-radius: 40px;
    background: var(--primary);
    color: #fff;
    font-weight: 600;
    text-decoration: none;

    /* OMBRA COERENTE CON CTA WHATSAPP */
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.25);

    transition: background 0.3s ease,
                transform 0.3s ease,
                box-shadow 0.3s ease;
}

.cta-primary:hover {
    background: #8f0015;
    transform: translateY(-2px);

    /* leggero incremento ombra in hover */
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.28);
}

/* ==========================================================
   FLOTTA CTA — NO BOX
========================================================== */

.flotta-cta {
    background: transparent;
    padding: 0;
    box-shadow: none;
}
/* ==========================================================
   SERVIZI CTA
========================================================== */

.servizi-cta {
    max-width: 900px;
    margin: 80px auto 0;
    text-align: center;
}

.servizi-cta h3 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 14px;
}

.servizi-cta p {
    font-size: 17px;
    color: var(--gray);
    line-height: 1.6;
    margin-bottom: 26px;
}
/* ==========================================================
   CHI SIAMO CTA (LINK)
========================================================== */

.chi-siamo-cta-link {
    max-width: 900px;
    margin: 80px auto 0;
    text-align: center;
}

.chi-siamo-cta-link h3 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 14px;
}

.chi-siamo-cta-link p {
    font-size: 17px;
    color: var(--gray);
    line-height: 1.6;
    margin-bottom: 26px;
}
/* ==========================================================
   CONTATTI CTA WHATSAPP
========================================================== */

.contatti-cta-whatsapp {
    max-width: 900px;
    margin: 80px auto 0;
    text-align: center;
}

.contatti-cta-whatsapp h3 {
    font-size: 26px;
    color: var(--primary);
    margin-bottom: 14px;
}

.contatti-cta-whatsapp p {
    font-size: 17px;
    color: var(--gray);
    line-height: 1.6;
    margin-bottom: 26px;
}
@media (max-width: 900px) {
    .nav {
        top: 100%;
    }
}
@media (max-width: 900px) {
    .nav {
        box-shadow: 0 2px 3px -1px var(--primary);
    }
}


/* ==========================================================
   SECTION SPACING TUNING (SAFE OVERRIDE)
   Riduzione leggera dei padding verticali tra sezioni
   senza rompere il layout esistente
========================================================== */

#servizi,
#flotta,
#chi-siamo,
#contatti {
    padding-top: 90px !important;
    padding-bottom: 90px !important;
}

@media (max-width: 768px) {
    #servizi,
    #flotta,
    #chi-siamo,
    #contatti {
        padding-top: 70px !important;
        padding-bottom: 70px !important;
    }
}
body {
    background-color: #f3f4f6;
}
/* ==========================================================
   FULL WIDTH SECTIONS — FLOATING EFFECT
========================================================== */

#servizi,
#flotta,
#chi-siamo,
#contatti {
    background: #ffffff;
    margin: 60px 0; /* spazio che lascia vedere il grigio */
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
}
@media (max-width: 768px) {
    #servizi,
    #flotta,
    #chi-siamo,
    #contatti {
        margin: 40px 0;
        box-shadow: 0 12px 28px rgba(0, 0, 0, 0.08);
    }
}
/* ==========================================================
   CTA RHYTHM & SPACING — GLOBAL TUNING
========================================================== */

/* CTA di fine sezione (Servizi, Flotta, Chi Siamo, Contatti) */
.servizi-cta,
.flotta-cta,
.chi-siamo-cta-link,
.contatti-cta-whatsapp {
    margin-top: 64px;      /* distanza dal contenuto */
    padding-top: 0;        /* nessun “doppio respiro” */
}

/* Spaziatura coerente del testo sopra il bottone */
.servizi-cta p,
.flotta-cta p,
.chi-siamo-cta-link p,
.contatti-cta-whatsapp p {
    margin-bottom: 28px;
}

/* Mobile: CTA leggermente più respirate */
@media (max-width: 768px) {
    .servizi-cta,
    .flotta-cta,
    .chi-siamo-cta-link,
    .contatti-cta-whatsapp {
        margin-top: 56px;
    }
}
/* ==========================================================
   TITOLI SEZIONI — GERARCHIA & RITMO
========================================================== */

/* Titoli principali di sezione */
section > h2,
.section-title {
    margin-bottom: 28px;   /* spazio sotto il titolo */
}

/* Testo introduttivo sotto il titolo */
section > h2 + p,
.section-title + p {
    margin-top: 0;
    margin-bottom: 56px;   /* separazione dal contenuto */
    max-width: 800px;      /* migliora la leggibilità */
}

/* Mobile tuning */
@media (max-width: 768px) {
    section > h2,
    .section-title {
        margin-bottom: 22px;
    }

    section > h2 + p,
    .section-title + p {
        margin-bottom: 44px;
    }
}
/* ==========================================================
   LINK RESET — INHERIT STYLE
========================================================== */

a {
    color: inherit;
}

/* ==========================================================
   AVOID WHITE SPACE SPAN
========================================================== */
.no-wrap {
    white-space: nowrap;
}
/* ==========================================================
   PRIVACY & COOKIE BANNER — LIGHT
========================================================== */

.privacy-banner {
    position: fixed;
    bottom: 20px;
    left: 20px;
    right: 20px;
    max-width: 900px;
    margin: 0 auto;

    background: #ffffff;
    color: #222;
    padding: 18px 22px;
    border-radius: 16px;

    box-shadow: 0 12px 30px rgba(0,0,0,0.18);
    z-index: 9999;

    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
}

.privacy-banner p {
    font-size: 14px;
    line-height: 1.5;
    margin: 0;
}

.privacy-banner a:not(.cta-primary) {
    color: var(--primary);
}

/* Mobile */
@media (max-width: 768px) {
    .privacy-banner {
        flex-direction: column;
        align-items: flex-start;
    }

    .privacy-banner .cta-primary {
        align-self: flex-end;
    }
}
/* Evita a capo del testo nel bottone del banner */
.privacy-banner .cta-primary {
    white-space: nowrap;
}


.service-card-link {
    text-decoration: none;
    color: inherit;
    display: block;
}

.privacy-content {
    text-align: left;
}

/* ==========================================================
   SECTION WRAP — STESSO RITMO DELLA LANDING PAGE
========================================================== */

.section-wrap{
    margin: 80px 0;          /* stesso stacco delle sezioni in index */
    padding: 0px 0;         /* respiro verticale interno */
    background: #ffffff;     /* sfondo bianco del contenuto */
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
    position: relative;

}
.section-split{
    display: grid;
    grid-template-columns: 2fr 1fr;
    min-height: 100%;
    align-items: stretch;
}
.split-left{
    grid-template-columns: 1fr 2fr;
}
.split-text{
    padding: 0 60px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 30px 30px;
}

.split-right .split-text{
    text-align: left;
}

.split-left .split-text{
    text-align: right;
}
.split-image{
    position: relative;
    overflow: hidden;
}

.split-image img{
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.split-right .split-image{
    clip-path: polygon(12% 0, 100% 0, 100% 100%, 0 100%);
}
.split-left .split-image{
    clip-path: polygon(0 0, 100% 0, 88% 100%, 0 100%);
}
@media (max-width: 900px){

    /* Layout a colonna */
    .section-split{
        grid-template-columns: 1fr;
        display: flex;
        flex-direction: column;
    }

    /* Testo centrato in entrambe le varianti */
    .split-text{
        text-align: center;
        padding: 40px 20px;
        order: 1;

    }

    .split-right .split-text,
    .split-left .split-text{
        text-align: center;
    }

    /* Immagine full width, niente diagonale */
    .split-right .split-image{
        height: 260px;
        clip-path: none;
    }
    .split-left .split-image{
        height: 260px;
        clip-path: none;
    }

    .split-image img{
        position: relative;
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .split-image{
        order: 2;
        box-shadow: 0 18px 40px rgba(0, 0, 0, 0.08);
    }
}


/* CTA BUTTONS WRAP SECTION */
.contact-buttons-wrap {
    display: flex;
    gap: 15px;
    margin-top: 20px;
}
.btn-mini-wrap {
    padding: 8px 16px;
    border-radius: 40px;
    display: inline-flex;
    gap: 8px;
    color: white;
    text-decoration: none;
    font-weight: 600;
}
.whatsapp-mini-wrap { background: #25D366; }
.wrap-mini { background: var(--primary); }

/* Allineamento CTA in base al layout */
.split-right .contact-buttons-wrap {
    justify-content: flex-start;
}

.split-left .contact-buttons-wrap {
    justify-content: flex-end;
}

@media (max-width: 900px) {
    .contact-buttons-wrap {
        justify-content: center;
        width: 100%;

    }
    /* CTA sempre centrata su mobile, indipendente dallo split */
    .split-left .contact-buttons-wrap,
    .split-right .contact-buttons-wrap{
        justify-content: center !important;
        width: 100%;
    }
}

/*DROPDOWN LANGUAGE SELECTOR MOBILE*/
@media (max-width: 900px){

    /* LANGUAGE DROPDOWN — OPEN UPWARDS (MOBILE) */
    .lang-dropdown-menu{
        top: auto;
        bottom: calc(100% + 8px);
    }

}

/* ROUTE LIST – TRANSFER PAGE */
.route-list {
    list-style: none;
    padding: 0;
    margin: 25px 0 0;
}

.route-list li {
    margin-bottom: 14px;
}

.route-list li a {
    color: var(--primary);
    font-weight: 500;
    text-decoration: none;
    position: relative;
    padding-left: 18px;
    transition: color 0.3s ease;
}

/* piccolo accento visivo shardriver */
.route-list li a::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 0;
    color: var(--primary);
    font-weight: 600;
}

/* hover elegante */
.route-list li a:hover {
    color: #000;
}

