function initProUI() { // 1. Команда "Зачистка": убиваем всех клонов перед отрисовкой document.querySelectorAll('.pro-footer, #agreement-modal').forEach(el => el.remove()); // 2. Внедряем стили с абсолютным позиционированием const style = document.createElement('style'); style.innerHTML = ` /* Даем телу страницы отступ снизу, чтобы подвал не перекрывал текст */ body { position: relative !important; padding-bottom: 80px !important; min-height: 100vh !important; box-sizing: border-box !important; } /* Прибиваем подвал гвоздями к самому низу */ .pro-footer { position: absolute !important; bottom: 0 !important; left: 0 !important; width: 100% !important; background: #1a202c; color: #a0aec0; padding: 20px; text-align: center; font-size: 13px; border-top: 3px solid #0F172A; box-sizing: border-box; z-index: 100; } .pro-footer a { color: #0F172A; text-decoration: none; margin: 0 15px; transition: 0.2s; } .pro-footer a:hover { color: #63b3ed; } /* Стили модалки (без изменений) */ .modal-overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.6); z-index: 100000; justify-content: center; align-items: center; opacity: 0; transition: opacity 0.3s; } .modal-overlay.active { display: flex; opacity: 1; } .modal-box { background: white; width: 90%; max-width: 600px; max-height: 80vh; border-radius: 12px; display: flex; flex-direction: column; overflow: hidden; box-shadow: 0 10px 25px rgba(0,0,0,0.2); } .modal-header { background: #f7fafc; padding: 15px 20px; border-bottom: 1px solid #e2e8f0; display: flex; justify-content: space-between; align-items: center; font-weight: bold; font-size: 18px; color: #2d3748; } .close-btn { cursor: pointer; color: #a0aec0; font-size: 24px; line-height: 1; transition: 0.2s; } .close-btn:hover { color: #e53e3e; } .modal-content { padding: 20px; overflow-y: auto; font-size: 14px; color: #4a5568; line-height: 1.6; } `; document.head.appendChild(style); // 3. Добавляем HTML const currentYear = new Date().getFullYear(); const uiHTML = `
`; document.body.insertAdjacentHTML('beforeend', uiHTML); // 4. Оживляем модалку const modal = document.getElementById('agreement-modal'); const openBtn = document.getElementById('open-agreement'); const closeBtn = document.getElementById('close-agreement'); if (openBtn) openBtn.onclick = (e) => { e.preventDefault(); modal.classList.add('active'); }; if (closeBtn) closeBtn.onclick = () => modal.classList.remove('active'); if (modal) modal.onclick = (e) => { if (e.target === modal) modal.classList.remove('active'); }; } if (document.readyState === 'loading') { document.addEventListener('DOMContentLoaded', initProUI); } else { initProUI(); } // --- ПРИНУДИТЕЛЬНАЯ ИНЪЕКЦИЯ ДИЗАЙНА (Обход кэша) --- (function forcePremiumDesign() { // Если стиль еще не подключен if (!document.querySelector('link[href*="premium.css"]')) { const link = document.createElement('link'); link.rel = 'stylesheet'; // Добавляем метку времени, чтобы браузер всегда качал свежую версию link.href = '/premium.css?nocache=' + new Date().getTime(); document.head.appendChild(link); } })(); // --- ПРИНУДИТЕЛЬНАЯ ИНЪЕКЦИЯ ДИЗАЙНА (Обход кэша) --- (function forcePremiumDesign() { // Если стиль еще не подключен if (!document.querySelector('link[href*="premium.css"]')) { const link = document.createElement('link'); link.rel = 'stylesheet'; // Добавляем метку времени, чтобы браузер всегда качал свежую версию link.href = '/premium.css?nocache=' + new Date().getTime(); document.head.appendChild(link); } })();