@font-face {
  font-family: Manrope;
  src: url('../fonts/Manrope-Variable.woff2') format('woff2');
  font-style: normal;
  font-weight: 200 800;
  font-display: swap;
}

/* Shared footer: self-contained so legacy app screens can adopt it safely. */
.q-footer { background: #fff; color: #172b46; border-top: 1px solid #dce3ed; font-family: Manrope, 'Segoe UI', sans-serif; padding: 58px 0 0; }
.q-footer__container { width: min(1200px, calc(100% - 96px)); margin-inline: auto; }
.q-footer__main { display: grid; grid-template-columns: 1.45fr 1.15fr .8fr 1fr; gap: 56px; padding-bottom: 45px; }
.q-footer__logo { display: inline-flex; align-items: center; gap: 10px; color: #172b46; font-size: 17px; font-weight: 800; letter-spacing: -.035em; }
.q-footer__logo:hover { color: #172b46; }
.q-footer__logo img { width: 35px; height: 35px; object-fit: contain; }
.q-footer .q-footer__description { max-width: 240px; color: #172b46; font-size: 14px; line-height: 1.6; margin: 18px 0 12px; }
.q-footer .q-footer__registration { max-width: 220px; color: #52647a; font-size: 11px; line-height: 1.7; margin: 0; }
.q-footer__social { display: flex; gap: 19px; align-items: center; margin-top: 24px; }
.q-footer__social a { color: #52647a; font-size: 15px; }
.q-footer__social a:hover { color: #2458d3; }
.q-footer .q-footer__title { font: 650 13px/1.5 Manrope, 'Segoe UI', sans-serif; color: #172b46; letter-spacing: 0; margin: 8px 0 21px; }
.q-footer__column ul { display: flex; flex-direction: column; gap: 13px; list-style: none; padding: 0; margin: 0; }
.q-footer__column a, .q-footer__column button { padding: 0; background: transparent; border: 0; color: #52647a; font: 400 12px/1.6 Manrope, 'Segoe UI', sans-serif; text-align: left; text-decoration: none; cursor: pointer; }
.q-footer__column a:hover, .q-footer__column button:hover { color: #2458d3; text-decoration: underline; text-underline-offset: 4px; }
.q-footer__bottom { display: flex; align-items: center; justify-content: space-between; gap: 24px; padding: 23px 0; border-top: 1px solid #dce3ed; }
.q-footer__bottom p { margin: 0; color: #52647a; font-size: 10px; line-height: 1.6; }
.q-footer__languages { display: flex; gap: 15px; }
.q-footer__languages a { color: #52647a; font-size: 11px; }
.q-footer__languages [aria-current] { color: #172b46; text-decoration: underline; text-underline-offset: 5px; }
.q-footer :focus-visible { outline: 3px solid #2458d3; outline-offset: 5px; }
@media (max-width: 1050px) { .q-footer__main { gap: 35px; grid-template-columns: 1.1fr 1.1fr .8fr 1fr; } }
@media (max-width: 800px) {
  .q-footer__main { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 30px; }
  .q-footer__brand { grid-column: 1 / -1; }
  .q-footer__bottom { flex-wrap: wrap; }
  .q-footer__bottom p:nth-child(2) { order: 3; flex-basis: 100%; }
}
@media (max-width: 600px) {
  .q-footer { padding-top: 38px; }
  .q-footer__container { width: calc(100% - 40px); }
  .q-footer__main { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 30px; padding-bottom: 30px; }
  .q-footer__brand { grid-column: 1 / -1; }
  .q-footer__column:last-child { grid-column: 1 / -1; }
  .q-footer__column:last-child ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 30px; }
  .q-footer__bottom { gap: 16px; }
}
