.footer { padding: 50px 0 24px; background: #202020; color: #fff; }
.footer__top { padding-bottom: 30px; border-bottom: 1px solid #3a3a3a; }
.footer__brand { display: flex; align-items: center; justify-content: space-between; gap: 40px; }
.footer__logo, .footer__logo .logo__link { flex: 0 0 auto; }
.footer__logo .logo__image { width: auto; max-width: 190px; }
.footer__description { max-width: 570px; margin: 0; color: #b9b9b9; font-size: 14px; line-height: 1.65; text-align: right; }
.footer__menu { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 46px; margin-top: 24px; }
.menu__group { min-width: 0; }
.menu__title { position: relative; margin-bottom: 18px; padding-bottom: 11px; color: #fff; font-size: 15px; font-weight: 700; letter-spacing: .05em; line-height: 1.3; text-transform: uppercase; }
.menu__title::after { content: ""; position: absolute; bottom: 0; left: 0; width: 38px; height: 2px; border-radius: 2px; background: var(--color-accent); }
.menu__list { margin: 0; padding: 0; list-style: none; }
.menu__list li { margin-bottom: 6px; }
.menu__list a { display: inline-block; padding: 4px 0; color: #b9b9b9; font-size: 13px; line-height: 1.5; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.menu__list a:hover, .menu__list a:focus-visible { color: var(--color-accent); transform: translateX(3px); }
.footer__trust { display: grid; grid-template-columns: minmax(230px, .75fr) minmax(0, 1.6fr); gap: 34px; align-items: center; margin-top: 38px; padding: 26px; border: 1px solid #3a3a3a; border-radius: 14px; background: #252525; }
.footer__trust-title { margin-bottom: 10px; font-size: 17px; font-weight: 700; line-height: 1.3; }
.footer__trust-copy p { margin: 0; color: #b9b9b9; font-size: 13px; line-height: 1.65; }
.footer__trust-copy a { color: #eca11f; font-weight: 700; text-decoration: none; }
.footer__trust-list { display: grid; grid-template-columns: 58px repeat(4, minmax(105px, 1fr)); gap: 10px; }
.footer__age, .footer__trust-link { display: flex; min-height: 56px; align-items: center; justify-content: center; padding: 8px 12px; border: 1px solid #ded7ca; border-radius: 10px; background: #f7f3eb; }
.footer__age img { width: 38px; height: 38px; object-fit: contain; }
.footer__age.footer__trust-item--dark, .footer__trust-link.footer__trust-item--dark { border-color: #4a4a4a; background: #181818; }
.footer__trust-link { transition: border-color .2s ease, transform .2s ease; }
.footer__trust-link:hover { border-color: var(--color-accent); transform: translateY(-2px); }
.footer__trust-link img { width: 100%; max-width: 135px; height: 30px; object-fit: contain; }
.footer__trust-link[href*="gamblingtherapy.org"] img { max-width: 120px; }
.footer__legal { display: flex; justify-content: space-between; gap: 24px; margin-top: 18px; padding-top: 16px; border-top: 1px solid #3a3a3a; color: #898989; }
.footer__legal p { margin: 0; color: inherit; font-size: 11px; line-height: 1.4; }
@media (max-width: 1040px) { .footer__trust { grid-template-columns: 1fr; } }
@media (max-width: 768px) {
    .footer { padding-top: 38px; }
    .footer__brand { align-items: flex-start; flex-direction: column; gap: 18px; }
    .footer__description { max-width: 620px; text-align: left; }
    .footer__menu { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px 40px; }
    .footer__trust-list { grid-template-columns: 58px repeat(2, minmax(100px, 1fr)); }
    .footer__legal { flex-direction: column; gap: 8px; }
}
@media (max-width: 480px) {
    .footer__menu { grid-template-columns: 1fr; gap: 26px; }
    .footer__trust { padding: 20px; }
    .footer__trust-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .footer__age { grid-column: 1 / -1; }
}
