/* ========================================
   ВЕРСИЯ ДЛЯ СЛАБОВИДЯЩИХ (БАЗА)
   ======================================== */
body.vz-enabled { font-size: 16px !important; line-height: 1.7 !important; background: #fff !important; color: #000 !important; }
body.vz-enabled * { font-family: 'PT Sans', Arial, sans-serif !important; letter-spacing: normal !important; }
body.vz-enabled .top-banner, body.vz-enabled .second-nav, body.vz-enabled .left-sidebar, body.vz-enabled .footer { background: none !important; }
body.vz-enabled .top-banner { background: #1a5e1a !important; border-bottom: 2px solid #000 !important; }
body.vz-enabled .second-nav { background: #f5f5f5 !important; border-bottom: 1px solid #999 !important; }
body.vz-enabled .left-sidebar { background: #f0f0f0 !important; border-right: 2px solid #000 !important; }
body.vz-enabled .footer { background: #1a5e1a !important; border-top: 2px solid #000 !important; }
body.vz-enabled a { text-decoration: underline !important; color: #0055aa !important; border: none !important; }
body.vz-enabled a:hover, body.vz-enabled a:focus { color: #000 !important; background: #ffff00 !important; outline: 2px solid #000 !important; }
body.vz-enabled .top-banner a, body.vz-enabled .footer a { color: #fff !important; }
body.vz-enabled .top-banner a:hover, body.vz-enabled .footer a:hover { background: rgba(255,255,255,0.2) !important; color: #fff !important; }
body.vz-enabled .site-title { color: #fff !important; text-shadow: none !important; font-size: 20px !important; }
body.vz-enabled .center-content h1, body.vz-enabled .center-content h2 { color: #000 !important; border-bottom: 2px solid #000 !important; font-size: 22px !important; text-transform: none !important; }
body.vz-enabled .center-content h3 { color: #000 !important; font-size: 18px !important; }
body.vz-enabled .left-sidebar .module-title, body.vz-enabled .left-sidebar .moduletable h3 { background: #333 !important; color: #fff !important; text-shadow: none !important; border-bottom: 2px solid #000 !important; font-size: 16px !important; text-transform: none !important; }
body.vz-enabled .left-sidebar ul.nav.menu > li { border-bottom: 1px solid #999 !important; }
body.vz-enabled .left-sidebar ul.nav.menu > li > a { color: #000 !important; font-size: 15px !important; text-decoration: underline !important; border-left: 3px solid #333 !important; padding: 8px 12px !important; }
body.vz-enabled .left-sidebar ul.nav.menu ul { background: #e8e8e8 !important; }
body.vz-enabled .left-sidebar ul.nav.menu ul li a { color: #000 !important; font-size: 14px !important; }
body.vz-enabled .left-sidebar ul.nav.menu li.parent > a::after { display: none !important; }
body.vz-enabled table thead th { background: #333 !important; color: #fff !important; border: 2px solid #000 !important; font-size: 14px !important; text-shadow: none !important; text-transform: none !important; }
body.vz-enabled table tbody td { border: 1px solid #999 !important; font-size: 14px !important; color: #000 !important; }
body.vz-enabled table { border: 2px solid #000 !important; }
body.vz-enabled .btn { background: #e0e0e0 !important; border: 2px solid #000 !important; color: #000 !important; text-shadow: none !important; border-radius: 2px !important; font-size: 14px !important; text-transform: none !important; }
body.vz-enabled input[type="text"], body.vz-enabled input[type="search"], body.vz-enabled input[type="password"], body.vz-enabled textarea, body.vz-enabled select, body.vz-enabled .form-control { border: 2px solid #000 !important; font-size: 16px !important; padding: 8px 10px !important; background: #fff !important; color: #000 !important; }
body.vz-enabled input:focus, body.vz-enabled textarea:focus { outline: 3px solid #0055aa !important; box-shadow: none !important; }

/* РАЗМЕРЫ ШРИФТА */
body.vz-enabled.vz-font-medium { font-size: 16px !important; }
body.vz-enabled.vz-font-large { font-size: 20px !important; }
body.vz-enabled.vz-font-xlarge { font-size: 24px !important; }

/* МЕЖСТРОЧНЫЙ ИНТЕРВАЛ */
body.vz-enabled.vz-lh-normal * { line-height: 1.4 !important; }
body.vz-enabled.vz-lh-medium * { line-height: 1.7 !important; }
body.vz-enabled.vz-lh-large * { line-height: 2.0 !important; }

/* ========================================
   ТЁМНАЯ СХЕМА
   ======================================== */
body.vz-enabled.vz-theme-dark { background: #000 !important; color: #fff !important; }
body.vz-enabled.vz-theme-dark .center-content { background: #000 !important; }
body.vz-enabled.vz-theme-dark .center-content p, body.vz-enabled.vz-theme-dark .center-content td { color: #fff !important; }
body.vz-enabled.vz-theme-dark .center-content h1, body.vz-enabled.vz-theme-dark .center-content h2, body.vz-enabled.vz-theme-dark .center-content h3 { color: #fff !important; border-bottom-color: #fff !important; }
body.vz-enabled.vz-theme-dark a { color: #ffcc00 !important; }
body.vz-enabled.vz-theme-dark .top-banner { background: #222 !important; border-bottom-color: #fff !important; }
body.vz-enabled.vz-theme-dark .second-nav { background: #111 !important; border-bottom-color: #666 !important; }
body.vz-enabled.vz-theme-dark .left-sidebar { background: #111 !important; border-right-color: #fff !important; }
body.vz-enabled.vz-theme-dark .left-sidebar .module-title { background: #333 !important; color: #fff !important; border-bottom-color: #fff !important; }
body.vz-enabled.vz-theme-dark .left-sidebar ul.nav.menu > li > a { color: #fff !important; border-left-color: #fff !important; }
body.vz-enabled.vz-theme-dark .left-sidebar ul.nav.menu ul { background: #1a1a1a !important; }
body.vz-enabled.vz-theme-dark .left-sidebar ul.nav.menu ul li a { color: #fff !important; }
body.vz-enabled.vz-theme-dark .right-sidebar { background: #000 !important; border-left-color: #fff !important; }
body.vz-enabled.vz-theme-dark .right-sidebar .module-title { color: #fff !important; border-bottom-color: #fff !important; }
body.vz-enabled.vz-theme-dark .info-block { background: #111 !important; border-color: #444 !important; color: #fff !important; }
body.vz-enabled.vz-theme-dark table { border-color: #fff !important; }
body.vz-enabled.vz-theme-dark table thead th { background: #444 !important; color: #fff !important; border-color: #fff !important; }
body.vz-enabled.vz-theme-dark table tbody td { border-color: #555 !important; color: #fff !important; }
body.vz-enabled.vz-theme-dark .btn { background: #333 !important; border-color: #fff !important; color: #fff !important; }
body.vz-enabled.vz-theme-dark input, body.vz-enabled.vz-theme-dark textarea, body.vz-enabled.vz-theme-dark select { background: #111 !important; border-color: #fff !important; color: #fff !important; }
body.vz-enabled.vz-theme-dark .footer { background: #222 !important; border-top-color: #fff !important; color: #ccc !important; }
body.vz-enabled.vz-theme-dark .footer a { color: #ffcc00 !important; }

/* ========================================
   СИНЯЯ СХЕМА
   ======================================== */
body.vz-enabled.vz-theme-blue { background: #001f3f !important; color: #fff !important; }
body.vz-enabled.vz-theme-blue .center-content { background: #001f3f !important; }
body.vz-enabled.vz-theme-blue .center-content p, body.vz-enabled.vz-theme-blue .center-content td { color: #fff !important; }
body.vz-enabled.vz-theme-blue .center-content h1, body.vz-enabled.vz-theme-blue .center-content h2, body.vz-enabled.vz-theme-blue .center-content h3 { color: #ffd700 !important; border-bottom-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue a { color: #7fdbff !important; }
body.vz-enabled.vz-theme-blue .top-banner { background: #001020 !important; border-bottom-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .site-title { color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .second-nav { background: #001530 !important; border-bottom-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .left-sidebar { background: #001530 !important; border-right-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .left-sidebar .module-title { background: #002040 !important; color: #ffd700 !important; border-bottom-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .left-sidebar ul.nav.menu > li > a { color: #fff !important; border-left-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .left-sidebar ul.nav.menu ul { background: #001a35 !important; }
body.vz-enabled.vz-theme-blue .right-sidebar { background: #001f3f !important; border-left-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue .right-sidebar .module-title { color: #ffd700 !important; border-bottom-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue table { border-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue table thead th { background: #003060 !important; color: #ffd700 !important; border-color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue table tbody td { border-color: #004080 !important; color: #fff !important; }
body.vz-enabled.vz-theme-blue .btn { background: #003060 !important; border-color: #ffd700 !important; color: #ffd700 !important; }
body.vz-enabled.vz-theme-blue input, body.vz-enabled.vz-theme-blue textarea, body.vz-enabled.vz-theme-blue select { background: #001530 !important; border-color: #ffd700 !important; color: #fff !important; }
body.vz-enabled.vz-theme-blue .footer { background: #001020 !important; border-top-color: #ffd700 !important; color: #aaccee !important; }
body.vz-enabled.vz-theme-blue .footer a { color: #ffd700 !important; }

/* ========================================
   ЭЛЕМЕНТЫ ПАНЕЛИ НАСТРОЕК (ЗАЩИТА ОТ ТЕМ)
   ======================================== */
body:not(.vz-enabled) .vz-settings-link { display: none; }
.vz-settings-link { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.4); border-radius: 3px; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; text-decoration: none; }
.vz-settings-link:hover { background: rgba(255,255,255,0.35); color: #fff; text-decoration: none; }
.vz-toggle-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 10px; background: rgba(255,255,255,0.2); border: 1px solid rgba(255,255,255,0.4); border-radius: 3px; color: #fff; font-size: 11px; font-weight: 700; cursor: pointer; text-transform: uppercase; text-decoration: none; }
.vz-toggle-btn:hover { background: rgba(255,255,255,0.35); color: #fff; text-decoration: none; }
.vz-toggle-btn.active { background: rgba(255,204,0,0.3); border-color: rgba(255,204,0,0.6); }
.vz-toggle-btn svg { width: 16px; height: 16px; fill: currentColor; }

/* Модальное окно настроек (всегда читаемое) */
.vz-panel { display: none; position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 100000; background: rgba(0,0,0,0.6); font-family: 'PT Sans', Arial, sans-serif; }
.vz-panel.vz-panel-open { display: flex; align-items: flex-start; justify-content: center; padding-top: 60px; }
.vz-panel-inner { background: #fff !important; color: #000 !important; border: 2px solid #1a5e1a; border-radius: 6px; padding: 25px 30px; max-width: 520px; width: 90%; box-shadow: 0 8px 30px rgba(0,0,0,0.3); position: relative; }
.vz-panel-title { font-family: 'PT Sans Narrow', Arial, sans-serif; font-size: 18px; font-weight: 700; color: #1a5e1a !important; text-transform: uppercase; margin-bottom: 20px; padding-bottom: 10px; border-bottom: 2px solid #3a8c3a; }
.vz-panel-close { position: absolute; top: 12px; right: 15px; background: none; border: none; font-size: 22px; color: #999; cursor: pointer; }
.vz-panel-close:hover { color: #c00; }
.vz-section { margin-bottom: 18px; }
.vz-section-label { font-size: 13px; font-weight: 700; color: #333 !important; margin-bottom: 8px; }
.vz-btn-group { display: flex; gap: 6px; flex-wrap: wrap; }
.vz-btn { padding: 6px 14px; border: 2px solid #ccc; border-radius: 3px; background: #f5f5f5; font-size: 13px; font-weight: 700; color: #333 !important; cursor: pointer; min-width: 44px; text-align: center; }
.vz-btn:hover { border-color: #1a5e1a; background: #edf7e8; }
.vz-btn.active { border-color: #1a5e1a; background: #1a5e1a; color: #fff !important; }
.vz-color-btn { display: inline-flex; align-items: center; gap: 6px; padding: 6px 12px; border: 2px solid #ccc; border-radius: 3px; background: #f5f5f5; font-size: 12px; font-weight: 700; color: #333 !important; cursor: pointer; }
.vz-color-btn:hover { border-color: #1a5e1a; }
.vz-color-btn.active { border-color: #1a5e1a; background: #e8f5e1; }
.vz-color-swatch { display: inline-block; width: 22px; height: 22px; border: 1px solid #999; border-radius: 2px; }
.vz-color-swatch.swatch-white { background: #fff; }
.vz-color-swatch.swatch-dark { background: #000; }
.vz-color-swatch.swatch-blue { background: #001f3f; }
.vz-actions { display: flex; gap: 8px; margin-top: 20px; padding-top: 15px; border-top: 1px solid #ddd; }