/* Единственный визуальный контракт общего footer на всех активных страницах. */
.footer {
  padding-block: 80px calc(var(--capsule-h, 114px) + 40px);
  border-top: 1px solid rgba(216, 180, 132, .14);
  color: #e9dfcf;
  font-family: "Montserrat", system-ui, sans-serif;
}

.footer .wrap {
  max-width: 1320px;
  margin-inline: auto;
  padding-inline: var(--gutter, 40px);
}

.footer__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas:
    "brand contacts legal documents"
    "fine fine fine documents";
  gap: var(--gap-l, 44px);
  align-items: start;
}

.footer__grid > :nth-child(1) { grid-area: brand; }
.footer__grid > :nth-child(2) { grid-area: contacts; }
.footer__grid > :nth-child(3) { grid-area: legal; }
.footer__grid > :nth-child(4) { grid-area: documents; }
.footer__grid > * { min-width: 0; }

.footer__brand {
  margin-bottom: 20px;
  color: #f0e7d8;
  font: 300 26px/1.1 "Cormorant Garamond", Georgia, serif;
  letter-spacing: normal;
  text-transform: none;
}

.footer__label {
  margin-bottom: 18px;
  color: rgba(204, 168, 108, .75);
  font: 500 9.5px/1 "Golos Text", system-ui, sans-serif;
  letter-spacing: .28em;
  text-transform: uppercase;
}

.footer__links,
.footer__docs {
  display: flex;
  flex-direction: column;
}

.footer__links {
  gap: 10px;
  font: 400 14.5px/1.45 "Golos Text", system-ui, sans-serif;
}

.footer__docs {
  gap: 9px;
  font: 400 13.5px/1.55 "Golos Text", system-ui, sans-serif;
}

.footer__legal {
  color: rgba(233, 223, 207, .45);
  font: 400 13.5px/1.85 "Golos Text", system-ui, sans-serif;
}

.footer__fine {
  grid-area: fine;
  max-width: 860px;
  margin: 0;
  color: rgba(233, 223, 207, .28);
  font: 400 12px/1.7 "Golos Text", system-ui, sans-serif;
}

.footer__copy {
  color: rgba(233, 223, 207, .30);
  font: 400 11px/1.6 "Golos Text", system-ui, sans-serif;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.footer__links a,
.footer__docs a,
.footer__legal,
.footer__fine {
  overflow-wrap: anywhere;
}

.footer a {
  color: #d8b484;
  text-decoration: none;
  transition: color .25s;
}

.footer a:hover { color: #e4c090; }

@media (max-width: 1024px) {
  .footer__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "brand contacts"
      "legal documents"
      "fine fine";
  }
}

@media (max-width: 900px) {
  .footer .wrap { padding-inline: 24px; }
}

@media (max-width: 700px) {
  .footer__links { font-size: 15px; }
  .footer__docs,
  .footer__legal { font-size: 13.5px; }
}

@media (max-width: 600px) {
  .footer__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "brand"
      "contacts"
      "legal"
      "documents"
      "fine";
    gap: 32px;
  }
  .footer__fine { max-width: 34rem; }
}

@media (max-width: 560px) {
  .footer .wrap { padding-inline: 18px; }
}
