/* Подвал клиентского сайта (fragments/site-footer.html). Подключается самим фрагментом,
   цвета — токены brand.css («Тёплый стол») с запасными значениями. */
.site-footer.df {
  margin-top: 3rem; width: 100%; box-sizing: border-box;
  /* !important — style.css красит любой footer в тёмный с !important (старые подвалы страниц). */
  background: var(--brand-soft, #f0eae0) !important; color: var(--brand-charcoal, #29251f) !important;
  border-top: 1px solid var(--brand-line, #e5dfd4) !important;
  font-size: .875rem; line-height: 1.5;
}
.df *, .df *::before, .df *::after { box-sizing: border-box; }
.df-inner {
  max-width: 80rem; margin: 0 auto; padding: 2.5rem 1.5rem 2rem;
  display: grid; grid-template-columns: minmax(260px, 1.3fr) repeat(3, minmax(0, 1fr)); gap: 2rem 2.5rem;
}
.df-logo img { display: block; width: 180px; height: auto; }
.df-tagline { margin: .75rem 0 1.25rem; max-width: 30ch; color: var(--brand-muted, #6d655a); }
.df-col { display: flex; flex-direction: column; align-items: flex-start; gap: .55rem; }
.df-col h2 { margin: 0 0 .35rem; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--brand-charcoal, #29251f); }
.df-col a, .df-bottom a { color: var(--brand-muted, #6d655a); text-decoration: none; }
.df-col a:hover, .df-bottom a:hover { color: var(--brand-green-strong, #245b37); text-decoration: underline; text-underline-offset: 3px; }
.df a:focus-visible { outline: 2px solid var(--brand-green, #34784a); outline-offset: 2px; border-radius: 4px; }

.df-apps { display: flex; flex-wrap: wrap; gap: .75rem; }
.df .store-chip {
  display: inline-flex; align-items: center; gap: .6rem; padding: .3rem .8rem .3rem .3rem;
  border: 1px solid var(--brand-line, #e5dfd4); border-radius: .75rem; background: #fff;
  color: var(--brand-charcoal, #29251f); text-decoration: none; line-height: 1.15;
}
.df a.store-chip:hover { border-color: var(--brand-green, #34784a); text-decoration: none; }
.df .store-chip-qr { width: 88px; height: 88px; display: block; flex-shrink: 0; padding: 4px; border-radius: .6rem; background: #fff; }
.df .store-chip-text { display: flex; flex-direction: column; }
.df .store-chip-hint { font-size: .72rem; color: var(--brand-muted, #6d655a); }
.df .store-chip-name { font-size: .95rem; font-weight: 700; color: var(--brand-charcoal, #29251f); }

.df-bottom {
  max-width: 80rem; margin: 0 auto; padding: 1rem 1.5rem 1.5rem;
  display: flex; flex-wrap: wrap; align-items: center; gap: .35rem 1.5rem;
  border-top: 1px solid var(--brand-line, #e5dfd4);
  font-size: .78rem; color: var(--brand-muted, #6d655a);
}
.df-bottom p { margin: 0; }
.df-role { flex: 1 1 24rem; }
.df-social { font-weight: 800; }

@media (max-width: 1023px) {
  .df-inner { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .df-brand { grid-column: 1 / -1; }
}
@media (max-width: 767px) {
  .site-footer.df { margin-top: 2rem; }
  .df-inner { grid-template-columns: 1fr 1fr; gap: 1.75rem 1.25rem; padding: 2rem 1rem 1.5rem; }
  .df-col:last-child { grid-column: 1 / -1; }
  .df-bottom { padding: 1rem 1rem calc(1.25rem + env(safe-area-inset-bottom)); }
  /* На телефоне QR не нужен (сканировать нечем) — остаются текстовые плашки. */
  .df .store-chip { padding: .5rem .85rem; }
  .df .store-chip-qr { display: none; }
}
