/* 12 — Rodapé */
.footer {
  background: var(--color-purple-01);
  color: var(--color-white);
}
.footer__inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  min-height: 512px;
  padding: 47px var(--gutter) 27px;
  border-radius: 100px 100px 0 0;
  background: var(--color-primary);
}

.footer__brand { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); }
.footer__logo { position: relative; display: block; width: 296px; height: 122px; }
.footer__logo-piece { position: absolute; display: block; max-width: none; }
.footer__logo-piece--1 { left: 77.04%; top: 12.5%; width: 22.22%; height: 73.21%; }
.footer__logo-piece--2 { left: 53.33%; top: 37.5%; width: 17.78%; height: 42.86%; }
.footer__logo-piece--3 { left: 0%; top: 37.5%; width: 20.74%; height: 42.86%; }
.footer__logo-piece--4 { left: 31.85%; top: 37.5%; width: 20.74%; height: 42.86%; }
.footer__logo-piece--5 { left: 22.96%; top: 39.29%; width: 6.67%; height: 41.07%; }
.footer__logo-piece--6 { left: 22.96%; top: 17.86%; width: 6.67%; height: 16.07%; }
.footer__eureca { display: block; width: 218px; height: 40px; }

.footer__contact { margin-top: 35px; text-align: center; }
.footer__contact-strong { font-weight: var(--fw-bold); color: var(--color-white); }
.footer__contact-text { font-weight: var(--fw-regular); color: var(--color-purple-01); }
.footer__contact-link { text-decoration: underline; transition: color var(--transition); }
.footer__contact-link:hover { color: var(--color-white); }

.footer__socials { display: flex; align-items: flex-start; justify-content: center; gap: 61px; margin: 19px 0 0 -53px; }
.footer__group { display: flex; flex-direction: column; align-items: center; gap: var(--space-1); }
.footer__group-title { font-size: var(--fs-body); font-weight: var(--fw-bold); line-height: var(--lh-body); color: var(--color-white); }
.footer__icons { display: flex; align-items: center; gap: var(--space-1); list-style: none; min-height: 48px; }
.footer__icons a { display: block; transition: transform var(--transition), opacity var(--transition); }
.footer__icons a:hover { transform: translateY(-2px); opacity: 0.85; }
.footer__icons img { display: block; }
.footer__icons--lg img { width: 48px; height: 48px; }
.footer__icons--sm img { width: 40px; height: 40px; }
.footer__youtube { position: relative; width: 48px; height: 48px; }
.footer__youtube .footer__youtube-bg { position: absolute; inset: 0; }
.footer__youtube .footer__youtube-icon { position: absolute; top: 14px; left: 10.67px; width: 26.67px; height: 18.67px; }

.footer__bottom { width: 100%; max-width: 1240px; margin-top: 48px; }
.footer__line { display: block; width: 100%; height: 2px; margin-bottom: 16px; }
.footer__legal { display: flex; align-items: center; justify-content: space-between; gap: var(--space-3); }
.footer__copy { font-size: var(--fs-body); font-weight: var(--fw-regular); line-height: var(--lh-body); }
.footer__privacy { font-size: var(--fs-body); font-weight: var(--fw-bold); line-height: var(--lh-body); color: var(--color-purple-02); white-space: nowrap; transition: color var(--transition); }
.footer__privacy:hover { color: var(--color-white); }

@media (max-width: 1024px) {
  .footer__inner { border-radius: 64px 64px 0 0; }
  .footer__socials { margin-left: 0; }
}
@media (max-width: 640px) {
  .footer__inner { border-radius: 40px 40px 0 0; padding-top: 40px; }
  .footer__logo { width: 240px; height: 99px; }
  .footer__eureca { width: 180px; height: auto; }
  .footer__contact { font-size: 18px; }
  .footer__socials { flex-direction: column; align-items: center; gap: var(--space-3); }
  .footer__legal { flex-direction: column; align-items: flex-start; gap: var(--space-1); }
}
@media (prefers-reduced-motion: reduce) { .footer__icons a, .footer__contact-link, .footer__privacy { transition: none; } }
