/*==============================================================
  0. ЦВЕТОВАЯ ИНТЕГРАЦИЯ С TWENTY TWENTY-FIVE (СИСТЕМНЫЕ ЦВЕТА)
==============================================================*/
:root {
    --bis-bg: var(--wp--preset--color--base);           /* Основной фон */
    --bis-txt: var(--wp--preset--color--contrast);      /* Основной текст */
    --bis-brd: color-mix(in srgb, var(--wp--preset--color--contrast), transparent 80%);
    --bis-bg-2: var(--wp--preset--color--base-2);       /* Фон блоков / Альтернативный светлый */
    --bis-bg-3: var(--wp--preset--color--base-3);       /* Третий уровень глубины фона */
    /* --- Текстовая иерархия --- */
    --bis-txt-secondary: var(--wp--preset--color--contrast-2); /* Вторичный текст */
    --bis-txt-tertiary: var(--wp--preset--color--contrast-3);  /* Слабый текст / Подписи */
    /* --- Полная палитра акцентов (Gutenberg/TT5) --- */
    --bis-accent-1: var(--wp--preset--color--accent);   /* Главный акцент (обычно Желтый) */
    --bis-accent-2: var(--wp--preset--color--accent-2);  /* Розовый */
    --bis-accent-3: var(--wp--preset--color--accent-3);  /* Пурпурный */
    --bis-accent-4: var(--wp--preset--color--accent-4);  /* Дополнительный (Синий/Голубой) */
    --bis-accent-5: var(--wp--preset--color--accent-5);  /* Дополнительный (Зеленый) */
    --bis-accent-6: var(--wp--preset--color--accent-6);  /* Дополнительный (Оранжевый/Красный) */
}

/*==============================================================
  1. ГАЛЕРЕЯ (Сетка 16:9 и Hover-эффекты)
==============================================================*/
.movie-gallery { display: grid; grid-template-columns: repeat(1, 1fr); gap: 20px; margin: 20px 0; }
@media (min-width: 600px) { .movie-gallery { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .movie-gallery { grid-template-columns: repeat(3, 1fr); } }
.movie-gallery a, .container-out-img { display: block; position: relative; overflow: hidden; border-radius: 10px; background-color: #000; line-height: 0; /*border: 1px solid var(--bis-brd);*/ -webkit-mask-image: -webkit-radial-gradient(white, black); isolation: isolate; }
.movie-gallery a img, .container-out-img img { width: 100%; aspect-ratio: 16 / 9; object-fit: cover; display: block; transform: translateZ(0) scale(1.001) rotate(0.02deg); will-change: transform; transition: transform 0.6s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.6s ease; backface-visibility: hidden; }
.movie-gallery a:hover img, .container-out-img:hover img { transform: scale(1.05) translateZ(0) rotate(0.02deg); opacity: 0.8; }
.movie-gallery a::after { content: ''; position: absolute; inset: 0; background: rgba(0, 0, 0, 0.3); opacity: 0; transition: opacity 0.4s ease; pointer-events: none; z-index: 2; }
.movie-gallery a:hover::after { opacity: 1; }

/*==============================================================
  2. АНИМАЦИИ (Fade-in, Reveal, Spin, Scale)
==============================================================*/
.rotating-image, .rotating-image-fast { display: inline-block; will-change: transform; }
.rotating-image { animation: spin 160s linear infinite; }
.rotating-image-fast { animation: spin 50s linear infinite; }
@keyframes spin { from { transform: rotate(0deg); } to { transform: rotate(360deg); } }

.fade-in-item, .reveal-entry { backface-visibility: hidden; transform-style: preserve-3d; will-change: opacity, transform; contain: layout style; opacity: 0; }
.fade-in-item.is-visible { animation: fadeInFrames 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards; animation-delay: var(--stagger-delay, 0s); }
.reveal-entry.is-activated { animation: revealFrames 0.7s cubic-bezier(0.16, 1, 0.3, 1) forwards; }
@keyframes fadeInFrames { 0% { opacity: 0; filter: blur(12px); transform: scale(0.99) translateZ(0); } 100% { opacity: 1; filter: blur(0); transform: scale(1) translateZ(0); } }
@keyframes revealFrames { 0% { opacity: 0; transform: translateX(-15px) translateZ(0); } 100% { opacity: 1; transform: translateX(0) translateZ(0); } }
.is-visible.breathing img, .is-activated.breathing img, .premium-glow-inner img { animation: zoomOnly 24s infinite ease-in-out; animation-play-state: var(--p-state, running); }
@keyframes zoomOnly { 0%, 100% { transform: scale(1) translateZ(0); } 50% { transform: scale(1.05) translateZ(0); } }
.premium-glow-wrapper { position: relative; z-index: 1; margin: 20px 0; border-radius: 10px; }
.premium-glow-wrapper::before { content: ''; position: absolute; inset: 8px; z-index: -1; border-radius: 10px; background: linear-gradient(45deg,#ffd700,#ff00ff,#00d4ff,#ff00ff,#ffd700,#00d4ff,#ffd700) 0 50%/300% 300%; filter: blur(25px); opacity: .6; animation: fluid 15s linear infinite; animation-play-state: var(--p-state, running); }
.premium-glow-inner { position: relative; z-index: 2; overflow: hidden; border-radius: 10px; background: #1a1a1a; border: 1px solid rgba(255,255,255,.1); display: block; line-height: 0; transform: translateZ(0); -webkit-mask-image: -webkit-radial-gradient(white, black); }
.custom-column-glow { position: relative; z-index: 1; padding: 25px; background: #1a1a1a; border: 1px solid rgba(255,255,255,0.08); border-radius: 12px; margin: 20px 0; }
.custom-column-glow::before { content: ''; position: absolute; inset: -2px; z-index: -1; border-radius: 13px; background: linear-gradient(45deg, #6366f1, #a855f7, #ec4899, #06b6d4, #6366f1) 0 50% / 400% 400%; filter: blur(35px); opacity: 0.15; animation: fluid-glow 20s ease-in-out infinite; animation-play-state: var(--p-state, running); }
.movie-trailer-container { min-height: 300px; position: relative; overflow: hidden; background-color: var(--bis-bg-2); }
.movie-trailer-video, .movie-trailer-poster { position: absolute; inset: 0; width: 100% !important; height: 100% !important; object-fit: cover; z-index: 0; --m: linear-gradient(to right, transparent, rgba(0,0,0,0.05) 2%, rgba(0,0,0,0.3) 8%, rgba(0,0,0,0.7) 16%, black 30%, black 70%, rgba(0,0,0,0.7) 84%, rgba(0,0,0,0.3) 92%, rgba(0,0,0,0.05) 98%, transparent), linear-gradient(to bottom, transparent, rgba(0,0,0,0.05) 2%, rgba(0,0,0,0.3) 8%, rgba(0,0,0,0.7) 16%, black 30%, black 70%, rgba(0,0,0,0.7) 84%, rgba(0,0,0,0.3) 92%, rgba(0,0,0,0.05) 98%, transparent); mask-image: var(--m); mask-composite: intersect; -webkit-mask-image: var(--m); -webkit-mask-composite: source-in; }
@keyframes fluid { 0%, 100% { background-position: 0 50% } 50% { background-position: 100% 50% } }
@keyframes fluid-glow { 0%, 100% { background-position: 0% 50% } 50% { background-position: 100% 50% } }
@media (max-width: 768px) {
    @keyframes fadeInFrames { 0% { opacity: 0; filter: none; transform: translateY(10px); } 100% { opacity: 1; filter: none; transform: translateY(0); } }
    .custom-column-glow::before, .premium-glow-wrapper::before, .is-visible.breathing img, .premium-glow-inner img { animation: none !important; }
    .custom-column-glow::before { filter: blur(15px); opacity: 0.1; background: #6366f1; }
}
.fade-in-item img, .reveal-entry img { backface-visibility: hidden; display: block; max-width: 100%; height: auto; }
tr.fade-in-item, tr.reveal-entry { display: table-row !important; }

/*==============================================================
  3. МЕНЮ И НАВИГАЦИЯ (Схлопывание шапки в бургер)
==============================================================*/
.wp-block-navigation .wp-block-navigation__submenu-container { background-color: var(--bis-bg) !important; border: 1px solid var(--bis-accent-6) !important; -webkit-border-radius: 10px; -moz-border-radius: 10px; border-radius: 10px; margin-top: 12px; padding: 8px 0; overflow: hidden; -webkit-box-shadow: 0 8px 25px color-mix(in srgb, var(--bis-accent-6), transparent 85%); box-shadow: 0 8px 25px color-mix(in srgb, var(--bis-accent-6), transparent 85%); }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:not(:last-child) { position: relative; }
.wp-block-navigation .wp-block-navigation__submenu-container .wp-block-navigation-item:not(:last-child)::after { content: ""; position: absolute; bottom: 0; left: 5%; width: 90%; height: 1px; background-color: var(--bis-accent-6); }
.wp-block-navigation-item.wp-block-navigation-link.has-small-font-size { color: var(--bis-txt) !important; }
.wp-block-navigation-item.wp-block-navigation-link.has-small-font-size:hover { background-color: var(--bis-bg-2) !important; color: var(--bis-accent-2) !important; }
.wp-block-navigation-item.has-child:after { content: ""; position: absolute; top: 100%; left: 0; width: 100%; height: 12px; }

@media (max-width:1024px){.wp-block-navigation__responsive-container:not(.is-menu-open):not(.has-modal-open){display:none!important;}
.wp-block-navigation__responsive-container-open{display:flex!important;border:none!important;border-radius:0;}}
@media (min-width:1025px){.wp-block-navigation{display:flex!important;background:none!important;border:none!important;border-radius:0!important;padding:0!important;backdrop-filter:none!important;}}
.wp-block-navigation .wp-block-navigation-item a:hover{color:var(--bis-txt)!important;opacity:0.7;}

/*==============================================================
  4. ЗАЩИТА КОНТЕНТА И СИСТЕМНЫЕ КЛАССЫ
==============================================================*/
body:not(.admin-bar){-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;}
body:not(.admin-bar) img{pointer-events:none;-webkit-user-drag:none;}
input,textarea,[contenteditable="true"]{-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;user-select:text;}
.lock-msg{padding:10px 0!important;margin:5px 0!important;text-align:center!important;color:color-mix(in srgb,var(--bis-txt) 80%,transparent)!important;font-size:13px!important;text-transform:uppercase;letter-spacing:0.05em;}
.lock-msg .lock-link{color:color-mix(in srgb,var(--bis-txt) 80%,transparent)!important;font-weight:inherit!important;text-decoration:underline!important;text-transform:inherit!important;letter-spacing:inherit!important;transition:color 0.2s ease-in-out;}
.lock-msg .lock-link:hover{text-decoration:none!important;color:var(--bis-txt)!important;}
.pop-count{display:inline-block;white-space:nowrap;color:var(--bis-accent-2);margin-left:4px;}
:focus:not(:focus-visible){outline:none!important;-webkit-box-shadow:none!important;box-shadow:none!important;}
:focus-visible{outline:2px solid var(--bis-txt)!important;outline-offset:3px;}
*{-webkit-tap-highlight-color:transparent;}
/*
.pop-list {
    list-style: none;
    padding: 0;
    margin: 0;
}*/

/*==============================================================
  5. ВИДЕОПЛЕЕР (MediaElement.js - Ultra Design)
==============================================================*/
.video-wrap .wp-video,.video-wrap .mejs-container{width:100%!important;height:auto!important;min-height:150px;background:var(--bis-bg)!important;border-radius:10px!important;overflow:hidden!important;-webkit-mask-image:-webkit-radial-gradient(white,black);mask-image:-webkit-radial-gradient(white,black)}
.video-wrap video{width:100%!important;height:auto!important;display:block!important;position:static!important;object-fit:contain!important;z-index:1}
.video-wrap .mejs-poster{position:absolute!important;top:0;left:0;right:0;bottom:0;width:100%!important;height:100%!important;z-index:2!important;background-color:transparent!important;background-size:cover;background-position:center;background-repeat:no-repeat;border-radius:0!important}
.video-wrap .mejs-poster img{display:block;width:100%!important;height:100%!important;object-fit:cover!important}
.video-wrap .mejs-inner{position:static!important}
.video-wrap .mejs-mediaelement{position:relative!important}
.video-wrap .mejs-overlay-play,.video-wrap .mejs-controls{z-index:10!important}
.video-wrap .mejs-controls{background:var(--bis-bg)!important}
.video-wrap .mejs-button>button,.video-wrap .mejs-time{color:var(--bis-txt)!important}
.mejs-container.mejs-video.mejs-playing .mejs-poster{display:none!important}
.video-wrap .mejs-overlay-button{border-radius:50%!important;animation:bisSimplePulse 2s infinite!important;transition:transform .3s ease,opacity .3s ease!important}
.video-wrap .mejs-overlay-play:hover .mejs-overlay-button{transform:scale(1.1)!important;opacity:1!important;filter:brightness(1.2)}
@keyframes bisSimplePulse{0%{box-shadow:0 0 0 0 var(--bis-txt)}70%{box-shadow:0 0 0 15px rgba(0,0,0,0)}100%{box-shadow:0 0 0 0 rgba(0,0,0,0)}}
.video-wrap .mejs-controls .mejs-button button{transition:transform .2s ease,opacity .2s ease,filter .2s ease!important;cursor:pointer}
.video-wrap .mejs-controls .mejs-button:hover button{transform:scale(1.15)!important;filter:brightness(1.3);opacity:1!important}
.video-wrap .mejs-controls .mejs-button:active button{transform:scale(.9)!important}
.video-wrap .mejs-overlay-button:active{transform:scale(.95)!important;animation:none!important}
@media (max-width:768px){.video-wrap .wp-video,.video-wrap .mejs-container{min-height:100px!important}.video-wrap .mejs-overlay-button{width:50px!important;height:50px!important;background-size:20px!important}.video-wrap .mejs-controls{padding:0 5px!important}.video-wrap .mejs-controls .mejs-button button{transform:scale(1.1)}}
@media (max-width:480px){.video-wrap .wp-video,.video-wrap .mejs-container{min-height:80px!important;border-radius:8px!important}}

/*==============================================================
  6. FSLIGHTBOX (Просмотр изображений из галереи)
==============================================================*/
.fslightbox-container { background-color: var(--bis-bg) !important; opacity: 0.98; backdrop-filter: blur(8px); }
.fslightbox-source { background-color: var(--bis-bg) !important; border-radius: 10px !important; box-shadow: 0 20px 50px rgba(0,0,0,0.5) !important; animation: fslightbox-appearance 0.6s ease-out !important; }
.fslightbox-slide-btn { background: var(--bis-brd) !important; border: 2px solid var(--bis-txt) !important; border-radius: 50% !important; opacity: 0.4; transition: all 0.3s ease !important; top: 50% !important; transform: translateY(-50%) !important; box-shadow: 0 0 10px rgba(0,0,0,0.2); }
.fslightbox-slide-btn path { fill: var(--bis-txt) !important; }
.fslightbox-slide-btn:hover { opacity: 1; background: var(--bis-txt) !important; transform: translateY(-50%) scale(1.1) !important; }
.fslightbox-slide-btn:hover path { fill: var(--bis-bg) !important; }
.fslightbox-toolbar-button { opacity: 0.6; transition: all 0.3s ease !important; }
.fslightbox-toolbar-button path { fill: var(--bis-txt) !important; }
.fslightbox-toolbar-button:hover { opacity: 1 !important; }
.fslightbox-toolbar-button:first-child { background: rgba(231,76,60,0.2) !important; border-radius: 0 0 0 15px !important; }
.fslightbox-toolbar-button:first-child:hover { background: #e74c3c !important; }
.fslightbox-toolbar-button:first-child:hover path { fill: #fff !important; }
.fslightbox-toolbar-button:nth-child(2) { background: rgba(52, 152, 219, 0.2) !important; }
.fslightbox-toolbar-button:nth-child(2):hover { background: #3498db !important; }
.fslightbox-toolbar-button:nth-child(2) path { fill: #3498db !important; }
.fslightbox-toolbar-button:nth-child(2):hover path { fill: #fff !important; }
@keyframes fslightbox-appearance { from { opacity: 0; filter: blur(10px); transform: scale(0.9); } to { opacity: 1; filter: blur(0); transform: scale(1); } }
@media (max-width: 768px) {
  .fslightbox-slide-btn-container { display: none !important; }
  .fslightbox-source { border-radius: 5px !important; }
  .fslightbox-toolbar { top: 15px !important; right: 15px !important; display: flex !important; gap: 10px !important; }
  .fslightbox-toolbar-button { border-radius: 10px !important; width: 45px !important; height: 45px !important; }
}

/*==============================================================
  8. СИСТЕМНЫЕ
==============================================================*/
/*Перенос всех длинных меток*/
.wp-block-post-terms a {white-space: normal !important; }
/* Скругление рамки для строки и её сжимание по длине текста */
p.text-pill { display: inline-block !important; width: auto !important; border-radius: 9999px !important; }
.wp-block-paragraph.text-pill { display: inline-block !important; width: auto !important; border-radius: 9999px !important; }
/* Стилизация только для счётчика стандартных категорий/рубрик/разделов/меток и шорткодов */
.wp-block-categories-list .cat-count, .all-tags-list .tag-count, .all-terms-list .cat-count { color: var(--bis-accent-2) !important; font-size: 0.85em !important; font-weight: bold !important; white-space: nowrap !important; }
.wp-block-categories-list li a, .all-terms-list a { color: var(--bis-txt) !important; font-size: inherit !important; margin-right: 2px !important; display: inline !important; }
.all-tags-list .tag-item a, .all-tags-list a { color: var(--bis-txt) !important; font-size: inherit !important; margin-right: 2px !important; display: inline !important; }
.all-tags-list .tag-item, .all-terms-list .term-item { display: inline-block !important; white-space: nowrap !important; }
.wp-block-categories-list li { display: list-item !important; white-space: normal !important; }
.all-terms-list, .all-tags-list { word-wrap: break-word !important; word-break: normal !important; }
