:host { display: block; width: 100%; margin-top: auto; } .app-footer { background: var(--text-primary, #1e3c38); color: #fff; } .app-footer__container { width: 100%; } .app-footer__top { display: grid; grid-template-columns: 2fr repeat(3, minmax(160px, 1fr)); gap: 1.5rem; padding-bottom: 1.5rem; border-bottom: 1px solid rgba(255, 255, 255, 0.15); } .app-footer__brand { display: grid; gap: 0.75rem; p { margin: 0; color: rgba(255, 255, 255, 0.8); line-height: 1.5; } } .app-footer__group { h4 { margin: 0 0 0.75rem; font-size: 0.95rem; color: #fff; } ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 0.5rem; } a { color: rgba(255, 255, 255, 0.8); text-decoration: none; &:hover { color: #fff; } } } .app-footer__payments { display: flex; gap: 0.5rem; flex-wrap: wrap; img { border-radius: 4px; background: #fff; padding: 2px 6px; } } .app-footer__bottom { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding-top: 1rem; padding-bottom: 0.5rem; p { margin: 0; color: rgba(255, 255, 255, 0.7); font-size: 0.85rem; } a { color: rgba(255, 255, 255, 0.85); text-decoration: none; font-size: 0.85rem; } } @media (max-width: 960px) { .app-footer__top { grid-template-columns: repeat(2, minmax(0, 1fr)); } } @media (max-width: 640px) { .app-footer__top { grid-template-columns: 1fr; } .app-footer__bottom { flex-direction: column; align-items: flex-start; } }