{
  "html": "<footer class='footer'><div class='footer__glow footer__glow--1'></div><div class='footer__glow footer__glow--2'></div><div class='footer__shine'></div><div class='footer__inner'><p class='footer__copy'><span class='footer__dot'></span>© 2026 Секс-шоп «Пульс»</p><nav class='footer__nav'><a href='/policy' class='footer__link'>Политика конфиденциальности</a><a href='/rules' class='footer__link'>Правила магазина</a></nav></div></footer>",
  "css": ".footer { position: relative; overflow: hidden; background: #f0f6ff; border-top: 1px solid #dbeafe; } .footer .footer__inner { position: relative; z-index: 2; } .footer .footer__glow { position: absolute; border-radius: 50%; pointer-events: none; filter: blur(40px); opacity: 0.55; z-index: 1; } .footer .footer__glow--1 { width: 320px; height: 320px; top: -120px; left: -80px; background: radial-gradient(circle, #60a5fa 0%, rgba(96, 165, 250, 0) 70%); animation: footer-drift-1 14s ease-in-out infinite; } .footer .footer__glow--2 { width: 280px; height: 280px; bottom: -120px; right: -60px; background: radial-gradient(circle, #3b82f6 0%, rgba(59, 130, 246, 0) 70%); animation: footer-drift-2 16s ease-in-out infinite; animation-delay: 0.2s; } .footer .footer__shine { position: absolute; inset: 0; z-index: 1; pointer-events: none; background: linear-gradient(115deg, transparent 30%, rgba(255, 255, 255, 0.75) 50%, transparent 70%); transform: translateX(-100%); animation: footer-shine 6s ease-in-out infinite; } .footer .footer__dot { display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: #2563eb; vertical-align: middle; animation: footer-pulse 1.8s ease-in-out infinite; } .footer .footer__link { position: relative; } .footer .footer__link::after { content: ''; position: absolute; left: 0; bottom: -3px; width: 100%; height: 2px; background: linear-gradient(90deg, #60a5fa, #2563eb); transform: scaleX(0); transform-origin: left; transition: transform 0.3s ease; } .footer .footer__link:hover::after { transform: scaleX(1); } @keyframes footer-drift-1 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(60px, 40px) scale(1.25); } } @keyframes footer-drift-2 { 0%, 100% { transform: translate(0, 0) scale(1); } 50% { transform: translate(-50px, -30px) scale(1.2); } } @keyframes footer-shine { 0% { transform: translateX(-100%); } 60%, 100% { transform: translateX(100%); } } @keyframes footer-pulse { 0%, 100% { transform: scale(1); opacity: 1; } 50% { transform: scale(1.5); opacity: 0.6; } }"
}