.footer{background-color: var(--ink);position:relative;overflow:hidden;}
.footer-container {
    height: 560px;
    background-size: cover;
    padding: 80px 200px 100px;
    position:relative;
    z-index:1;
}

.footer-content {
    display: flex;
    width: 100%;
}

.left-footer {
    width: 50%;
}

.top-left-footer {
    display: flex;
    justify-content: space-between;
    margin-bottom: 150px;
}

.tll-footer {
    width: 40%
}

.tlr-footer {
    width: 60%
}

.footer-menu, .footer-legal {
    list-style: none;
    margin: 0;
    padding: 0
}

.footer-menu li, .footer-legal li {
    margin: .45rem 0;
    line-height: 0.8rem;
}

.footer-menu a, .footer-legal a {
    color: #fff;
    text-decoration: none;
    font-weight: 300;
    font-size: 0.85rem;
}

.footer-menu a:hover, .footer-legal a:hover, .right-footer a:hover {
    text-decoration: underline
}
    /* prefisso con barra "/" come nel mockup */
.footer-menu.slash li a::before, .footer-legal.slash li a::before {
    content: "/ ";
    margin-right: .25rem;
    opacity: .95
}

.footer-copy {
    color: white;
}

.right-footer {
    width: 50%;
    color: white;
    display: flex;
    justify-content: end;
}

.right-footer-content h4 {
    font-weight: 500;
    font-size: 1.4rem;
    margin-bottom: 20px;
}

.right-footer a, .right-footer p {
    color: #fff;
    text-decoration: none;
    font-weight: 300;
    font-size: 0.85rem;
}

.sede-legale, .sede-operativa {
    margin-bottom: 20px;
}

.footer-social {
    display: flex;
    gap: .8rem;
    margin-top: 1rem
}

.footer-social a {
    width: 36px;
    height: 36px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    border: 2px solid rgba(255,255,255,.95);
    text-decoration: none
}

.footer-social svg {
    width: 18px;
    height: 18px;
    fill: #fff
}
.bottom-left-footer{transform:translateY(-180px);width:max-content;}

.footer-linee{position:absolute;height:100%;width:2000px;}
.footer-linee img{width:100%; object-fit:contain;}
.footer-img{position:relative;height:60px;}
.footer-img img{position:absolute;left:-13px;height:100%;object-fit:cover;}
@media (max-width: 1700px) {
    .footer-container{height:520px;background-size:cover;}
    .top-left-footer {margin-bottom: 120px;}
    .right-footer-content {width: 35%;}
    .right-footer-content h4 {margin-bottom: 10px;}
    .sede-legale, .sede-operativa {margin-bottom: 15px;}
}
@media (max-width: 1100px) {
    .footer-container {
        height: 550px;
        background-size: cover;
        padding: 80px 40px 2px;
    }
}
@media (max-width: 870px) {
    .footer-container {height: 690px;}
    .right-footer-content {width: 70%;}
    .tll-footer {width: 95%;}
    .footer-container {height: 530px;}
    .bottom-left-footer {
        transform: translateY(-156px);}
}
@media (max-width: 576px) {
    .footer-container{padding: 65px 25px 15px 25px;height: 1115px;}
    .footer-content{display:block}
    .top-left-footer{display:flex;margin-bottom:0px;}
    .left-footer{width:100%;margin-bottom:10px;}
    .right-footer{display:block;width:100%;}
    .tll-footer{width:80%; margin-bottom :15px;}
    .footer-menu li a{font-size:1rem;}
    .footer-menu li {margin-bottom: 20px;}
    .right-footer-content{width:100%;}
    .right-footer-content h4{font-size:1.5rem;margin-bottom:0px;}
    .sede-legale p{font-size:1.1rem}
    .sede-operativa p{font-size:1.1rem;}
    .recapitiFooter p{font-size:1.1rem;}
    .sede-legale, .sede-operativa {margin-bottom: 30px;}
    .right-footer a, .right-footer p {font-size: 1rem;}
    .recapitiFooter {margin-bottom: 25px;}
    .bottom-left-footer {transform: translateY(0px);}
    .footer-linee {display: none;}
}