#bvi-trigger { position: fixed; z-index: 100000; background: #0056b3; color: #fff; display: flex; align-items: center; cursor: pointer; transition: all 0.3s ease; border-radius: 8px; padding: 10px; width: 54px; height: 54px; box-shadow: 0 4px 12px rgba(0,0,0,0.3); overflow: hidden; box-sizing: border-box; }
#bvi-trigger:hover, #bvi-trigger:focus { width: 220px; background: #004494; outline: 3px solid #ffcc00; }
.bvi-trigger-text { opacity: 0; white-space: nowrap; margin-left: 12px; font-weight: bold; transition: opacity 0.2s; font-family: sans-serif; font-size: 15px; }
#bvi-trigger:hover .bvi-trigger-text, #bvi-trigger:focus .bvi-trigger-text { opacity: 1; }

.bvi-trigger-left-center { left: 0; top: 50%; transform: translateY(-50%); border-radius: 0 8px 8px 0 !important; }
.bvi-trigger-right-center { right: 0; top: 50%; transform: translateY(-50%); flex-direction: row-reverse; border-radius: 8px 0 0 8px !important; }
.bvi-trigger-left-top { left: 15px; top: 15px; }
.bvi-trigger-right-top { right: 15px; top: 15px; flex-direction: row-reverse; }

#bvi-side-panel { position: fixed; top: 0; width: 320px; height: 100%; background: #fff !important; z-index: 100001; transition: transform 0.4s; box-shadow: 0 0 25px rgba(0,0,0,0.2); padding: 0; overflow-y: auto; font-family: sans-serif; }
.bvi-side-right { right: 0; transform: translateX(100%); }
.bvi-side-left { left: 0; transform: translateX(-100%); }
#bvi-side-panel:not(.bvi-side-hidden) { transform: translateX(0); }
.bvi-side-hidden { display: none !important; }

.bvi-side-header { display: flex; justify-content: space-between; align-items: center; background: #0056b3 !important; color: #fff !important; padding: 18px 20px; font-size: 20px; font-weight: bold; }
#bvi-side-close { background: rgba(255,255,255,0.2) !important; border: none !important; font-size: 32px !important; cursor: pointer; color: #fff !important; line-height: 1; padding: 0 10px; border-radius: 4px; height: 36px; display: flex; align-items: center; }
#bvi-side-close:focus { outline: 2px solid #ffcc00; }

.bvi-side-content { padding: 20px; background: #fff !important; }
.bvi-sep { border: 0; border-top: 1px solid #eee !important; margin: 15px 0; }
.bvi-group label { display: block; font-size: 11px; margin-bottom: 8px; font-weight: bold; color: #888 !important; text-transform: uppercase; }

/* Кнопки панели - защита от тем сайта */
#bvi-side-panel .bvi-btn { border: 2px solid #333 !important; padding: 8px 14px !important; margin: 2px !important; cursor: pointer !important; font-weight: bold !important; border-radius: 4px !important; font-size: 14px !important; display: inline-block !important; background: #fff !important; color: #000 !important; }
#bvi-side-panel .bvi-btn.bvi-active-btn { background: #0056b3 !important; color: #fff !important; border-color: #0056b3 !important; }
#bvi-side-panel .bvi-btn:focus { outline: 3px solid #ffcc00; border-color: #000 !important; }

/* Принудительная раскраска цветовых кнопок */
#bvi-side-panel .bvi-c-w { background: #fff !important; color: #000 !important; border-color: #ccc !important; }
#bvi-side-panel .bvi-c-b { background: #000 !important; color: #fff !important; border-color: #fff !important; }
#bvi-side-panel .bvi-c-u { background: #9dd1ff !important; color: #063462 !important; border-color: #063462 !important; }

/* КЛАССЫ РЕЖИМА */
body.bvi-theme-black, body.bvi-theme-black #page { background-color: #000 !important; color: #fff !important; }
body.bvi-theme-black *:not(#bvi-side-panel):not(#bvi-side-panel *) { background-color: #000 !important; color: #fff !important; border-color: #fff !important; }
body.bvi-theme-blue, body.bvi-theme-blue #page { background-color: #9dd1ff !important; color: #063462 !important; }
body.bvi-theme-blue *:not(#bvi-side-panel):not(#bvi-side-panel *) { background-color: #9dd1ff !important; color: #063462 !important; border-color: #063462 !important; }

body.bvi-lh-mid, body.bvi-lh-mid * { line-height: 1.6 !important; }
body.bvi-lh-big, body.bvi-lh-big * { line-height: 2.0 !important; }
body.bvi-space-big, body.bvi-space-big * { letter-spacing: 3px !important; }

body.bvi-cursor-big, body.bvi-cursor-big * { cursor: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://w3.org' width='64' height='64' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' stroke='%23fff' stroke-width='1.5' d='M7,2L17,12L12,12L17,22L15,22L10,12L7,12L7,2Z'/%3E%3C/svg%3E"), auto !important; }
body.bvi-img-off img { visibility: hidden !important; height: 0 !important; }
body.bvi-anim-off * { transition: none !important; animation: none !important; }
.bvi-reset-all { width: 100%; padding: 12px; background: #fff !important; border: 2px solid #d00 !important; color: #d00 !important; cursor: pointer !important; margin-top: 20px; font-weight: bold !important; border-radius: 4px !important; }
