/*----- stile footer -----*/
.footer-menu {
    ul.menu-footer {
        display: flex;
        align-items: center;
        gap: 20px;
        list-style-type: none;

        a {
            text-decoration: none;
        }
    }
}

/* ══════════════════════════════════════════════
   CTA FINALE
══════════════════════════════════════════════ */
.cta-final {
    background: var(--dark); padding-block: var(--py); text-align: center; position: relative; overflow: hidden;
    &::before { content: ''; position: absolute; inset: 0; background: radial-gradient(ellipse at 50% 50%, rgba(232,164,0,.08) 0%, transparent 60%); pointer-events: none; }
    .container { position: relative; z-index: 1; }
    .cf-label { font-family: var(--fd); font-size: 11px; font-weight: 700; letter-spacing: .22em; text-transform: uppercase; color: var(--gold); margin-bottom: 18px; display: flex; align-items: center; justify-content: center; gap: 10px;
        &::before, &::after { content: ''; display: inline-block; width: 22px; height: 1px; background: var(--gold); }
    }
    .h-xl { color: #fff; margin-bottom: 18px; }
    p { font-size: 17px; color: rgba(255,255,255,.44); max-width: 460px; margin: 0 auto 32px; line-height: 1.7; }
    .cf-btns  { display: flex; gap: 12px; justify-content: center; flex-wrap: wrap; margin-bottom: 18px; }
    .cf-note  { font-size: 13px; color: rgba(255,255,255,.2); }
}


/* ══════════════════════════════════════════════
   FOOTER
══════════════════════════════════════════════ */
footer {
    background: var(--dark-2);
    border-top: 1px solid rgba(255, 255, 255, .05);
    padding-block: 48px 28px;

    .foot-inner {
        display: grid;
        grid-template-columns: 1fr auto;
        gap: 40px;
        align-items: start;
        margin-bottom: 36px;

        .fb-name {
            font-family: var(--fd);
            font-size: 20px;
            font-weight: 900;
            text-transform: uppercase;
            color: #fff;
            margin-bottom: 4px;
            @media (max-width: 768px) {
                text-align: center;
            }

            span {
                color: var(--gold);
            }
        }

        .fb-role {
            font-family: var(--fd);
            font-size: 11px;
            font-weight: 700;
            letter-spacing: .12em;
            text-transform: uppercase;
            color: rgba(255, 255, 255, .24);
            margin-bottom: 18px;
            @media (max-width: 768px) {
                text-align: center;
            }
        }

        .foot-nav {
            display: flex;
            gap: 18px;
            flex-wrap: wrap;

            a {
                font-family: var(--fd);
                font-size: 12px;
                font-weight: 700;
                letter-spacing: .08em;
                text-transform: uppercase;
                color: rgba(255, 255, 255, .3);
                transition: color var(--t);

                &:hover {
                    color: var(--gold);
                }
            }
        }

        .foot-right {
            text-align: right;

            .fr-label {
                font-family: var(--fd);
                font-size: 11px;
                font-weight: 700;
                letter-spacing: .14em;
                text-transform: uppercase;
                color: rgba(255, 255, 255, .24);
                margin-bottom: 8px;
            }

            .fr-email {
                font-family: var(--fd);
                font-size: 15px;
                font-weight: 700;
                color: rgba(255, 255, 255, .54);
                display: block;
                margin-bottom: 14px;
                transition: color var(--t);

                &:hover {
                    color: var(--gold);
                }
            }
        }
    }

    .foot-bottom {
        display: flex;
        align-items: center;
        justify-content: space-between;
        border-top: 1px solid rgba(255, 255, 255, .05);
        padding-top: 22px;
        font-size: 12px;
        color: rgba(255, 255, 255, .2);

        .fb-links {
            display: flex;
            gap: 16px;

            a {
                color: rgba(255, 255, 255, .2);
                transition: color var(--t);

                &:hover {
                    color: var(--gold);
                }
            }
        }
    }

    @media (max-width: 640px) {
        .foot-inner {
            grid-template-columns: 1fr;
        }

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

        .foot-bottom {
            flex-direction: column;
            gap: 12px;
            text-align: center;
        }
    }
}