footer.footer-grid {
  display: grid;
  grid-template-rows: repeat(6, 90px);;
  grid-template-areas:
    "logo logo logo logo logo logo logo logo logo address address address address address address"
    "logo logo logo logo logo logo logo logo logo address address address address address address"
    "links links links links links links links links logo-square address address address address address address"
    "links links links links links links links links newsletter newsletter newsletter newsletter newsletter newsletter newsletter "
    "links links links links links links links links newsletter newsletter newsletter newsletter newsletter newsletter newsletter"
    "copyright copyright copyright copyright copyright copyright social-1 social-2 newsletter newsletter newsletter newsletter newsletter newsletter newsletter";
  gap: 10px;
  color: var(--white);
  padding: 10px;
}

footer .h3 {
  color: var(--white);
  font-weight: 700;
}

footer p {margin: 0;}

footer .footer-el:not(.footer-logo-square) {background : var(--black); height: 100%;}

.footer-el {
    display: flex;
    padding: 20px;
    border-radius: var(--border-radius-el);
}

footer .footer-logo { grid-area: logo; display: flex;}
footer .footer-address { font-size: 1rem; }
footer .footer-links .h3,
footer .footer-address .h3 {
    margin-bottom: 0.5rem;
}
footer .footer-address a { color: var(--primary); text-decoration: none; }

footer .footer-address a:hover { text-decoration: underline; }
footer .footer-address {
    display: flex;
    justify-content: flex-start;
    align-items: flex-end;
}

footer .footer-links { grid-area: links; display: flex; justify-content: flex-end; align-items: flex-start;}
footer .footer-links ul { list-style: none; padding: 0; margin: 0; }
footer .footer-links li { margin-bottom: 0.3rem; }
footer .footer-links a { color: var(--white); text-decoration: none; }
footer .footer-links a:hover { color: var(--primary); }

footer .footer-links,
footer .footer-address {
    flex-direction: column;
    flex: 1;
    gap: 50px;
}

footer .logo-square {
  grid-area: logo-square;
  background: var(--primary);
  width: 70px; height: 70px;
  display: flex; align-items: center; justify-content: center;
  border-radius: 12px;
}

footer .footer-newsletter { grid-area: newsletter; flex-direction: column;}
footer .footer-newsletter h4 { font-size: 1.1rem; margin-bottom: 1rem; }
footer .footer-newsletter form { display: flex; flex-direction: column; gap: 0.7rem; margin-top: 20px;}
footer .footer-newsletter input[type="email"] {
  padding: 0.7rem;
  border-radius: var(--border-radius-el);
  border: none;
}

footer .footer-newsletter-iframe {
  margin-top: 15px;
  height: inherit !important;
}

footer .footer-newsletter button {
  background: var(--primary);
  color: var(--black);
  border: none;
  border-radius: var(--border-radius-el);
  padding: 0.7rem 1.5rem;
  cursor: pointer;
  font-size: 1rem;
}

footer .footer-newsletter button:hover { background: var(--primary); }
.newsletter-legal {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

footer .newsletter-legal a { color: var(--primary); }
footer .footer-copyright {
  grid-area: copyright;
  gap: 5px;
  justify-content: flex-end;
  align-items: center;
  text-align: right;
}

footer .footer-copyright a {
  color: var(--yellow);
  text-decoration: none;
  font-size: inherit;
}

footer .footer-social-1 {grid-area: social-1;}

footer .footer-social-2 {grid-area: social-2;}

footer .footer-social {
  align-items: center;
  justify-content: center;
}

footer .footer-social a {
    text-decoration: none;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
}
footer .footer-social a:hover { color: var(--primary); }
footer .footer-logo-square {
    grid-area: logo-square;
    background: var(--primary);
    display: flex;
    padding: 10px;
    align-items: center;
    justify-content: center;
}

footer .footer-address {grid-area: address;}

footer .footer-logo-desktop {
    display: block;
    max-width: 400px;
    width: 100%;
    padding-top: 30px;
}
footer .footer-logo-mobile {
    display: none;
}
@media (min-width: 768px) {
    footer .footer-logo {
        border-top-left-radius: var(--border-radius);
        justify-content: flex-end;
        align-items: flex-end;
    }
    footer .footer-links,
    footer .footer-address {
        flex-direction: row;
        gap: 20px;
    }
    footer .footer-newsletter {
        border-bottom-right-radius: var(--border-radius);
        justify-content: flex-start;
        align-items: flex-start;
    }
    footer .footer-copyright {
        border-bottom-left-radius: var(--border-radius);
    }
    footer .footer-address {
        border-top-right-radius: var(--border-radius);
    }
}
@media (max-width: 992px) {
  footer.footer-grid {
    grid-template-rows: repeat(6, auto);
    grid-template-areas:
    "logo logo logo logo"
    "links links address address"
    "links links address address"
    "links links newsletter newsletter"
    "links links newsletter newsletter"
    "copyright copyright social-1 social-2";
  }
  footer .footer-logo-square {
    display: none;
  }
}
@media (max-width: 768px) {
  footer .footer-address {
    align-items: flex-start;
  }
  footer .footer-links {
    justify-content: flex-start;
  }
  footer .footer-copyright {
    text-align: left;
  }
}
@media (max-width: 576px) {
  footer.footer-grid {
    grid-template-columns: repeat(2,1fr);
    grid-template-areas:
      "logo logo"
      "address address"
      "links links"
      "newsletter newsletter"
      "copyright copyright"
      "social-1 social-2";
  }
  footer .footer-logo-desktop {
    display: none;
  }
  footer .footer-logo-mobile {
    display: block;
    max-width: 200px;
    width: 100%;
  }
}
.sr-only { position: absolute; left: -9999px; }