/* === Подвал главной (template/footer.php) и логотипы оплаты (template/footer_pay.php) ===
   Фон как у тёмных секций главной + треугольная геометрика (images/pattern*.png), золотая нить сверху */
.footer { position: relative; isolation: isolate; overflow: hidden; }
.footer::before { content: ''; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, #D4AF37 30%, #f0d98c 50%, #D4AF37 70%, transparent); opacity: .7; }
.footer-geo { position: absolute; inset: 0; z-index: -1; pointer-events: none; }
.footer-geo::before, .footer-geo::after { content: ''; position: absolute; top: 0; width: 387px; height: 100%; background: #9a9a9a; opacity: .13; }
.footer-geo::before { left: 0; -webkit-mask: url('/images/pattern.png') no-repeat 0 0 / 387px auto; mask: url('/images/pattern.png') no-repeat 0 0 / 387px auto; }
.footer-geo::after { right: 0; -webkit-mask: url('/images/pattern_r.png') no-repeat 100% 0 / 387px auto; mask: url('/images/pattern_r.png') no-repeat 100% 0 / 387px auto; }
.footer .footer-content { grid-template-columns: 1.3fr 3fr; }
.footer .footer-links { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.footer .footer-column h4 { color: #D4AF37; font-size: 13px; letter-spacing: .18em; text-transform: uppercase; display: flex; align-items: center; gap: 10px; }
.footer .footer-column h4::before { content: ''; width: 22px; height: 1px; background: linear-gradient(90deg, transparent, #D4AF37); }
.footer .footer-column ul li { padding-left: 0; }
.footer .footer-column ul li::before { display: none; }
.footer .footer-column ul li a { transition: color .2s, padding-left .2s; }
.footer .footer-column ul li a:hover { color: #f0d98c; padding-left: 4px; }
.footer-mail { display: inline-block; margin-top: 14px; color: rgba(255, 255, 255, .75); text-decoration: none; border-bottom: 1px solid rgba(212, 175, 55, .4); }
.footer-mail:hover { color: #f0d98c; }
.footer .footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 20px; flex-wrap: wrap; text-align: left; }
.footer .footer-bottom a { color: rgba(255, 255, 255, .6); }
.footer .footer-bottom a:hover { color: #f0d98c; }

.pay-badges { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.pay-badge { height: 29px; width: auto; display: block; border-radius: 4px; box-shadow: 0 2px 8px rgba(0, 0, 0, .25); }
.pay-badge--card { width: 46px; background: #fff; display: flex; align-items: center; justify-content: center; }
.pay-badge--card img { max-width: 36px; max-height: 17px; width: auto; height: auto; }

@media (max-width: 992px) {
    .footer .footer-content { grid-template-columns: 1fr; gap: 2.5rem; }
    .footer .footer-links { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
    .footer-geo::before, .footer-geo::after { width: 220px; -webkit-mask-size: 220px auto; mask-size: 220px auto; }
    .footer .footer-bottom { flex-direction: column; align-items: flex-start; }
}
