.footer-banner {
  background:
    linear-gradient(90deg, #161310db, #191610a8),
    #26211a url('../media/entrance.webp') center 48% / cover;
  color: #fff9ef;
}
.footer-banner .shell {
  display: flex;
  min-height: 185px;
  align-items: center;
  justify-content: space-between;
  gap: 1.2rem 2rem;
  padding-block: 2.4rem;
}
.footer-banner h2 {
  font-size: clamp(2rem, 3.8vw, 3.65rem);
  line-height: 1.1;
}
.footer-banner .button {
  flex-shrink: 0;
  border-radius: 50px;
  padding-inline: 1.45rem;
}
.footer-banner :focus-visible { outline-color: #ffe3b4; }

.atlantida-footer {
  border: 0;
  background: #1c1a18;
  color: #f8f2e7;
}
.footer-columns {
  display: grid;
  grid-template-columns: 1.3fr .75fr 1.2fr 1fr;
  gap: 2rem clamp(1rem, 3.6vw, 3.5rem);
  padding-block: clamp(2.5rem, 5.5vw, 5rem);
}
.footer-columns > * { min-width: 0; }
.footer-columns h2 {
  margin-bottom: .75rem;
  font-size: 1.3rem;
  letter-spacing: -.025em;
  line-height: 1.25;
}
.footer-identity .brand { gap: .7rem; }
.footer-identity .brand img {
  width: 62px;
  height: 62px;
  padding: 1px;
  border: 1px solid #c7a77580;
}
.footer-identity .brand strong { font-size: clamp(1rem, 1.6vw, 1.35rem); }
.footer-identity p {
  margin-block: .9rem 1.1rem;
  max-width: 30ch;
  color: #e0d5c8;
}
.footer-columns ul { padding: 0; margin: 0; list-style: none; }
.footer-socials { display: flex; flex-wrap: wrap; gap: .45rem; }
.footer-socials a, .footer-socials .social-decoration {
  display: grid;
  width: 44px;
  height: 44px;
  place-items: center;
  border: 1px solid #c7a7758c;
  border-radius: 50%;
  color: #e3bd7e;
}
.footer-socials a:hover {
  background: #e3bd7e;
  color: #1c1a18;
}
.footer-socials svg { width: 19px; height: 19px; }
.footer-nav a, .footer-contacts address a {
  display: flex;
  width: fit-content;
  align-items: center;
  min-height: 33px;
}
.atlantida-footer a:hover { text-decoration: underline; text-underline-offset: .22em; }
.footer-contacts address { font-style: normal; }
.footer-contacts address span { display: block; margin-block: .3rem; }
.footer-contacts address a { overflow-wrap: anywhere; }
.footer-hours p + p { margin-top: .75rem; color: #e0d5c8; }
.footer-messengers { margin-top: .2rem; }
.footer-messengers summary {
  width: fit-content;
  padding-block: .3rem;
  color: #e3bd7e;
  cursor: pointer;
}
.footer-messengers div { font-size: .89rem; }
.footer-messengers p { margin-top: .6rem; color: #e0d5c8; }
.footer-messengers a { display: inline-block; padding: .25rem .25rem .25rem 0; }

@media (max-width: 960px) {
  .footer-columns { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 580px) {
  .footer-banner .shell { align-items: flex-start; flex-direction: column; gap: 1rem; }
  .footer-columns { gap: 1.6rem 1.1rem; }
  .footer-identity { grid-column: 1 / -1; }
  .footer-hours { grid-column: 1 / -1; }
  .footer-nav a, .footer-contacts address a, .footer-messengers summary { min-height: 44px; }
}
