/* ArmCinema — стили страницы фильма (вынесены из шаблона uCoz) */

.add-material-fab {
 position: fixed;
 top: 120px; /* ↓ можно подвинуть вверх/вниз */
 right: 25px;
 width: 60px;
 height: 60px;
 background: #00bfff;
 color: #fff;
 border-radius: 50%;
 font-size: 32px;
 font-weight: bold;
 line-height: 60px;
 text-align: center;
 z-index: 99999;
 box-shadow: 0 4px 12px rgba(0,0,0,0.25);
 cursor: pointer;
 transition: 0.25s ease;
}
.add-material-fab:hover {
 background: #0098cc;
 transform: scale(1.08);
 text-decoration: none;
}

.movie-ratings {
 margin: 10px 0;
 font-size: 14px;
 color: #fff;
 background: linear-gradient(90deg, #111, #222);
 padding: 6px 12px;
 border-radius: 8px;
 display: inline-block;
}
.movie-ratings .rating {
 margin: 4px 0;
}
.movie-ratings .kp { color: #ff6600; } /* фирменный цвет Кинопоиска */
.movie-ratings .imdb { color: #f5c518; } /* фирменный цвет IMDb */

/* Контейнер */
.bookmark-wrapper {
 text-align: right;
 margin: 10px 15px 0 0;
}

/* Кнопка */
.bookmark-icon-btn {
 background: none;
 border: none;
 cursor: pointer;
 transition: transform 0.2s ease;
 padding: 5px;
}

/* SVG иконка */
.bookmark-icon {
 width: 30px;
 height: 30px;
 fill: #00aaff; /* синий по умолчанию */
 transition: fill 0.3s ease, transform 0.2s ease;
}

/* Наведение */
.bookmark-icon-btn:hover .bookmark-icon {
 fill: #33ccff;
 transform: scale(1.1);
}

/* Когда фильм в закладках */
.bookmark-icon.added {
 fill: #ffaa00; /* жёлтый активный цвет */
 animation: pop 0.3s ease; /* анимация */
}

/* Эффект "прыжка" */
@keyframes pop {
 0% { transform: scale(1); }
 40% { transform: scale(1.4); }
 70% { transform: scale(0.9); }
 100% { transform: scale(1); }
}

/* Уведомление снизу */
#bookmark-msg {
 position: fixed;
 bottom: 15px;
 right: 15px;
 background: rgba(0,0,0,0.85);
 color: #fff;
 padding: 8px 14px;
 border-radius: 6px;
 display: none;
 font-size: 13px;
 z-index: 9999;
}
#bookmark-msg.show {
 display: block;
 animation: fadeOut 2s forwards;
}
@keyframes fadeOut {
 0% {opacity: 1;}
 90% {opacity: 1;}
 100% {opacity: 0;}
}

.rp { margin: 10px 0 14px; font-size: 13px; color: #cfcfcf; }
.rp button.rp-open { padding: 7px 14px !important; margin: 0 !important; border: 1px solid #3a3a3a !important; border-radius: 999px !important; background: #1c1c1c !important; box-shadow: none !important; color: #b5b5b5 !important; font-size: 12.5px !important; font-weight: 600 !important; cursor: pointer; }
.rp button.rp-open:hover { border-color: #ff6600 !important; color: #ff8a3d !important; }
.rp-box { margin-top: 10px; padding: 14px 16px; border: 1px solid #2c2c2c; border-radius: 12px; background: #1a1a1a; }
.rp-t { margin-bottom: 8px; color: #fff; font-weight: 800; font-size: 14px; }
.rp-opts { display: grid; grid-template-columns: 1fr 1fr; gap: 6px; }
.rp-opts label { display: flex; align-items: center; gap: 8px; padding: 8px 10px; border: 1px solid #2f2f2f; border-radius: 10px; background: #202020; cursor: pointer; line-height: 1.3; }
.rp-opts label:has(input:checked) { border-color: #ff6600; background: rgba(255,102,0,.12); color: #fff; }
.rp-opts input { accent-color: #ff6600; margin: 0; }
.rp textarea { display: block; width: 100%; box-sizing: border-box; height: 60px; margin: 10px 0; padding: 8px 10px; border: 1px solid #333; border-radius: 10px; background: #111; color: #eee; font: inherit; resize: vertical; }
.rp-btns { display: flex; gap: 8px; }
.rp button.rp-send, .rp button.rp-cancel { height: 36px; padding: 0 18px !important; margin: 0 !important; border-radius: 999px !important; border: 0 !important; box-shadow: none !important; font-weight: 700 !important; font-size: 13px !important; cursor: pointer; }
.rp button.rp-send { background: #ff6600 !important; color: #fff !important; }
.rp button.rp-send:disabled { opacity: .45; cursor: default; }
.rp button.rp-cancel { background: #2a2a2a !important; color: #ccc !important; }
.rp-done { margin-top: 10px; padding: 10px 14px; border-radius: 10px; background: rgba(31,143,78,.15); border: 1px solid rgba(31,143,78,.5); color: #b9f0cf; }
@media (max-width: 768px) { .rp-opts { grid-template-columns: 1fr; } .rp button.rp-open { width: 100%; } }

.lk { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; margin: 14px 0; padding: 14px 16px; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; color: #ddd; font: 14px tahoma, Arial, sans-serif; }
.lk-q { font-weight: bold; color: #fff; }
.lk-btns { display: flex; gap: 8px; }
.lk button.lk-b, .lk button.lk-c { height: 38px; padding: 0 16px !important; margin: 0 !important; border-radius: 999px !important; border: 1px solid #444 !important; background: #2a2a2a !important; box-shadow: none !important; color: #eee !important; font: bold 14px tahoma, Arial, sans-serif !important; cursor: pointer; }
.lk button.lk-b.up:hover { background: #1f8f4e !important; border-color: #1f8f4e !important; }
.lk button.lk-b.down:hover { background: #b33a2b !important; border-color: #b33a2b !important; }
.lk button.lk-b.on { background: #ff6600 !important; border-color: #ff6600 !important; color: #fff !important; }
.lk-stat { margin-left: auto; color: #9a9a9a; font-size: 13px; }
.lk-stat b { color: #4ade80; }
.lk-thx { flex-basis: 100%; color: #cfcfcf; }
.lk button.lk-c { height: 32px; margin-left: 8px !important; border-color: #ff6600 !important; }
@media (max-width: 768px) { .lk-stat { margin-left: 0; flex-basis: 100%; } .lk-btns { flex: 1; } .lk button.lk-b { flex: 1; } }

.tgb { display: flex; align-items: center; gap: 16px; margin: 16px 0; padding: 16px 18px; border-radius: 14px; background: linear-gradient(135deg, #1b2a3a, #16202b); border: 1px solid #27415a; color: #dbe6f0; font: 14px tahoma, Arial, sans-serif; }
.tgb-ico { flex: 0 0 56px; height: 56px; border-radius: 50%; background: linear-gradient(135deg, #37aee2, #1e96c8); display: flex; align-items: center; justify-content: center; box-shadow: 0 4px 14px rgba(42,171,238,.35); }
.tgb-txt { flex: 1; min-width: 0; }
.tgb-t { font-size: 17px; font-weight: bold; color: #fff; margin-bottom: 4px; }
.tgb-d { line-height: 1.45; color: #b9c7d4; }
.tgb-tags { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.tgb-tags span { padding: 3px 10px; border-radius: 999px; background: rgba(42,171,238,.13); color: #8fd3f7; font-size: 12px; }
.tgb-act { flex: 0 0 auto; display: grid; grid-template-columns: auto auto; grid-template-rows: auto auto; align-items: center; column-gap: 14px; }
.tgb a.tgb-btn { grid-row: 1 / 3; display: inline-flex; align-items: center; height: 44px; padding: 0 22px; border-radius: 999px; background: #2aabee; color: #fff !important; font-weight: bold; font-size: 15px; text-decoration: none !important; white-space: nowrap; transition: background .2s; }
.tgb a.tgb-btn:hover { background: #229ed9; }
.tgb-qr { width: 92px; height: 92px; border-radius: 8px; background: #fff; padding: 4px; box-sizing: border-box; }
.tgb-qrt { font-size: 11px; color: #7f93a6; text-align: center; max-width: 92px; line-height: 1.2; margin-top: 4px; }
@media (max-width: 768px) {
 .tgb { flex-wrap: wrap; gap: 12px; padding: 14px; }
 .tgb-ico { flex-basis: 46px; height: 46px; }
 .tgb-ico svg { width: 24px; height: 24px; }
 .tgb-txt { flex-basis: calc(100% - 60px); }
 .tgb-t { font-size: 16px; }
 .tgb-act { flex-basis: 100%; display: block; }
 .tgb a.tgb-btn { display: flex; justify-content: center; width: 100%; box-sizing: border-box; }
 .tgb-qr, .tgb-qrt { display: none; } /* на телефоне QR не нужен — кнопка сразу открывает Telegram */
}

.sh { margin: 14px 0; padding: 16px; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; text-align: center; }
.sh-title { margin: 0 0 12px; color: #d8d8d8; font: bold 13px/1.4 tahoma, Arial, sans-serif; }
.sh button.sh-main {
 display: none; align-items: center; justify-content: center; gap: 8px; width: 100%; height: 46px; margin: 0 0 10px !important;
 padding: 0 !important; border: 0 !important; border-radius: 999px !important; box-shadow: none !important;
 background: linear-gradient(135deg, #FF8C00, #FF6600) !important; color: #fff !important; font: bold 15px tahoma, Arial, sans-serif !important; cursor: pointer;
}
.sh.native button.sh-main { display: flex; }
.sh-row { display: flex; flex-wrap: wrap; justify-content: center; gap: 8px; }
.sh .sh-btn, .sh a.sh-btn:link, .sh a.sh-btn:visited {
 display: inline-flex; align-items: center; justify-content: center; padding: 8px 14px !important; margin: 0 !important;
 border-radius: 999px !important; border: 1px solid #444 !important; background: #2a2a2a !important; box-shadow: none !important;
 color: #eee !important; font: 600 12px tahoma, Arial, sans-serif !important; text-decoration: none !important; cursor: pointer;
}
.sh a.sh-tg:hover { background: #229ED9 !important; border-color: #229ED9 !important; }
.sh a.sh-wa:hover { background: #25D366 !important; border-color: #25D366 !important; }
.sh a.sh-vk:hover { background: #0077FF !important; border-color: #0077FF !important; }
.sh a.sh-fb:hover { background: #1877F2 !important; border-color: #1877F2 !important; }
.sh .sh-copy:hover { background: #ff6600 !important; border-color: #ff6600 !important; }
@media (max-width: 768px) {
 .sh-row { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
 .sh .sh-copy { grid-column: 1 / -1; }
}

.rel { margin: 16px 0 10px; padding: 12px 12px 10px; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; text-align: left; }
.rel-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin: 0 2px 10px; }
.rel-label { display: flex; align-items: center; gap: 8px; color: #A9A49B; font: bold 11px/1 tahoma, Arial, sans-serif; letter-spacing: 3px; text-transform: uppercase; }
.rel-dot { width: 7px; height: 7px; border-radius: 50%; background: #FF7A1A; box-shadow: 0 0 8px #FF7A1A; }
.rel a.rel-all, .rel a.rel-all:link, .rel a.rel-all:visited { color: #ff8a2a !important; font: bold 12px tahoma, Arial, sans-serif; text-decoration: none !important; white-space: nowrap; }
.rel-src { display: none; }
.rel-wrap { position: relative; }
.rel-row { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scroll-behavior: smooth; padding: 4px 2px 6px; scrollbar-width: none; }
.rel-row::-webkit-scrollbar { display: none; }
.rel-row a.rel-item, .rel-row a.rel-item:link, .rel-row a.rel-item:visited { flex: 0 0 128px; scroll-snap-align: start; color: #ddd !important; text-decoration: none !important; }
.rel-pw { position: relative; display: block; padding-top: 150%; border-radius: 8px; overflow: hidden; background: #2a2a2a center / cover no-repeat; border: 1px solid #333; transition: transform .2s, border-color .2s; }
.rel-row a.rel-item:hover .rel-pw { transform: translateY(-3px); border-color: #ff6600; }
.rel-name { display: block; margin-top: 6px; font: 600 11px/1.3 tahoma, Arial, sans-serif; max-height: 2.6em; overflow: hidden; }
.rel button.rel-arrow {
 position: absolute; top: 34%; z-index: 2; width: 38px; height: 38px; padding: 0 !important; margin: 0 !important;
 border-radius: 50% !important; border: 1px solid #444 !important; background: rgba(20,20,22,.85) !important; box-shadow: 0 4px 12px rgba(0,0,0,.5) !important;
 color: #fff !important; font: bold 24px/34px Arial, sans-serif !important; cursor: pointer; opacity: 0; transition: opacity .2s, background .2s;
}
.rel-prev { left: -6px; } .rel-next { right: -6px; }
.rel-wrap:hover button.rel-arrow { opacity: 1; }
.rel button.rel-arrow:hover { background: #ff6600 !important; border-color: #ff6600 !important; }
.rel button.rel-arrow[disabled] { opacity: 0 !important; pointer-events: none; }
@media (max-width: 768px) {
 .rel-row a.rel-item, .rel-row a.rel-item:link, .rel-row a.rel-item:visited { flex-basis: 104px; }
 .rel button.rel-arrow { display: none !important; }
}

.fh { position: relative; overflow: visible; margin: 0 0 14px; border-radius: 14px; background: #141416; border: 1px solid #2c2c2c; }
.fh-clip { position: absolute; inset: 0; overflow: hidden; border-radius: 14px; }
.fh-bg { position: absolute; inset: -30px; background-size: cover; background-position: center; filter: blur(28px) brightness(.38) saturate(1.2); transform: scale(1.1); }
.fh-shade { position: absolute; inset: 0; background: linear-gradient(90deg, rgba(14,14,16,.92) 0%, rgba(14,14,16,.55) 60%, rgba(14,14,16,.35) 100%); }
.fh-in { position: relative; display: flex; gap: 22px; padding: 22px; }
.fh-poster { flex: 0 0 190px; }
.fh-poster img { display: block; width: 100% !important; height: auto !important; border-radius: 10px; border: 0 !important; box-shadow: 0 14px 34px rgba(0,0,0,.6); }
.fh-info { flex: 1 1 auto; min-width: 0; color: #d6d6d6; font: 13px/1.6 tahoma, Arial, sans-serif; }
.fh .fh-title { margin: 0 0 4px; padding: 0; font: bold 24px/1.25 tahoma, Arial, sans-serif; color: #fff; }
.fh-orig { margin: 0 0 12px; color: #9a9a9a; font-size: 13px; }
.fh-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; }
.fh-chip { padding: 4px 10px; border-radius: 999px; background: rgba(255,255,255,.08); border: 1px solid rgba(255,255,255,.12); color: #eee; font: 600 12px/1.3 tahoma, Arial, sans-serif; }
.fh-chip.age { border-color: #e0533f; color: #ff8f80; }
.fh-chip.kp b { color: #ff7a1a; } .fh-chip.imdb b { color: #f5c518; }
.fh-desc { margin: 0 0 16px; color: #c9c9c9; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.fh-actions { display: flex; flex-wrap: wrap; gap: 8px; }
.fh .fh-btn { display: inline-flex; align-items: center; gap: 8px; height: 42px; padding: 0 18px !important; margin: 0 !important; border-radius: 999px !important; border: 1px solid rgba(255,255,255,.18) !important; background: rgba(255,255,255,.08) !important; box-shadow: none !important; color: #fff !important; font: bold 14px tahoma, Arial, sans-serif !important; cursor: pointer; text-decoration: none !important; }
.fh .fh-btn:hover { background: rgba(255,255,255,.16) !important; }
.fh .fh-btn.play { border: 0 !important; background: linear-gradient(135deg, #FF8C00, #FF6600) !important; }
.fh .fh-btn.play:hover { filter: brightness(1.08); }
.fh .fh-btn.saved { color: #ffb347 !important; border-color: #ffb347 !important; }
/* скрываем старые элементы, которые теперь в шапке */
.fh-on .viewn_title, .fh-on .viewn_pict, .fh-on .viewn_line, .fh-on .bookmark-wrapper { display: none !important; }
.fh-on .viewn_right { margin-left: 0 !important; }
/* кнопки модератора uCoz — в правом верхнем углу шапки */
.fh-admin { position: absolute; top: 10px; right: 10px; z-index: 50; display: flex; gap: 4px; padding: 4px 6px; border-radius: 8px; background: rgba(0,0,0,.55); }
.fh-admin:empty { display: none; }
/* компьютер: плеер на всю ширину блока, без серой полосы справа */
@media (min-width: 769px) {
 .fh-on .box { background: none !important; border: 0 !important; }
 .fh-on .box iframe, .fh-on #kodik-player iframe { width: 100% !important; height: auto !important; aspect-ratio: 16 / 9; display: block; border: 0; box-sizing: border-box; }
}
@media (max-width: 768px) {
 .fh-in { flex-direction: column; align-items: center; gap: 14px; padding: 16px; text-align: center; }
 .fh-poster { flex-basis: auto; width: 150px; }
 .fh .fh-title { font-size: 19px; }
 .fh-chips, .fh-actions { justify-content: center; }
 .fh-shade { background: linear-gradient(180deg, rgba(14,14,16,.5) 0%, rgba(14,14,16,.92) 55%); }
 .fh .fh-btn { flex: 1 1 auto; justify-content: center; }
}

:root { --amb: 255,122,26; }
.fh { box-shadow: 0 0 70px rgba(var(--amb), .28); transition: box-shadow .6s; }
.fh-shade { background: linear-gradient(90deg, rgba(14,14,16,.93) 0%, rgba(14,14,16,.55) 55%, rgba(var(--amb), .22) 100%) !important; }
.sectiontable { position: relative; border-radius: 12px; box-shadow: 0 0 90px rgba(var(--amb), .22); transition: box-shadow .6s; }
.cin-bar { display: flex; justify-content: flex-end; margin: 0 0 8px; }
.cin-bar button.cin-btn {
 display: inline-flex; align-items: center; gap: 6px; height: 34px; padding: 0 14px !important; margin: 0 !important;
 border: 1px solid #444 !important; border-radius: 999px !important; background: #2a2a2a !important; box-shadow: none !important;
 color: #eee !important; font: bold 12px tahoma, Arial, sans-serif !important; cursor: pointer;
}
.cin-bar button.cin-btn:hover { border-color: rgb(var(--amb)) !important; }
.cin-overlay { position: fixed; inset: 0; z-index: 99990; background: rgba(0,0,0,.93); opacity: 0; pointer-events: none; transition: opacity .35s; }
body.cinema .cin-overlay { opacity: 1; pointer-events: auto; }
body.cinema .sectiontable { z-index: 99995; box-shadow: 0 0 140px rgba(var(--amb), .45); }
body.cinema .cin-bar { position: relative; z-index: 99995; }
body.cinema .to-top, body.cinema .ios-hint { display: none !important; }

.viewn_text a.act-link, .viewn_text a.act-link:link, .viewn_text a.act-link:visited { color: inherit !important; text-decoration: none !important; border-bottom: 1px dotted rgba(255,122,26,.7); }
.viewn_text a.act-link:hover { color: #ff8a2a !important; border-bottom-style: solid; }

/* панель с вкладками — «шапка» плеера, как одно целое с ним */
.pl-head { display: flex; align-items: center; gap: 8px; padding: 8px; margin: 0; background: #1c1c1c; border: 1px solid #2c2c2c; border-bottom: 0; border-radius: 12px 12px 0 0; }
.pl-head .cin-bar { margin: 0 0 0 auto !important; }
.pl-head .cin-bar button.cin-btn { height: 38px !important; border-radius: 8px !important; background: transparent !important; }
#multmult { background: none !important; padding: 0 !important; border: 0 !important; margin-top: 4px; }
#multmult ul.tabs { display: flex !important; flex-wrap: wrap; gap: 6px; margin: 0 !important; padding: 0 !important; list-style: none; background: none !important; border: 0 !important; height: auto !important; }
#multmult ul.tabs li { float: none !important; list-style: none; display: flex !important; align-items: center; justify-content: center; margin: 0 !important; padding: 0 16px !important; height: 38px !important; border-radius: 8px !important; border: 0 !important; background: #2c2c30 !important; box-shadow: none !important; color: #d6d6d6 !important; font: bold 14px/1 tahoma, Arial, sans-serif !important; text-align: center; cursor: pointer; white-space: nowrap; transition: background .15s; }
#multmult ul.tabs li:hover { background: #3a3a40 !important; color: #fff !important; }
#multmult ul.tabs li.current { background: linear-gradient(135deg, #FF8C00, #FF6600) !important; color: #fff !important; }
#multmult ul.tabs li.current::before { content: "▶"; font-size: 10px; margin-right: 6px; }
#multmult ul.tabs li.pl-off, #multmult .box.pl-off { display: none !important; }
#multmult .box { margin: 0 !important; border: 1px solid #2c2c2c !important; border-top: 0 !important; border-radius: 0 0 12px 12px; overflow: hidden; background: #000 !important; }
/* все плееры — без рамок браузера и на всю ширину (у нового плеера нет frameborder="0") */
#multmult .box iframe { display: block; width: 100% !important; max-width: 100% !important; border: 0 !important; margin: 0 !important; }
@media (max-width: 768px) { #multmult .box iframe { height: auto !important; aspect-ratio: 16 / 9; } }
@media (max-width: 768px) {
 .pl-head { flex-wrap: wrap; padding: 6px; }
 .pl-head .cin-bar { order: -1; flex-basis: 100%; justify-content: flex-end; }
 #multmult ul.tabs { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(96px, 1fr)); width: 100%; }
 #multmult ul.tabs li { padding: 0 6px !important; font-size: 13px !important; }
}

/* строка «Категория + звёзды» */
.viewn_detail_t { display: flex; align-items: center; justify-content: flex-start; gap: 12px; padding: 10px 14px !important; margin: 0 0 12px !important; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; color: #9a9a9a; font: 13px tahoma, Arial, sans-serif; }
.viewn_detail_t hr { display: none; }
.viewn_detail_t .right { order: 2; float: none !important; margin-left: auto; }
.viewn_detail_t > a, .viewn_detail_t > a:link, .viewn_detail_t > a:visited { display: inline-block; margin-left: 6px; padding: 3px 12px; border-radius: 999px; background: #2a2a2a; border: 1px solid #444; color: #eee !important; text-decoration: none !important; font-weight: bold; }
.viewn_detail_t > a:hover { border-color: #ff6600; }
.viewn_detail_t .right, .viewn_detail_t .right * { line-height: 0; }

.viewn_text > hr, .viewn_cont hr { border: 0 !important; height: 1px !important; background: #2c2c2c !important; margin: 14px 0 !important; }

/* карточка с данными */
.fi { margin: 0 0 14px; border-radius: 14px; background: #1c1c1c; border: 1px solid #2c2c2c; overflow: hidden; color: #d6d6d6; font: 14px/1.55 tahoma, Arial, sans-serif; text-align: left; }
.fi-grid { display: grid; grid-template-columns: 1fr 1fr; }
.fi-row { display: grid; grid-template-columns: 150px 1fr; gap: 10px; padding: 10px 16px; border-bottom: 1px solid #262626; }
.fi-row:nth-child(odd) { border-right: 1px solid #262626; }
.fi-row.wide { grid-column: 1 / -1; border-right: 0; }
.fi-l { color: #8a8a8a; font-size: 13px; }
.fi-v { color: #eee; min-width: 0; }
.fi-v a, .fi-v a:link, .fi-v a:visited { color: #eee !important; }
.fi-desc { padding: 16px; }
.fi-desc h3 { margin: 0 0 8px !important; padding: 0; color: #fff; font: bold 16px tahoma, Arial, sans-serif !important; border: 0 !important; background: none !important; }
.fi-desc p { margin: 0; color: #cfcfcf; font-size: 15px; line-height: 1.7; }
.fi-extra { padding: 0 16px 14px; }
@media (max-width: 768px) {
 .fi-grid { grid-template-columns: 1fr; }
 .fi-row { grid-template-columns: 120px 1fr; padding: 9px 14px; border-right: 0 !important; }
 .fi-desc p { font-size: 15px; }
 .viewn_detail_t { flex-wrap: nowrap; }
 .viewn_detail_t .right { zoom: .72; flex: 0 0 auto; } /* звёзды в одну строку с категорией */
}
@media (max-width: 420px) {
 .fi-row { grid-template-columns: 1fr; gap: 2px; }
}
/* телефон: без повторов — то, что уже есть в шапке фильма, здесь не показываем */
.fi-more { display: none; }
@media (max-width: 768px) {
 .fh-on .fi-row.fi-dup { display: none !important; }
 .fh-on .fh-desc { display: none !important; } /* в шапке — без отрывка, полное описание ниже */
 .fi-desc.clip p { display: -webkit-box; -webkit-line-clamp: 5; -webkit-box-orient: vertical; overflow: hidden; }
 .fi-desc.clip .fi-more { display: inline-block; }
 .fi button.fi-more { margin-top: 8px !important; padding: 6px 14px !important; border: 1px solid #444 !important; border-radius: 999px !important; background: #2a2a2a !important; box-shadow: none !important; color: #ff8a2a !important; font: bold 13px tahoma, Arial, sans-serif !important; cursor: pointer; }
}

/* список */
.ac-cm { margin: 0 0 12px; padding: 14px 16px; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; box-sizing: border-box; font-size: 14px; color: #d6d6d6; }
.ac-cm-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; padding-bottom: 10px; margin-bottom: 10px; border-bottom: 1px solid #262626; }
.ac-cm-author { display: flex; align-items: center; gap: 10px; min-width: 0; }
.ac-cm-ava, .ac-cm-ava img { width: 36px; height: 36px; border-radius: 50%; flex: 0 0 36px; object-fit: cover; }
.ac-cm-ini { display: flex; align-items: center; justify-content: center; overflow: hidden; background: linear-gradient(135deg, #ff8c00, #ff6600); color: #fff; font-weight: 800; font-size: 15px; }
.ac-cm-who { display: flex; flex-direction: column; line-height: 1.3; min-width: 0; }
.ac-cm-who b { color: #ff8a2a; font-size: 14px; }
.ac-cm-who a, .ac-cm-who a:link, .ac-cm-who a:visited { text-decoration: none !important; }
.ac-cm-date { color: #777; font-size: 11.5px; } .ac-cm-date a { color: #777 !important; }
.ac-cm-new { align-self: flex-start; margin-top: 2px; padding: 1px 7px; border-radius: 999px; background: rgba(74,222,128,.15); color: #4ade80; font-size: 10.5px; font-weight: 700; }
.ac-cm-rate { display: flex; align-items: center; gap: 6px; }
.ac-cm-rate img { display: none; }
.ac-vote { display: inline-flex; align-items: center; justify-content: center; width: 32px; height: 32px; border-radius: 50%; border: 1px solid #333; background: rgba(255,255,255,.05); text-decoration: none !important; font-size: 15px; transition: transform .15s, border-color .15s; }
a.ac-vote:hover { transform: scale(1.1); } a.ac-vote.up:hover { border-color: #4ade80; } a.ac-vote.down:hover { border-color: #f87171; }
.ac-vote.off { opacity: .35; }
.ac-rate-n { min-width: 18px; text-align: center; color: #4ade80; font-weight: 700; }
.ac-cm-text { color: #cfcfcf; line-height: 1.6; word-break: break-word; }
.ac-cm-answer { margin-top: 10px; padding: 10px 12px; border-left: 3px solid #ff6600; border-radius: 6px; background: #141416; color: #bbb; font-size: 13px; }
.ac-cm-foot { margin-top: 8px; text-align: right; } .ac-cm-foot a { color: #888 !important; font-size: 12.5px; text-decoration: none !important; }
.ac-cm-foot a:hover { color: #ff8a2a !important; }
/* форма */
.ac-cf { display: flex; flex-direction: column; gap: 12px; margin: 0 0 20px; padding: 18px; border-radius: 12px; background: #1c1c1c; border: 1px solid #2c2c2c; box-sizing: border-box; }
.ac-cf table, .ac-cf tbody, .ac-cf tr, .ac-cf td { display: block; width: 100%; border: 0 !important; padding: 0 !important; background: none !important; }
.ac-cf-err:empty { display: none; }
.ac-cf-err { padding: 10px 14px; border-left: 3px solid #ff4444; border-radius: 8px; background: rgba(255,68,68,.1); color: #ff6b6b; }
.ac-cf input[type="text"], .ac-cf textarea { display: block; width: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #333; border-radius: 12px; background: #141416; color: #eee; font: inherit; font-size: 14px; }
.ac-cf input:focus, .ac-cf textarea:focus { outline: none; border-color: #ff6600; box-shadow: 0 0 0 3px rgba(255,102,0,.15); }
.ac-cf .ac-cf-name { max-width: 240px; }
.ac-cf textarea { min-height: 100px; resize: vertical; line-height: 1.5; }
.ac-cf-hint { display: flex; justify-content: space-between; gap: 10px; margin-top: -6px; color: #777; font-size: 12px; }
.ac-cf-sub { color: #888; font-size: 13px; }
.ac-cf-foot { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; padding: 12px 14px; border-radius: 12px; background: #141416; border: 1px solid #2c2c2c; }
.ac-cf-code { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; color: #888; font-size: 13px; }
.ac-cf-code input[type="text"] { width: 110px !important; padding: 8px 10px; border-radius: 8px; }
.ac-cf-code img { border-radius: 4px; vertical-align: middle; }
.ac-cf input[type="submit"] { padding: 10px 26px; border: 0; border-radius: 999px; background: #ff6600; color: #fff; font-weight: 800; font-size: 14px; cursor: pointer; transition: background .15s; }
.ac-cf input[type="submit"]:hover { background: #ff7a1a; }
.ac-cf input[type="submit"]:disabled { opacity: .6; cursor: wait; }
@media (max-width: 768px) {
 .ac-cf { padding: 14px; }
 .ac-cf .ac-cf-name { max-width: none; }
 .ac-cf-foot { flex-direction: column; align-items: stretch; }
 .ac-cf input[type="submit"] { width: 100%; padding: 12px; }
}
.ac-cf input.ac-cf-name { height: auto !important; min-height: 0 !important; line-height: 1.4 !important; }