/* Variante scura: Blu notte + Rosso Callegaro */
@import url("theme-blu-rosso.css?v=20260822-1");

.hero {
  color: #ffffff;
  background:
    radial-gradient(circle at 10% 20%, rgba(205,1,0,.12), transparent 30%),
    radial-gradient(circle at 88% 18%, rgba(255,255,255,.06), transparent 24%),
    linear-gradient(145deg, #0d2238 0%, #102a43 58%, #173b5c 100%);
}

/* Titolo principale bianco */
.hero h1,
.hero h1 span {
  color: #ffffff;
}

/* Testo introduttivo */
.hero .lead {
  color: rgba(255,255,255,.76);
}

/* Riga superiore */
.hero .eyebrow,
.hero .section-label {
  color: #e32626;
}

/* Mini trust */
.hero-mini-trust {
  color: #ffffff;
}

.hero-mini-trust span::before {
  color: #e32626;
}

.hero::before {
  border-color: rgba(205,1,0,.08);
}

.hero .btn-secondary {
  color: #102a43;
  background: #ffffff;
  border-color: rgba(255,255,255,.22);
}

.trustbar {
  background: rgba(255,255,255,.96);
}

.visual-card {
  background: rgba(255,255,255,.98);
}
/* ===== SEZIONI CENTRALI ===== */

/* I nostri servizi */
#servizi.section-soft {
    background: linear-gradient(
        180deg,
        #e3ebf1 0%,
        #dbe6ed 100%
    ) !important;
}

/* Come lavoriamo */
#come-lavoriamo {
    background: linear-gradient(
        180deg,
        #eef3f6 0%,
        #e4ebf0 100%
    ) !important;
}
#come-lavoriamo {
    padding-top: 60px !important;
    padding-bottom: 60px !important;
}

/* Card servizi */
.service-card {
    background: #ffffff;
    border: 1px solid rgba(16, 42, 67, 0.10);
    box-shadow: 0 14px 32px rgba(16, 42, 67, 0.11);
}

/* Passaggi */
#come-lavoriamo .process-step {
    background: #ffffff;
    border: 1px solid rgba(16, 42, 67, 0.12);
    box-shadow: 0 10px 24px rgba(16, 42, 67, 0.09);
}
#preventivo {
    background: #f4f7f9;
}

/* =========================================
   HEADER / NAVBAR PREMIUM
   ========================================= */

.site-header {
    position: sticky;
    top: 0;
    z-index: 1000;

    min-height: 70px;

    background:
        linear-gradient(
            90deg,
            rgba(8, 25, 39, 0.97),
            rgba(11, 31, 48, 0.94)
        );

    border-bottom: 1px solid rgba(255,255,255,0.08);

    box-shadow:
        0 8px 30px rgba(0,0,0,0.18);

    backdrop-filter: blur(18px);
    -webkit-backdrop-filter: blur(18px);
}

.navbar {
    min-height: 70px;
    gap: 24px;
}


/* LOGO + NOME */

.brand {
    gap: 13px;
}
.brand-logo-mini {
    width: 72px;
    height: auto;
    object-fit: contain;
    background: transparent;
    border: 0;
    flex-shrink: 0;
    transition: transform .25s ease;
}

.brand:hover .brand-logo-mini {
    transform: scale(1.05);
}


.brand-name {
    color: #ffffff;
    font-size: .94rem;
    font-weight: 850;
    letter-spacing: .055em;
}

.brand-place {
    color: rgba(255,255,255,0.52);
    font-size: .64rem;
    letter-spacing: .14em;
}


/* VOCI MENU */

.nav-links {
    gap: 3px;
}

.nav-links a {
    position: relative;

    padding: 10px 13px;

    color: rgba(255,255,255,0.78);

    background: transparent;

    border-radius: 9px;

    font-size: .88rem;
    font-weight: 650;

    transition:
        color .2s ease,
        background .2s ease;
}

.nav-links a:not(.nav-cta)::after {
    content: "";

    position: absolute;
    left: 13px;
    right: 13px;
    bottom: 5px;

    height: 2px;

    background: var(--brand);

    border-radius: 10px;

    transform: scaleX(0);
    transform-origin: center;

    transition: transform .2s ease;
}

.nav-links a:not(.nav-cta):hover {
    color: #ffffff;
    background: rgba(255,255,255,0.06);
}

.nav-links a:not(.nav-cta):hover::after {
    transform: scaleX(1);
}


/* PULSANTE PREVENTIVO */

.nav-links .nav-cta {
    margin-left: 7px;

    padding: 10px 19px;

    color: #ffffff;

    background:
        linear-gradient(
            135deg,
            var(--brand),
            var(--brand-dark)
        );

    border: 1px solid rgba(255,255,255,0.14);

    border-radius: 12px;

    box-shadow:
        0 7px 20px rgba(242,140,40,0.23);

    font-weight: 780;

    transition:
        transform .2s ease,
        box-shadow .2s ease;
}

.nav-links .nav-cta:hover {
    color: #ffffff;

    transform: translateY(-1px);

    background:
        linear-gradient(
            135deg,
            #f59a3d,
            var(--brand)
        );

    box-shadow:
        0 10px 26px rgba(242,140,40,0.32);
}


/* SELETTORE LINGUA */

.language-switcher .lang-current {
    color: rgba(255,255,255,0.82) !important;

    background: rgba(255,255,255,0.07) !important;

    border: 1px solid rgba(255,255,255,0.12) !important;

    border-radius: 10px !important;

    transition:
        background .2s ease,
        border-color .2s ease;
}

.language-switcher .lang-current:hover {
    color: #ffffff !important;

    background: rgba(255,255,255,0.12) !important;

    border-color: rgba(255,255,255,0.20) !important;
}


/* MOBILE */

@media (max-width: 980px) {

    .site-header,
    .navbar {
        min-height: 68px;
    }

    .nav-toggle {
        width: 42px;
        height: 42px;

        background: var(--brand);

        border-radius: 11px;

        box-shadow:
            0 6px 18px rgba(242,140,40,0.24);
    }

    .nav-links {
        inset: 68px 0 auto;

        background: rgba(8,25,39,0.98);

        border-bottom:
            1px solid rgba(255,255,255,0.08);

        box-shadow:
            0 18px 35px rgba(0,0,0,0.25);

        backdrop-filter: blur(18px);
    }

    .nav-links a {
        color: rgba(255,255,255,0.86);

        border-bottom:
            1px solid rgba(255,255,255,0.07);
    }

    .nav-links a:hover {
        color: #ffffff;
        background: rgba(255,255,255,0.05);
    }

    .nav-links .nav-cta {
        margin: 10px auto 0;
    }
}


/* =========================================================
   SERVIZI - CARD PREMIUM
   Sostituisce completamente il vecchio stile delle card
   ========================================================= */


/* SEZIONE */
.services-section {
    background: #eef3f6;
}


/* CARD */
.service-card {
    position: relative;

    min-height: 225px;
    padding: 30px 26px 27px;

    background: rgba(255, 255, 255, 0.94);

    border: 1px solid rgba(14, 42, 62, 0.045);
    border-radius: 11px;

    box-shadow:
        0 10px 30px rgba(15, 40, 58, 0.055);

    overflow: hidden;

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


/* ELIMINA QUALSIASI DECORAZIONE VECCHIA */
.service-card::before,
.service-card::after {
    content: none !important;
    display: none !important;
}


/* HOVER MOLTO LEGGERO */
.service-card:hover {
    transform: translateY(-4px);

    background: #ffffff;

    box-shadow:
        0 17px 40px rgba(15, 40, 58, 0.09);
}


/* ICONA */
.service-icon { 
    width: 36px;
    height: 36px;
    margin: 0 0 22px 0;

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

    background: transparent;
    border: 0;
    border-radius: 0;

    color: var(--brand);

    font-size: 20px;
    box-shadow: none;
}

.service-icon i {
    color: var(--brand);
    font-size: 20px;
}


/* EVENTUALE ICONA FONT AWESOME */
.service-icon i {
    color: var(--brand);
    font-size: 20px;
}


/* NUMERO 01 - 02 - 03 - 04 */
.service-number {
    position: absolute;

    top: 29px;
    right: 25px;

    color: rgba(14, 42, 62, 0.28);

    font-size: .67rem;
    font-weight: 800;

    letter-spacing: .15em;
}


/* TITOLO */
.service-card h3 {
    margin: 0 0 12px;

    color: #0b2940;

    font-size: 1.06rem;
    font-weight: 800;

    line-height: 1.3;

    letter-spacing: -0.015em;
}


/* TESTO */
.service-card p {
    margin: 0;

    color: #607586;

    font-size: .92rem;
    font-weight: 400;

    line-height: 1.72;
}


/* =========================================================
   TABLET
   ========================================================= */

@media screen and (max-width: 980px) {

    .service-card {
        min-height: 210px;
        padding: 27px 23px 25px;
    }

    .service-icon {
        width: 34px;
        height: 34px;

        margin-bottom: 19px;

        font-size: 18px;
    }

    .service-icon i {
        font-size: 18px;
    }

    .service-number {
        top: 26px;
        right: 22px;
    }

    .service-card h3 {
        font-size: 1.03rem;
    }

    .service-card p {
        font-size: .90rem;
    }
}


/* =========================================================
   SMARTPHONE
   ========================================================= */

@media screen and (max-width: 640px) {

    .service-card {
        min-height: 0;

        padding: 24px 21px 23px;

        border-radius: 10px;

        box-shadow:
            0 8px 24px rgba(15, 40, 58, 0.055);
    }

    .service-card:hover {
        transform: none;
    }

    .service-icon {
        width: 32px;
        height: 32px;

        margin-bottom: 17px;

        font-size: 17px;
    }

    .service-icon i {
        font-size: 17px;
    }

    .service-number {
        top: 23px;
        right: 20px;

        font-size: .64rem;
    }

    .service-card h3 {
        margin-bottom: 9px;

        font-size: 1rem;
    }

    .service-card p {
        font-size: .89rem;
        line-height: 1.65;
    }
}