/* ==========================================================================
   Footer — trust strip, newsletter, link columns, legal bar, back-to-top.
   Markup: js/components/footer.js
   ========================================================================== */

site-footer { display: block; }

/* ---------- Trust strip ---------- */
.trust-strip { background: #fff; border-top: 1px solid var(--border); }
.trust-strip__inner { display: grid; gap: 14px; padding-block: 22px; font-size: .8125rem; color: var(--muted); }
@media (min-width: 640px) { .trust-strip__inner { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1100px) { .trust-strip__inner { grid-template-columns: repeat(4, 1fr); } }
.trust-strip__inner > span { display: flex; align-items: center; gap: 10px; }
.trust-strip .icon { font-size: 1.4rem; color: var(--primary); }

/* ---------- Footer ---------- */
.footer { background: var(--footer); color: #d9d9d9; font-size: .8125rem; }
.footer a { color: #d9d9d9; }
.footer a:hover { color: #fff; }

.footer__news { border-bottom: 1px solid #5a5b5b; }
.footer__news-inner { display: grid; gap: 16px; padding-block: 28px; align-items: center; }
@media (min-width: 900px) { .footer__news-inner { grid-template-columns: 1fr minmax(340px, 400px); gap: 32px; } }
.footer__news-title { margin: 0 0 4px; color: #fff; font-size: 1.125rem; }
.footer__news p { margin: 0; }
.footer__news-form { display: grid; grid-template-columns: 1fr auto; align-items: start; }
.footer__news-form .input { border: 1px solid #ddd; border-right: 0; }
.footer__news-form .field-error { color: #fca5a5; }
.footer__news-form .form-status { grid-column: 1 / -1; margin-top: 8px; }

.footer__main { display: grid; gap: 32px; padding-block: 44px 40px; }
@media (min-width: 640px) { .footer__main { grid-template-columns: 1fr 1fr; } }
@media (min-width: 1024px) { .footer__main { grid-template-columns: 1.3fr 1.2fr 1fr 1fr; gap: 40px; } }

.footer__brand img { width: 200px; margin-bottom: 20px; }
.footer__address { margin-bottom: 14px; line-height: 1.6; }
.footer__phones { color: #fff; line-height: 1.75; }
.footer__phones a { color: #fff; }
.footer__social { display: flex; gap: 8px; list-style: none; margin-top: 16px; }
.footer__social a { display: grid; place-items: center; width: 34px; height: 34px; border: 1px solid #6b6c6c; }
.footer__social a:hover { background: #fff; color: var(--footer); }
.footer__social svg { width: 16px; height: 16px; }

.footer__title { margin: 0 0 14px; padding-bottom: 8px; border-bottom: 1px solid #5a5b5b; font-size: .875rem; color: #fff; }
.footer__links { list-style: none; display: grid; gap: 9px; }

.footer__legal { border-top: 1px solid #5a5b5b; }
.footer__legal-inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 6px 24px; padding-block: 18px; }
.footer__legal p { margin: 0; }
.footer__legal ul { display: flex; flex-wrap: wrap; gap: 20px; list-style: none; }
.footer__tm { width: 100%; color: #a3a3a3; font-size: .75rem; }

/* ---------- Back to top ---------- */
.to-top {
  position: fixed;
  right: 20px; bottom: 20px;
  z-index: 90;
  display: grid;
  place-items: center;
  width: 44px; height: 44px;
  border: 0;
  background: var(--primary);
  color: #fff;
  opacity: 0;
  visibility: hidden;
  transition: opacity .2s, visibility .2s;
}
.to-top.is-visible { opacity: 1; visibility: visible; }
.to-top:hover { background: var(--primary-dark); }
