/* BASIC LAYOUT
----------------------------------------------- */

body {
    position: relative;
}

.wrapper {
    min-width: 320px;
    overflow: hidden;
    overflow: clip;
}

.wrapper__container {
    max-width: var(--max-width);
    margin: 0 auto;
    position: relative;
    z-index: 20;
}

.wrapper__container--main {
    background-color: var(--bg-darker);
    box-shadow: var(--bsh-long);
}

.header {
    padding: 0 var(--indent);
    position: sticky;
    z-index: 100;
    left: 0;
    top: 0;
    background-color: var(--bg);
    box-shadow: var(--bsh-block);
}

.header-is-sticky .header {
    translate: 0 -200%;
}

.carou {
    background-color: var(--bg-blackest);
    margin: 0 var(--indent-negative);
    padding: 20px var(--indent);
}

.content>.carou {
    margin-top: -20px;
    margin-bottom: 20px;
}

.carou--lastviewed {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

.content {
    padding: 20px var(--indent);
    min-height: 100vh;
}

.footer {
    padding: 40px var(--indent);
    padding-bottom: 20px;
    background-color: var(--bg-black);
    color: var(--tt-fade);
    --tt: #fff;
    --tt-fade: #ccc;
    --bdc: rgba(255, 255, 255, 0.2);
}

.footer__two {
    border-top: 1px solid var(--bdc);
    padding-top: 20px;
    margin-top: 40px;
}

.content:has(.descr),
.content:has(.page__related),
.content:has(.carou--lastviewed) {
    padding-bottom: 0;
}

.wrapper::before,
.wrapper::after {
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    height: 500px;
    background: url(../images/bg.jpg) center center / 1400px auto no-repeat;
    content: '';
    filter: grayscale(0.66);
    --left: calc((100vw - 1340px)/2);
    --right: calc((100vw - 1340px)/2 + 1300px);
    mask-image: linear-gradient(to right, transparent 0%, transparent var(--left), #000 calc(var(--left) + 160px), #000 calc(var(--right) - 160px), transparent var(--right), transparent 100%);
}

.wrapper::after {
    background: linear-gradient(to top, #111 0%, transparent 300px);
    z-index: 1;
    mask-image: none;
}

.has-branding {
    padding-top: 200px;
}

.scrolltop {
    position: fixed;
    width: 40px;
    height: 40px;
    right: 10px;
    bottom: 10px;
    padding: 0;
    z-index: 990;
    border-radius: 4px;
    font-size: 18px;
    opacity: 0;
    scale: 0 0;
}

.scrolltop.is-active {
    scale: 1 1;
    opacity: 1;
}

.overlay {
    position: fixed;
    z-index: 998;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    opacity: 0.8;
    background-color: #1d1924;
    cursor: pointer;
    display: none;
}


/* HEADER, TOPMENU, CAROU
----------------------------------------------- */

.logo {
    display: flex;
    align-items: center;
    font-family: 'Righteous-Regular';
    font-weight: 400;
    color: var(--tt);
    padding-left: 50px;
    text-transform: uppercase;
    position: relative;
    font-size: 24px;
    height: 40px;
    letter-spacing: 1px;
}

.logo::before {
    content: '';
    width: 40px;
    height: 40px;
    position: absolute;
    left: 0;
    top: 50%;
    background: url(../images/logo.svg) 0 center / contain no-repeat;
    translate: 0 -50%;
}

.lt .header__logo {
    --tt: #000;
}

.logo:has(img) {
    background: none;
    min-width: 200px;
}

.logo:has(img)::before {
    display: none;
}

.logo img {
    display: block;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    max-height: 100%;
}

.header__theme-select {
    color: var(--yellow);
}

.dt .header__theme-select::before {
    content: "\f755";
}

.header__btn-login {
    height: 34px;
    padding: 0 20px;
}

.header__btns {
    padding-left: 30px;
}

.header__btn1 {
    height: 30px;
    font-size: 12px;
}

.header__ava {
    width: 40px;
    cursor: pointer;
}

.header__btn1 span {
    position: absolute;
    right: -5px;
    top: -10px;
    padding: 2px 3px;
    font-size: 10px;
    border-radius: 2px;
    background-color: var(--accent);
    color: #fff;
    display: inline-block;
    text-align: center;
    min-width: 20px;
    line-height: 1;
}

.header__menu {
    margin: 0 30px;
}

.header__menu li {
    position: relative;
}

.header__menu>li>a {
    display: flex;
    align-items: center;
    height: 70px;
    text-transform: uppercase;
    font-size: 16px;
    font-weight: 700;
    opacity: 0.6;
    font-family: 'Oswald', sans-serif;
}

.header__menu-hidden {
    background-color: var(--bg);
    border-top: 3px solid var(--accent);
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
    position: absolute;
    left: 0;
    top: 99%;
    width: 240px;
    z-index: 10;
    padding: 20px 26px;
    display: grid;
    gap: 6px 26px;
    opacity: 0;
    visibility: hidden;
    translate: 0 30px;
}

div.header__menu-hidden {
    grid-template-columns: repeat(3, 1fr);
    width: 660px;
}

.header__menu-hidden-col {
    display: grid;
    gap: 6px;
}

.header__menu-hidden li:not(:has(a)) {
    font-weight: 500;
}

.header__menu-hidden a {
    opacity: 0.8;
}

.header .header__menu li:has(.header__menu-hidden)::before {
    content: '';
    position: absolute;
    left: 50%;
    bottom: 0%;
    border: 6px solid transparent;
    border-bottom-color: var(--accent);
    margin-left: -6px;
}

.search-block {
    position: relative;
}

.search-block__input,
.search-block__input:focus {
    padding: 0 40px 0 10px;
    border: 0;
    box-shadow: none;
    height: 34px;
    line-height: 34px;
    box-shadow: inset 0 0 0 1px #e3e3e3, inset 1px 2px 5px rgba(0, 0, 0, 0.2);
}

.search-block__input:not(:focus)::placeholder {
    color: var(--tt);
    opacity: 0.66;
    font-size: 12px;
}

.search-block__btn {
    position: absolute;
    right: 0;
    top: 0;
    height: 34px;
    font-size: 16px;
    width: 40px;
    color: var(--accent);
}


/* SECTION
----------------------------------------------- */

.sect:not(:last-child) {
    margin-bottom: 20px;
}

.sect__header {
    margin-bottom: 20px;
}

.sect__title {
    font-size: 18px;
    font-weight: 500;
    text-transform: none;
}

.sect__title :is(h1, h2, h3) {
    font-size: inherit;
}

.sect__header:has(.sect__tabs) {
    margin-bottom: 10px;
}

.sect__tabs button {
    background: none;
    color: var(--tt);
    text-transform: none;
    font-weight: 400;
}

.sect__tabs button.is-active {
    background-color: var(--bg);
    color: var(--tt);
}

.carou__caption {
    color: #fff;
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}

.carou--lastviewed:not(:has(.item)) {
    display: none;
}

.speedbar {
    color: var(--tt-fade);
    font-size: 12px;
    padding: 10px 0;
    margin-top: -20px;
}

.speedbar a {
    color: var(--tt);
}

.descr {
    color: var(--tt-fade-0);
    display: grid;
    gap: 10px;
    background-color: var(--bg-darker-1);
    padding: 20px var(--indent);
    margin: 0 var(--indent-negative);
}

.descr :is(h1, h2, h3) {
    font-size: 18px;
    font-weight: 500;
    color: var(--tt);
}

.descr a {
    text-decoration: underline;
    color: var(--accent);
}

.descr ul li {
    position: relative;
    padding-left: 25px;
    margin-left: 25px;
}

.descr ul li::before {
    content: "\f00c";
    color: var(--accent);
    position: absolute;
    left: 0;
    top: 0;
}


/* ITEM CAROUSEL, SHORTSTORY
----------------------------------------------- */

.item__img {
    box-shadow: var(--bsh);
    overflow: hidden;
}

.item__label {
    font-size: 12px;
    padding: 3px 12px;
    border-radius: 3px;
    font-weight: 500;
    background-color: var(--accent);
    color: #fff;
    position: absolute;
    left: 10px;
    top: 10px;
    z-index: 1;
}

.item__desc {
    position: absolute;
    inset: 0;
    z-index: 3;
    color: #fff;
    --tt: #fff;
    --bdc: rgba(255, 255, 255, 0.3);
    text-align: center;
    padding: 10px;
}

.item__title {
    font-weight: 500;
    font-size: 15px;
    margin-bottom: 5px;
}

.item__year {
    opacity: 0.8;
    font-size: 12px;
}

.item__rates {
    line-height: 1;
    border-top: 1px solid var(--bdc);
    padding-top: 10px;
    margin-top: 10px;
}

.item__rates-item::before {
    content: attr(data-text);
    display: inline;
    margin-right: 5px;
    text-transform: uppercase;
    font-weight: 500;
}

.item__rates-item.kp::before {
    color: #f60;
}

.item__rates-item.imdb::before {
    color: #fc0;
}

.item__rates-item.red {
    color: #ff5032;
}

.item__rates-item.normal {
    color: #fd9b27;
}

.item__rates-item.green {
    color: #64c80a;
    font-weight: 600;
}

.item__btn-info {
    cursor: pointer;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 5;
    border-radius: 0;
    translate: 0 -100%;
    opacity: 0;
}

.item__rates:not(:has(.item__rates-item:nth-child(2))) {
    justify-content: center;
}


/* TRAILER, POPUP DESC
----------------------------------------------- */

.trl {
    background-color: rgba(0, 0, 0, 0.9);
    position: fixed;
    z-index: 990;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    backdrop-filter: blur(10px);
}

.trl__close {
    position: absolute;
    right: 20px;
    top: 20px;
    font-size: 40px;
    color: #fff;
}

.trl__inner {
    width: 100%;
    max-width: 700px;
    margin: 0 auto;
    color: #fff;
    padding: 80px 20px 20px 20px;
}

.trl__btn {
    height: 40px;
    padding: 0 40px;
    margin: 15px 0;
    width: 100%;
}

.trl h1 {
    margin-bottom: 15px;
    margin-top: 20px;
    font-size: 24px;
}

.trl .page__text,
.trl .full-text {
    color: #ccc;
    margin: 0px;
    padding: 0;
    background: none;
}

.trl-is-opened {
    overflow: hidden;
}

.th-active {
    z-index: 100;
}

.th-text {
    display: none;
    background-color: var(--bg);
    border-left: 3px solid var(--accent);
    cursor: auto;
    padding: 20px;
    text-align: left;
    position: absolute;
    z-index: 1000;
    width: 460px;
    box-shadow: var(--bsh-long);
    min-height: 100px;
    font-size: 12px;
}

.pop-left .th-text {
    border-left: 0;
    border-right: 3px solid var(--accent);
}

.th-text-loader {
    text-align: center;
    font-size: 18px;
    color: var(--accent);
    padding-top: 20px;
}

.th-text .not-shown-ajax,
.th-text h1 a,
.th-text h1 small {
    display: none;
}

.th-text h1 {
    font-size: 18px;
}

.th-text .full-text {
    display: -webkit-box;
    -webkit-line-clamp: 6;
    line-clamp: 6;
    -webkit-box-orient: vertical;
    overflow: hidden;
    margin: 15px 0;
}

.th-text .page__btn-trailer {
    width: 100%;
    margin-top: 20px;
}


/* FOOTER, PAGINATION
----------------------------------------------- */

.footer__notify {
    border-left: 1px solid var(--bdc);
    padding-left: 20px;
}

.footer__copyright {
    font-size: 14px;
}

.footer__menu {
    font-size: 16px;
    font-weight: 700;
    text-transform: uppercase;
    font-family: 'Oswald', sans-serif;
    ;
}

.pagination {
    gap: 20px 10px;
    padding-top: 10px;
}

.pagination__pages a,
.pagination__pages span,
.pagination>a,
.pagination>span {
    display: grid;
    place-items: center;
    color: var(--tt-fade);
    height: 36px;
    min-width: 36px;
    padding: 0 10px;
    border-radius: 3px;
    background-color: var(--bg);
}

.pagination__pages {
    gap: 10px;
    font-size: 14px;
}

.pagination__pages span:not(.nav_ext) {
    color: #fff;
    background: var(--accent);
}

.pagination__btns {
    height: 36px;
    border-radius: 4px;
    overflow: hidden;
    background-color: var(--bg);
    box-shadow: var(--bsh);
}

.pagination__btns>* {
    width: 40px;
    display: grid;
    place-items: center;
    color: var(--accent);
    font-size: 18px;
}

.pagination__btns>span {
    color: var(--tt-fade);
}

.pagination__btn-loader:has(span:not(.fal)) {
    display: none;
}

.pagination__btn-loader a {
    min-width: 360px;
}


/* INNER PAGE
----------------------------------------------- */

.page__bg {
    box-shadow: var(--bsh-block);
    background-color: var(--bg);
    margin: 0 var(--indent-negative);
}

.page__cols {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
}

.page__cols:not(:has(.page__cols-right)) {
    display: block;
}

.page__cols-left {
    padding: 20px;
    padding-bottom: 0;
}

.page__cols-right {
    background-color: var(--bg-darker-1);
    padding: 20px;
}

.page__main {
    display: grid;
    gap: 15px 20px;
    grid-template-columns: 200px minmax(0, 1fr);
    grid-template-areas: "poster header" "poster info";
    grid-template-rows: auto 1fr;
    margin-bottom: 25px;
}

.page__poster {
    grid-area: poster;
    border-radius: 6px;
    overflow: hidden;
    align-self: start;
    box-shadow: 0 0 0 1px #ccc, 2px 3px 3px 0 rgba(0, 0, 0, 0.1);
}

.page__header {
    grid-area: header;
}

.page__info {
    grid-area: info;
}

.page__img::after {
    opacity: 0.5;
    height: 33%;
}

.page__rating-ext {
    position: relative;
    z-index: 10;
    font-size: 12px;
}

.page__rating-ext a {
    display: flex;
    align-items: center;
    padding: 0 10px;
    font-weight: 500;
    gap: 10px;
    height: 40px;
}

.page__rating-ext a .fal {
    display: grid;
    place-items: center;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 16px;
    color: #fff;
    background-color: var(--green);
}

.page__rating-ext a+a .fal {
    background-color: var(--red);
}

.page__ratingscore-ring {
    width: 50px;
    font-weight: 500;
    font-size: 16px;
    background-color: var(--bg);
    color: var(--tt);
    box-shadow: var(--bsh);
    position: absolute;
    left: 50%;
    top: 0;
    translate: -50% -50%;
    isolation: isolate;
}

.page__ratingscore-ring::before {
    content: '';
    position: absolute;
    z-index: -2;
    inset: 0;
    border-radius: 50%;
    background: conic-gradient(from 0deg, #FDC830 0%, #F37335 var(--p), var(--bg-darker-1) var(--p));
}

.page__ratingscore-ring::after {
    content: '';
    position: absolute;
    z-index: -1;
    background-color: var(--bg);
    inset: 3px;
    border-radius: 50%;
}

.page__header h1 {
    font-size: 20px;
    font-weight: 500;
}

.page__header h1 a {
    font-size: 12px;
    margin-left: 10px;
}

.page__text .full-text {
    color: #888;
    line-height: 1.4;
}

.page__text {
    margin-bottom: 20px;
}

.js-hide-text {
    max-height: 160px;
    overflow: auto;
}

.show-text {
    position: absolute;
    z-index: 2;
    left: 0;
    bottom: 0px;
    width: 100%;
    height: 34px;
    font-size: 12px;
    box-shadow: 0 0 0 1px #ccc, 2px 3px 3px 0 rgba(0, 0, 0, 0.1);
    background-color: var(--bg);
    color: var(--tt);
}

.js-hide-text[style]::before {
    content: '';
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
    height: 60%;
    background: linear-gradient(to top, var(--bg) 20%, transparent 100%);
    z-index: 1;
}

.page__list {
    line-height: 1.3;
    font-size: 13px;
    display: grid;
    gap: 5px 20px;
    grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
}

.page__list li>span:first-child {
    font-weight: 500;
    margin-right: 5px;
}

.page__list a {
    color: var(--green);
    text-decoration: underline;
}

.page__list-wide {
    grid-column: 1 / -1;
}

.page__list-rates {
    grid-row: span 2;
}

.page__list-rates-item {
    font-size: 15px;
    padding-left: 30px;
    line-height: 20px;
}

.page__list-rates-item.kp {
    background: url(../images/kp.svg) 0 center / 20px no-repeat;
}

.page__list-rates-item.imdb {
    background: url(../images/imdb.svg) 0 center / 20px no-repeat;
}

.page__list-rates-item.tmdb {
    background: url(../images/tmdb.svg) 0 center / 20px no-repeat;
}

.page__subtitle {
    border-top: 1px solid var(--bdc);
    margin: 0 -20px;
    padding: 15px 20px;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
}

.page__scr ul {
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(4, 1fr);
    border-top: 1px solid var(--bdc);
    margin: 0 -20px;
    padding: 20px 20px;
}

.page__scr a,
.page__scr img {
    display: block;
    height: auto;
    width: 100%;
    border-radius: 0px;
    aspect-ratio: 300 / 200;
}

.page__scr img {
    object-fit: cover;
}

.page__scr ul li:nth-child(4)~li {
    display: none;
}

.page__player {
    position: relative;
    background-color: var(--bg-black);
    padding: 0;
    display: flex;
    flex-direction: column;
}

.page__player .tabs-block__select {
    gap: 1px;
    margin-bottom: 0px;
}

.page__player .tabs-block__select button {
    background: var(--bg-blackest);
    color: #fff;
    border-radius: 0;
}

.page__player .tabs-block__select button.is-active,
.page__player .tabs-block__select button:hover {
    background: var(--accent);
    color: #fff;
}

.page__complaint a {
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--red);
    --red: #f37e7c;
}

.page__complaint {
    padding-right: 20px;
    --tt: #fff;
    color: #fff;
    --ui-bg-darker: rgba(255, 255, 255, 0.3);
    min-height: 42px;
    justify-content: flex-end;
    position: absolute;
    top: 0;
    right: 0;
    z-index: 2;
}

.nl .page__player-controls+.tabs-block__content {
    display: block;
}

.page__player .tabs-block__select button.is-active::before {
    color: rgba(0, 0, 0, 0.8);
}

.ya-share2 {
    min-height: 24px;
}

.page__fav a,
.page__fav>span {
    cursor: pointer;
    display: flex;
    align-items: center;
    gap: 10px;
    color: var(--tt-fade);
    --tt-fade: #ccc;
}

.page__fav a:has(.fav-added) .fal {
    color: var(--yellow);
}

.page__player-bottom {
    padding-left: 20px;
}

.page__likes a {
    display: flex;
    align-items: center;
    gap: 10px;
    height: 40px;
    padding: 0 20px;
    background-color: var(--green);
    color: #fff;
}

.page__likes a:last-child {
    background-color: var(--red);
}

.dark-overlay {
    background: rgba(0, 0, 0, 0.9);
    position: fixed;
    width: 100%;
    height: 100%;
    z-index: 100;
    top: 0;
    left: 0;
}

.light-off #scrolltop {
    visibility: hidden;
}

.light-off .page__player {
    position: relative;
    z-index: 102;
}

.page__cols:has(.page__player) .page__cols-right {
    background-color: var(--bg-blackest);
    color: #fff;
    --tt: #fff;
    --tt-fade: #ccc;
    --bdc: rgba(255, 255, 255, 0.2);
}

.page__fr {
    position: absolute;
    inset: 0;
}

.page__fr-caption {
    height: 40px;
    display: flex;
    align-items: center;
    padding: 0 20px;
    font-size: 14px;
    text-transform: uppercase;
    background-color: #000;
}

.page__fr .sect__content {
    padding: 20px;
    height: calc(100% - 40px);
    overflow-x: hidden;
    overflow-y: auto;
    display: grid;
    gap: 20px;
    grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
    align-content: start;
}

.fr.is-active {
    padding-right: 55px;
}

.fr__img {
    width: 50px;
}

.fr__title {
    font-weight: 500;
}

.fr__subtitle,
.fr__meta {
    font-size: 12px;
    color: var(--tt-fade);
}

.fr__meta::before {
    color: var(--yellow);
}

.fr.is-active:after {
    content: attr(data-text);
    font-size: 10px;
    font-weight: 500;
    color: var(--tt-fade);
    border-left: 1px solid var(--bdc);
    width: 35px;
    padding-left: 10px;
    padding-right: 0;
    text-transform: uppercase;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
}

.page__schedules {
    padding: 20px;
}

.page__schedule {
    border: 1px solid var(--bdc);
}

.schedule-item {
    padding: 6px 20px;
    gap: 10px 20px;
}

.schedule-item+.schedule-item {
    border-top: 1px solid var(--bdc);
}

.schedule-item__number {
    font-weight: 500;
    width: 280px;
}

.schedule-item__descr {
    color: var(--tt-fade);
}

.schedule-item__descr b {
    display: block;
    color: var(--tt);
    font-size: 15px;
}

.schedule-item__date {
    color: var(--tt-fade);
}

.schedule-item__status {
    color: var(--green);
    font-size: 24px;
}

.schedule-item__status .fa-times {
    color: var(--red);
}

.page__cols:has(.page__comments) {
    margin: 0 var(--indent-negative);
}

.top-users {
    padding: 20px;
    margin-bottom: 20px;
    background-color: var(--bg);
}

.top-users__title {
    font-size: 18px;
    font-weight: 500;
    margin-bottom: 20px;
}

.top-users__content {
    display: grid;
    gap: 10px;
    grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
    counter-reset: n;
    font-size: 12px;
    font-weight: 500;
    line-height: 1.1;
}

.tuser:not(:last-child) {
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bdc);
}

.tuser::before {
    content: counter(n, decimal-leading-zero);
    counter-increment: n;
    color: var(--tt-fade);
}

.tuser__ava {
    width: 24px;
}

.tuser__rating {
    height: 20px;
    font-size: 10px;
    padding: 0 10px;
    border-radius: 10px;
    font-weight: 400;
    border: 1px solid var(--bdc);
    color: var(--tt-fade);
    line-height: 1;
    text-transform: uppercase;
}

.tuser__rating::before {
    color: var(--yellow);
}

.rkl--holder {
    display: grid;
    place-items: center;
    font-weight: 500;
    font-size: 24px;
    background: var(--bg-darker);
    color: rgba(0, 0, 0, 0.2);
    height: 500px;
}

.page__cols-right .rkl {
    position: sticky;
    left: 0;
    top: 20px;
}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */

.page__title {
    margin-bottom: 30px;
    font-size: 24px;
}

.full-text {
    line-height: 1.6;
    font-size: 14px;
    word-wrap: break-word;
    color: var(--tt-fade-0);
}

.full-text a {
    text-decoration: underline;
    color: var(--ui-accent);
}

.full-text img:not(.emoji),
.full-text p,
.full-text h1,
.full-text h2,
.full-text h3,
.full-text h4,
.full-text h5,
.full-text>ul,
.full-text>ol,
.full-text table {
    margin-bottom: 25px;
}

.full-text>img[style*="left"],
.full-text>.highslide img[style*="left"] {
    margin: 0 10px 10px 0;
}

.full-text>img[style*="right"],
.full-text>.highslide img[style*="right"] {
    margin: 0 0 10px 10px;
}

.full-text>ul li,
.full-text>ol li {
    padding-left: 60px;
    position: relative;
}

.full-text>ul li:before {
    content: '';
    width: 8px;
    height: 8px;
    border-radius: 50%;
    border: 3px solid var(--accent);
    position: absolute;
    top: 6px;
    left: 34px;
}

.full-text>ol {
    counter-reset: num;
}

.full-text>ol li:before {
    content: counter(num);
    counter-increment: num;
    background-color: var(--accent);
    color: #fff;
    position: absolute;
    top: -3px;
    left: 17px;
    width: 24px;
    height: 30px;
    font-size: 14px;
    font-weight: 500;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    padding-right: 6px;
    box-sizing: border-box;
}

.full-text>ol li:after {
    content: '';
    border: 10px solid transparent;
    border-left-color: var(--accent);
    position: absolute;
    left: 41px;
    top: -3px;
    transform: scale(0.66, 1.5);
    transform-origin: 0 0;
}

.full-text>ul li+li,
.full-text>ol li+li {
    margin-top: 10px;
}

.full-text table,
.video-inside>* {
    width: 100%;
}

.full-text>*:last-child {
    margin-bottom: 0;
}

.video-responsive {
    padding-top: 60%;
    position: relative;
    background-color: #000;
}

.video-responsive>iframe,
.video-responsive>video {
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
}

.full-text h1,
.full-text h2,
.full-text h3,
.full-text h4,
.full-text h5 {
    font-size: 21px;
    margin-bottom: 20px;
}


/* COMMENTS
----------------------------------------------- */

.page__comments {
    padding-bottom: 10px;
}

.page__comments-info {
    color: var(--tt-fade);
    display: block;
    margin: 5px 0 20px;
    font-size: 14px;
    padding-left: 23px;
    position: relative;
}

.page__comments-info::before {
    color: var(--red);
    position: absolute;
    left: 0;
    top: 2px;
}

.page__ac {
    margin-bottom: 10px;
}

.ac-form {
    position: relative;
}

.ac-form__header,
.ac-form__editor,
.ac-form .message-info {
    gap: 10px;
    margin-bottom: 10px;
}

.ac-form__btn {
    padding: 0 60px;
}

.ac-form__bottom {
    gap: 25px;
}

.confidential-check {
    font-size: 14px;
}

.ac-form__header>span {
    margin-left: 15px;
}

.ac-form .comments_subscribe {
    margin-top: 0px;
}

.ac-toggle.ac-form {
    cursor: pointer;
}

.ac-form__header1 input,
.ac-form__editor1 textarea {
    background-color: rgba(0, 0, 0, 0.02);
}

.ac-toggle,
.ac-toggle .ac-form__editor {
    position: relative;
}

.ac-toggle .ac-form__bottom button {
    position: absolute;
    bottom: 20px;
    right: 10px;
    z-index: 10;
    pointer-events: none;
}

.ac-form .bb-btn {
    display: none;
}

.ac-form .bb-pane {
    background: none;
    box-shadow: none;
    border: 0;
    position: absolute;
    left: 0;
    bottom: 0;
    right: 0;
}

.ac-form #b_emo,
.ac-form #b_leech,
.ac-form #b_quote,
.ac-form #b_spoiler,
.ac-form #b_b,
.ac-form #b_u,
.ac-form #b_s,
.ac-form #b_color,
.ac-form #b_hide {
    display: grid;
}

.ac-toggle .bb-btn {
    pointer-events: none;
}

.ac-toggle .ac-form__editor .bb-editor textarea {
    height: 200px;
    resize: none;
}

.ac-form__editor .bb-editor textarea {
    height: 200px;
    line-height: 1.4;
    padding-bottom: 40px;
}

.comments_subscribe+br,
.ac-form .bb-editor+br {
    display: none;
}

.ac-toggle .has-checkbox {
    display: none;
}

.mass_comments_action {
    display: none;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px;
}

.mass_comments_action select {
    flex: 1 1 0;
    margin: 0 -28px 0 0;
    border-radius: 0;
    box-shadow: none;
    min-width: 60%;
}

.mass_comments_action .bbcodes {
    border-radius: 0;
    padding: 0 10px;
}

.comm__title {
    font-size: 18px;
    margin-bottom: 20px;
}

.comm {
    margin-bottom: 10px;
    position: relative;
    padding: 15px 20px;
    padding-left: 90px;
    background-color: var(--bg-darker-1);
    border-radius: 6px;
}

.comm.pos {
    background-color: rgba(59, 179, 59, 0.1);
}

.comm.neg {
    background-color: rgba(235, 77, 75, 0.1);
}

.comm__group {
    height: 20px;
    display: flex;
    align-items: center;
    border-radius: 10px;
    font-size: 10px;
    border: 1px solid var(--bdc);
    padding: 0 10px;
    text-transform: uppercase;
}

.comm__group,
.comm__group * {
    font-weight: 400;
    color: var(--tt) !important;
}

.comm__group.adm,
.comm__group.adm * {
    color: #fff !important;
    background-color: var(--accent);
    border-color: var(--accent);
}

.comm__img {
    width: 50px;
    height: 50px;
    border-radius: 50%;
    position: absolute;
    left: 20px;
    top: 20px;
}

.comm__user-rating {
    position: absolute;
    left: 50%;
    top: 100%;
    translate: -50% 0;
    gap: 3px;
    margin-top: 8px;
    background-color: var(--bg);
    z-index: 5;
    white-space: nowrap;
    padding: 0;
    width: 48px;
}


/* Компактные награды в комментариях */

.comm__awards {
    position: absolute;
    left: 50%;
    top: 100%;
    translate: -50% 0;
    margin-top: 35px;
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    flex-wrap: wrap;
    max-width: 50px;
    z-index: 4;
}

.comm__award {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 16px;
    height: 16px;
    border-radius: 50%;
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    overflow: hidden;
    cursor: pointer;
    transition: transform 0.2s ease;
}

.comm__award:hover {
    transform: scale(1.2);
    border-color: var(--accent);
    z-index: 6;
}

.comm__award img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}

.comm__award .fal {
    font-size: 10px;
    color: var(--accent);
    line-height: 1;
}

.comm__letter {
    width: 100%;
    height: 100%;
    text-transform: uppercase;
    border-radius: inherit;
    position: absolute;
    left: 0;
    top: 0;
    color: #fff;
    font-size: 18px;
    font-weight: 500;
}

.comm__author,
.comm__author a {
    color: var(--accent);
    font-weight: 500;
    font-size: 14px;
}

.comm__date {
    color: var(--tt-fade);
    font-size: 12px;
}

.comm__rating a {
    color: var(--green);
    font-size: 18px;
}

.comm__rating a:last-child {
    color: var(--red);
}

.comm__rating span {
    font-size: 14px;
}

.comm__rating span .ratingplus {
    color: var(--green);
}

.comm__rating span .ratingminus {
    color: var(--red);
}

.comm__text {
    margin: 8px 0;
}

.comm__action {
    font-size: 12px;
    --tt: var(--tt-fade);
    color: var(--tt-fade);
}

.comm__ctrl-btn {
    font-size: 18px;
    height: 30px;
    --tt: var(--tt-fade);
}

.comm__ctrl-menu li+li {
    margin-top: 10px;
}

body:has(.pwidget) #dropmenudiv {
    z-index: 1000 !important;
}


/* POPUP WIDGET
----------------------------------------------- */

.pwidget {
    background-color: var(--bg);
    color: var(--tt);
    border-radius: 20px;
    overflow: hidden;
    z-index: 999;
    padding: 20px;
    padding-top: 24px;
    position: fixed;
    left: 20px;
    bottom: 20px;
    right: 20px;
    box-shadow: 0 0 60px rgba(0, 0, 0, 0.5);
}

.pwidget::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 50%;
    transform: translateX(-50%);
    background-color: rgba(0, 0, 0, 0.2);
    height: 4px;
    width: 40px;
    border-radius: 2px;
}

.pwidget .wctrl__content {
    display: block;
    margin-bottom: 20px;
}

@media screen and (min-width: 760px) {
    .pwidget {
        left: 50%;
        bottom: 50%;
        right: auto;
        translate: -50% 50%;
        width: 400px;
    }
    .pwidget::before {
        display: none;
    }
}


/* LOGIN
----------------------------------------------- */

.lgn {
    position: fixed;
    z-index: 999;
    left: 50%;
    top: 50%;
    translate: -50% -50%;
    width: 500px;
    max-width: calc(100% - 40px);
}

.lgn__content {
    background-color: var(--bg);
    box-shadow: var(--bsh-long);
    padding: 30px 60px;
    position: relative;
}

.lgn__ctrl>* {
    color: #fff !important;
    font-size: 19px;
    font-weight: 500;
    height: 45px;
    position: relative;
    text-transform: uppercase;
}

.lgn__ctrl span::before {
    content: '';
    border: 10px solid transparent;
    border-bottom-color: var(--bg);
    position: absolute;
    left: 50%;
    bottom: 0;
    margin-left: -10px;
    z-index: 5;
}

.lgn__btn-close {
    font-size: 40px;
    color: #fff;
    position: absolute;
    right: -50px;
    top: 0;
    z-index: 10;
}

.lgn__header {
    position: relative;
    padding-left: 80px;
    margin-bottom: 15px;
}

.lgn__avatar {
    width: 60px;
    background-color: var(--bg-darker);
    font-size: 24px;
    position: absolute;
    left: 0;
    top: 50%;
    translate: 0 -50%;
    overflow: hidden;
    border-radius: 50%;
}

.lgn__title {
    font-size: 19px;
    font-weight: 500;
}

.lgn__caption {
    color: var(--tt-fade);
    margin-top: 5px;
}

.lgn__input input {
    height: 50px;
    line-height: 50px;
    border-radius: 0;
    padding: 0 30px;
}

.lgn__input input::placeholder {
    font-size: 16px;
}

.lgn__input input+input {
    margin-top: -1px;
}

.lgn__input input:focus {
    position: relative;
    z-index: 5;
}

.lgn__btn button {
    height: 50px;
}

.lgn__cell a {
    color: var(--ui-accent);
}

.lgn__social-caption {
    font-size: 13px;
    color: var(--tt-fade);
    margin-top: 5px;
}

.lgn__social-caption::before,
.lgn__social-caption::after {
    content: '';
    flex-grow: 1;
    background: var(--bdc);
    height: 1px;
}

.lgn__social a {
    border-radius: 50%;
    width: 34px;
    height: 34px;
    display: grid;
    place-items: center;
}

.lgn__social a img {
    height: 18px;
    width: 18px;
    display: block;
    filter: invert(1);
}

.lgn__social-vk {
    background-color: #587ba1;
}

.lgn__social-ok {
    background-color: #ff9800;
}

.lgn__social-fb {
    background-color: #3b5998;
}

.lgn__social-ml {
    background-color: #2196f3;
}

.lgn__social-gg {
    background-color: #f44336;
}

.lgn__social-ya {
    background-color: #fc3f1d;
}

.lgn__social:not(:has(a)) {
    display: none;
}

.lgn--logged {
    width: 400px;
}

.lgn__menu a {
    display: flex;
    align-items: center;
    gap: 10px;
}

.c-0 span {
    display: none;
}


/**
 * Owl Carousel v2.3.4
 * Copyright 2013-2018 David Deutsch
 * Licensed under: SEE LICENSE IN https://github.com/OwlCarousel2/OwlCarousel2/blob/master/LICENSE
 */

.owl-carousel {
    width: 100%;
    position: relative;
    z-index: 1;
}

.owl-stage {
    position: relative;
    display: flex;
    justify-content: flex-start;
}

.owl-stage-outer {
    position: relative;
    overflow: hidden;
    transform: translate3d(0px, 0px, 0px);
}

.owl-item {
    position: relative;
    min-height: 10px;
}

.owl-nav.disabled,
.owl-dots.disabled,
.owl-carousel.owl-refresh .owl-item {
    display: none;
}

.owl-carousel.owl-drag .owl-item {
    user-select: none;
}

.owl-carousel.owl-grab {
    cursor: move;
    cursor: grab;
}

.owl-nav {
    position: absolute;
    right: 0;
    top: 0;
    margin-top: -45px;
    display: flex;
    gap: 5px;
}

.owl-prev,
.owl-next {
    cursor: pointer;
    width: 30px;
    height: 30px;
    display: grid;
    place-items: center;
    font-size: 18px;
    background-color: transparent;
    color: #fff;
    box-shadow: none;
    border-radius: 4px;
}

.owl-prev {
    opacity: 0.6;
}

.owl-next {
    opacity: 1;
}


/* CLS FIX
----------------------------------------------- */

.has-carousel:not(.owl-carousel) {
    display: flex;
    overflow: hidden;
    gap: 20px;
}

.has-carousel:not(.owl-carousel)>* {
    flex-shrink: 0;
}

.has-carousel:not(.owl-carousel)>.item {
    width: calc((100% - 100px)/6);
}

@media screen and (max-width: 1220px) {
    .has-carousel:not(.owl-carousel)>.item {
        width: calc((100% - 80px)/5);
    }
}

@media screen and (max-width: 950px) {
    .has-carousel:not(.owl-carousel)>.item {
        width: calc((100% - 60px)/4);
    }
}

@media screen and (max-width: 760px) {
    .has-carousel:not(.owl-carousel)>.item {
        width: calc((100% - 40px)/3);
    }
}

@media screen and (max-width: 470px) {
    .has-carousel:not(.owl-carousel)>.item {
        width: calc((100% - 20px)/2);
    }
}

.filter-block {
    background-color: var(--bg);
    margin: 0 var(--indent-negative);
    margin-bottom: 20px;
    padding: 20px var(--indent);
}

.filter {
    gap: 10px 20px;
}

.filter-block__title {
    font-size: 16px;
    font-weight: 500;
    margin-bottom: 20px;
}

.filter__col:not(.filter__col--submit) {
    flex: 1 0 240px;
    max-width: 100%;
    min-width: 240px;
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.filter__cell select {
    height: 40px;
    box-shadow: none;
    border: 1px solid rgba(0, 0, 0, 0.15);
    background-color: var(--bg);
    color: var(--tt);
}


/* .filter__cell input[type="text"] {
    opacity: 0;
} */

.filter__cell [data-dlefilter="reset"]:not(:hover) {
    background-color: var(--bg-darker);
    color: var(--tt-fade);
}

.filter__col--ranges {
    padding: 0 20px;
}

.filter-block--full .filter__col--submit {
    width: 100%;
}

.filter-block--full {
    background: none;
    box-shadow: none;
    padding: 0;
    margin: 0;
}


/* .tail-select, .tail-select * {outline: none; user-select: none;}
.tail-select {position: relative;}
.tail-select-container, .select-label {border: 1px solid rgba(0,0,0,0.15); background-color: var(--bg); 
	padding: 5px 5px; min-height: 40px; position: relative; cursor: pointer; color: var(--tt);
	display: flex; flex-wrap: wrap; align-items: center; gap: 5px; padding-right: 40px; border-radius: 3px;}
.tail-select .label-inner {margin-left: 5px; font-size: 14px;}
.tail-select-container .select-handle {display: flex; align-items: center; height: 28px; padding: 0 8px; border-radius: 2px; 
	background-color: var(--accent); color: #fff; cursor: pointer; font-size: 12px; text-transform: uppercase;}
.tail-select .select-label::before, .tail-select .select-label::after {position: absolute; top: 50%; right: 10px;
	content:"\f0d8"; color: var(--tt); margin-top: -15px; opacity: 0.5;}
.tail-select .select-label::after {margin-top: -5px; transform: rotate(180deg);}

.tail-select .select-dropdown {top: 100%; left: 0; width: 100%; z-index: 100; display: none; position: absolute;
    background-color: var(--bg); border: 1px solid rgba(0,0,0,0.15); box-shadow: var(--bsh); border-radius: 3px;}
.tail-select .select-dropdown .dropdown-inner {padding: 1px 0; overflow-x: hidden; overflow-y: auto; max-height: 300px;}
.tail-select .dropdown-optgroup {padding: 15px;}
.tail-select .select-dropdown .dropdown-empty {padding: 20px; font-size: 14px; text-align: center;}
.tail-select .select-dropdown ul li + li {margin-top: 10px;}
.tail-select .select-dropdown ul li {display: flex; align-items: center; gap: 10px; cursor: pointer; font-size: 14px;}
.tail-select .select-dropdown ul li.dropdown-option::before {content: ""; background-color: var(--bg-darker);
    width: 18px; height: 18px; border-radius: 1px; box-shadow: inset 0 1px 2px rgba(0,0,0,0.2); 
	display: flex; justify-content: center; font-size: 14px; color: #000; flex-shrink: 0; 
	box-sizing: border-box; padding-bottom: 3px;}
.tail-select .select-dropdown ul li.dropdown-option.selected {color: var(--accent);}
.tail-select .select-dropdown ul li.dropdown-option.selected::before 
{background-color: var(--accent); color: #fff; content:"\f00c"; box-shadow: none;}
.tail-select .select-dropdown ul li:hover {color: var(--blue);}
.tail-select-container:hover, .select-label:hover {border-color: var(--accent);}
.tail-select-container .select-handle:hover {background-color: var(--red);} */

.irs {
    position: relative;
    display: block;
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

.irs-line {
    position: relative;
    display: block;
    overflow: hidden;
    outline: none !important;
}

.irs-line-left,
.irs-line-mid,
.irs-line-right {
    position: absolute;
    display: block;
    top: 0;
}

.irs-line-left {
    left: 0;
    width: 11%;
}

.irs-line-mid {
    left: 9%;
    width: 82%;
}

.irs-line-right {
    right: 0;
    width: 11%;
}

.irs-bar {
    position: absolute;
    display: block;
    left: 0;
    width: 0;
}

.irs-bar-edge {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
}

.irs-shadow {
    position: absolute;
    display: none;
    left: 0;
    width: 0;
}

.irs-handle {
    position: absolute;
    display: block;
    cursor: default;
    z-index: 1;
}

.irs-handle.type_last {
    z-index: 2;
}

.irs-min {
    position: absolute;
    display: block;
    left: 0;
    cursor: default;
}

.irs-max {
    position: absolute;
    display: block;
    right: 0;
    cursor: default;
}

.irs-from,
.irs-to,
.irs-single {
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    cursor: default;
    white-space: nowrap;
}

.irs-grid {
    position: absolute;
    display: none;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 20px;
}

.irs-with-grid .irs-grid {
    display: block;
}

.irs-grid-pol {
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 8px;
    background: #ec2828;
}

.irs-grid-pol.small {
    height: 4px;
}

.irs-grid-text {
    position: absolute;
    bottom: 0;
    left: 0;
    white-space: nowrap;
    text-align: center;
    font-size: 9px;
    line-height: 9px;
    padding: 0 3px;
    color: #ec2828;
}

.irs-disable-mask {
    position: absolute;
    display: block;
    top: 0;
    left: -1%;
    width: 102%;
    height: 100%;
    cursor: default;
    background: rgba(0, 0, 0, 0.0);
    z-index: 2;
}

.irs-disabled {
    opacity: 0.4;
}

.lt-ie9 .irs-disabled {
    filter: alpha(opacity=40);
}

.irs-hidden-input {
    position: absolute !important;
    display: block !important;
    top: 0 !important;
    left: 0 !important;
    width: 0 !important;
    height: 0 !important;
    font-size: 0 !important;
    line-height: 0 !important;
    padding: 0 !important;
    margin: 0 !important;
    outline: none !important;
    z-index: -9999 !important;
    background: none !important;
    border-style: solid !important;
    border-color: transparent !important;
}

.irs {
    height: 40px;
}

.irs-line {
    height: 6px;
    top: 25px;
    background-color: var(--bg);
    border-radius: 3px;
    box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.2);
}

.irs-bar {
    height: 6px;
    top: 25px;
    background-color: var(--blue);
    border-radius: 3px;
}

.irs-bar-edge {
    top: 25px;
    height: 8px;
    width: 11px;
    background-color: var(--bg);
}

.irs-handle {
    width: 20px;
    height: 20px;
    top: 18px;
    background-color: var(--bg);
    border-radius: 10px;
    border: 4px solid var(--blue);
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    cursor: pointer;
}

.irs-from,
.irs-to,
.irs-single {
    font-size: 10px;
    margin-top: -5px;
    border: 1px solid var(--bdc);
    padding: 0 5px;
    height: 22px;
    display: flex;
    align-items: center;
    background: var(--bg);
    color: var(--tt);
    border-radius: 3px;
}

.flex {
    display: flex;
    align-items: center;
}

.age_placeholder {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
}

.age_placeholder>b {
    font-size: 14px;
    border: 1px solid #999;
    font-weight: 500;
    color: #777;
    padding: 3px 4px;
}

.alert_age {
    position: relative;
}

.alert_age__toggle {
    width: 16px;
    height: 17px;
    display: flex;
    align-items: center;
    justify-content: center;
    border: 1px solid #111;
    color: #111;
    cursor: pointer;
    font-weight: 500;
    margin-left: 4px;
    transition: 250ms ease;
}

.alert_age__toggle:hover {
    background-color: #64c80a;
    color: #fff;
    border-color: #64c80a;
}

.alert_age__list {
    display: none;
    position: absolute;
    top: 22px;
    left: 4px;
    z-index: 10;
    width: 180px;
    padding: 5px;
    border-radius: 3px;
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border: 1px solid #e9ecef;
}

.alert_age__list li {
    position: relative;
    padding-left: 10px;
}

.alert_age__list li:not(:last-child) {
    margin-bottom: 3px;
}

.alert_age__list li::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    width: 3px;
    height: 3px;
    border-radius: 50%;
    background-color: #64c80a;
}

.menus {
    margin: 0 0 40px 0;
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
}

.menus a {
    display: flex;
    align-items: center;
    border-radius: 2px;
    border: 1px solid #64c80a;
    height: 42px;
    padding: 0 10px;
    background-color: #fff;
}

.menus a .icon {
    margin-right: 3px;
}


/* .menus a .icon path {
	fill: #64c80a;
} */

.menus a:hover {
    background-color: #64c80a;
    color: #fff;
}

.menus a:hover path {
    fill: #fff;
}

.dle_rating {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.dle_rating__block {
    background: linear-gradient(145deg, #ffffff, #f8f9fa);
    border-radius: 4px;
    padding: 10px;
    border: 1px solid #e9ecef;
    min-width: 120px;
    transition: transform 0.3s ease;
}

.dle_rating__block:hover {
    transform: translateY(-2px);
}

.dle_rating__block-head {
    font-size: 12px;
    color: #6c757d;
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 8px;
}

.dle_rating__block-count {
    display: flex;
    flex-direction: column;
}

.dle_rating__block-count span {
    margin-top: 2px;
    font-size: 12px;
}

.dle_rating__block-count b {
    font-size: 24px;
    color: #2c3e50;
    font-weight: 700;
}


/* РЎРїРµС†РёС„РёС‡РЅС‹Рµ С†РІРµС‚Р° РґР»СЏ СЂР°Р·РЅС‹С… РїР»Р°С‚С„РѕСЂРј */

.dle_rating__block:nth-child(1) .dle_rating__block-count b {
    color: #ff5722;
    /* РљРёРЅРѕРїРѕРёСЃРє */
}

.dle_rating__block:nth-child(2) .dle_rating__block-count b {
    color: #fd9b27;
}


/* User Lists Page */

.user-lists-page {
    padding: 20px 0;
}

.user-lists-page .page-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--accent);
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bdc);
}

.lists-tabs {
    display: flex;
    gap: 12px;
    margin-bottom: 30px;
    flex-wrap: wrap;
    background-color: var(--bg);
    padding: 8px;
    border-radius: var(--ui-bdrs);
    box-shadow: var(--bsh-block);
}

.lists-tab {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 10px 20px;
    background-color: var(--bg-darker);
    color: var(--tt);
    border-radius: var(--ui-bdrs);
    font-size: 14px;
    font-weight: 500;
    text-transform: uppercase;
    transition: all 0.3s ease;
    border: 1px solid transparent;
    white-space: nowrap;
}

.lists-tab:hover {
    background-color: var(--bg-darker-1);
    color: var(--tt);
    border-color: var(--bdc);
}

.lists-tab.is-active,
.lists-tab.active {
    background-color: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.lists-tab__icon {
    display: inline-block;
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    vertical-align: middle;
}

.lists-tab__title {
    display: inline-block;
}

.lists-tab__count {
    font-size: 12px;
    opacity: 0.8;
    font-weight: 400;
}

.lists-tab.is-active .lists-tab__count,
.lists-tab.active .lists-tab__count {
    opacity: 1;
}


/* Color coding for different list types */

.lists-tab[data-list-type="watching"]:hover {
    border-color: #45aaf2;
}

.lists-tab[data-list-type="watching"].is-active,
.lists-tab[data-list-type="watching"].active {
    background-color: #45aaf2;
    border-color: #45aaf2;
}

.lists-tab[data-list-type="will_watch"]:hover {
    border-color: #fdc830;
}

.lists-tab[data-list-type="will_watch"].is-active,
.lists-tab[data-list-type="will_watch"].active {
    background-color: #fdc830;
    border-color: #fdc830;
    color: #000;
}

.lists-tab[data-list-type="watched"]:hover {
    border-color: #64c80a;
}

.lists-tab[data-list-type="watched"].is-active,
.lists-tab[data-list-type="watched"].active {
    background-color: #64c80a;
    border-color: #64c80a;
}

.lists-tab[data-list-type="wont_watch"]:hover {
    border-color: #ff5032;
}

.lists-tab[data-list-type="wont_watch"].is-active,
.lists-tab[data-list-type="wont_watch"].active {
    background-color: #ff5032;
    border-color: #ff5032;
}

.lists-content-block {
    background-color: var(--bg);
    padding: 20px;
    border-radius: var(--ui-bdrs);
    box-shadow: var(--bsh-block);
}

.lists-content__title {
    font-size: 22px;
    font-weight: 600;
    color: var(--tt);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bdc);
}

#lists-navigation {
    margin-top: 30px;
    padding-top: 20px;
    border-top: 1px solid var(--bdc);
}

#lists-not-found {
    text-align: center;
    padding: 60px 20px;
    color: var(--tt-fade);
    font-size: 16px;
    display: none;
}

#lists-not-found:not(:empty) {
    display: block;
}


/* User Lists */

.page__user-lists-wrapper {
    margin: 14px 0;
}

.page__user-lists {
    flex-wrap: wrap;
    gap: 10px;
}

.page__user-lists .user-list-btn {
    display: flex;
    align-items: center;
    gap: 8px;
    height: 40px;
    padding: 0 20px;
    font-size: 14px;
    border-radius: 4px;
    background-color: var(--bg-darker);
    color: var(--tt);
    border: 1px solid var(--bdc);
    transition: all 0.3s;
}

.page__user-lists .user-list-btn__icon {
    width: 18px;
    height: 18px;
    flex-shrink: 0;
}

.page__user-lists .user-list-btn:hover {
    background-color: var(--bg);
    border-color: var(--accent);
}

.page__user-lists .user-list-btn.active {
    background-color: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.page__user-lists .user-list-btn.user-list-btn-watching.active {
    background-color: #45aaf2;
    border-color: #45aaf2;
}

.page__user-lists .user-list-btn.user-list-btn-will_watch.active {
    background-color: #fdc830;
    border-color: #fdc830;
}

.page__user-lists .user-list-btn.user-list-btn-watched.active {
    background-color: #64c80a;
    border-color: #64c80a;
}

.page__user-lists .user-list-btn.user-list-btn-wont_watch.active {
    background-color: #ff5032;
    border-color: #ff5032;
}

.item__user-lists {
    position: absolute;
    right: 10px;
    bottom: 10px;
    z-index: 4;
    opacity: 0;
    transition: opacity 0.3s;
}

.item:hover .item__user-lists {
    opacity: 1;
}

.item__user-lists .user-list-btn {
    width: 32px;
    height: 32px;
    padding: 0;
    background-color: rgba(0, 0, 0, 0.7);
    color: #fff;
    border: 1px solid rgba(255, 255, 255, 0.3);
    border-radius: 4px;
    backdrop-filter: blur(5px);
    transition: all 0.3s;
}

.item__user-lists .user-list-btn:hover {
    background-color: rgba(0, 0, 0, 0.9);
    border-color: rgba(255, 255, 255, 0.5);
    transform: scale(1.1);
}

.item__user-lists .user-list-btn.active {
    background-color: var(--accent);
    border-color: var(--accent);
}

.item__user-lists .user-list-btn.user-list-btn-watching.active {
    background-color: #45aaf2;
    border-color: #45aaf2;
}

.item__user-lists .user-list-btn.user-list-btn-will_watch.active {
    background-color: #fdc830;
    border-color: #fdc830;
}

.item__user-lists .user-list-btn.user-list-btn-watched.active {
    background-color: #64c80a;
    border-color: #64c80a;
}

.item__user-lists .user-list-btn.user-list-btn-wont_watch.active {
    background-color: #ff5032;
    border-color: #ff5032;
}

.item__user-lists .user-list-btn span {
    font-size: 14px;
}


/* User lists block in profile */

.user-lists-card {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
    box-shadow: var(--bsh);
}

.user-lists-card__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    color: var(--tt);
}

.user-lists-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.user-list-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px;
    display: grid;
    gap: 10px;
    box-shadow: var(--bsh);
}

.user-list-item__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.user-list-item__label {
    font-weight: 500;
    color: var(--tt);
}

.user-list-item__count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 32px;
    height: 28px;
    padding: 0 10px;
    border-radius: 14px;
    background-color: var(--bg);
    color: var(--tt);
    font-weight: 600;
    border: 1px solid var(--bdc);
}

.user-list-item__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 34px;
    border-radius: 4px;
    background-color: var(--accent);
    color: #fff;
    font-weight: 500;
    padding: 0 14px;
    text-decoration: none;
    transition: transform 0.15s ease, box-shadow 0.15s ease;
}

.user-list-item__link:hover {
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(0, 0, 0, 0.18);
}

.user-list-item-watching .user-list-item__link {
    background-color: #45aaf2;
}

.user-list-item-will_watch .user-list-item__link {
    background-color: #fdc830;
    color: #000;
}

.user-list-item-watched .user-list-item__link {
    background-color: #64c80a;
}

.user-list-item-wont_watch .user-list-item__link {
    background-color: #ff5032;
}


/* IMDB */


/* User Stats */

.user-stats-card {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
    box-shadow: var(--bsh);
}

.user-stats-card__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    color: var(--tt);
}

.user-stats-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 12px;
}

.user-stat-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px;
    text-align: center;
}

.user-stat-item__label {
    font-size: 12px;
    color: var(--tt-fade);
    margin-bottom: 8px;
}

.user-stat-item__value {
    font-size: 24px;
    font-weight: 700;
    color: var(--accent);
}


/* User Stats Detailed */

.user-stats-detailed {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--bdc);
}

.user-stats-detailed__title {
    font-weight: 600;
    font-size: 14px;
    margin-bottom: 16px;
    color: var(--tt);
}

.user-stats-detailed__count {
    font-weight: 400;
    font-size: 12px;
    color: var(--tt-fade);
    margin-left: 6px;
}

.user-stats-detailed__list {
    display: flex;
    flex-direction: column;
    gap: 12px;
}

.user-stats-film {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px;
    transition: border-color 0.2s ease;
}

.user-stats-film:hover {
    border-color: var(--accent);
}

.user-stats-film__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    gap: 12px;
    margin-bottom: 8px;
}

.user-stats-film__title {
    flex: 1;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.4;
}

.user-stats-film__title a {
    color: var(--tt);
    text-decoration: none;
}

.user-stats-film__title a:hover {
    color: var(--accent);
    text-decoration: underline;
}

.user-stats-film__time {
    font-weight: 600;
    font-size: 14px;
    color: var(--accent);
    white-space: nowrap;
    flex-shrink: 0;
}

.user-stats-film__info {
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.user-stats-film__meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    font-size: 12px;
    color: var(--tt-fade);
}

.user-stats-film__count,
.user-stats-film__first,
.user-stats-film__last {
    display: inline-block;
}

.user-stats-film__details-toggle {
    margin-top: 4px;
}

.user-stats-film__toggle-btn {
    background: none;
    border: none;
    color: var(--accent);
    font-size: 12px;
    cursor: pointer;
    padding: 4px 0;
    text-decoration: underline;
    transition: opacity 0.2s ease;
}

.user-stats-film__toggle-btn:hover {
    opacity: 0.8;
}

.user-stats-film__toggle-btn .toggle-text-hide {
    display: none;
}

.user-stats-film.is-expanded .user-stats-film__toggle-btn .toggle-text-show {
    display: none;
}

.user-stats-film.is-expanded .user-stats-film__toggle-btn .toggle-text-hide {
    display: inline;
}

.user-stats-film__details {
    display: none;
    margin-top: 12px;
    padding-top: 12px;
    border-top: 1px solid var(--bdc);
}

.user-stats-film.is-expanded .user-stats-film__details {
    display: block;
}

.user-stats-film__details-title {
    font-size: 12px;
    font-weight: 500;
    color: var(--tt);
    margin-bottom: 8px;
}

.user-stats-film__details-list {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.user-stats-film__detail-item {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 6px 8px;
    background-color: var(--bg);
    border-radius: 4px;
    font-size: 12px;
}

.user-stats-film__detail-date {
    color: var(--tt-fade);
}

.user-stats-film__detail-time {
    color: var(--accent);
    font-weight: 500;
}

.user-stats-detailed__load-more {
    margin-top: 16px;
    text-align: center;
    padding-top: 16px;
    border-top: 1px solid var(--bdc);
}

.user-stats-detailed__load-btn {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 10px 24px;
    color: var(--accent);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.user-stats-detailed__load-btn:hover:not(:disabled) {
    background-color: var(--accent);
    color: #fff;
    border-color: var(--accent);
}

.user-stats-detailed__load-btn:disabled {
    opacity: 0.6;
    cursor: not-allowed;
}

.user-stats-detailed__load-btn .load-more-loader {
    display: inline-block;
    width: 14px;
    height: 14px;
    border: 2px solid var(--accent);
    border-top-color: transparent;
    border-radius: 50%;
    animation: spin 0.6s linear infinite;
}

@keyframes spin {
    to {
        transform: rotate(360deg);
    }
}


/* User Badges */

.user-badges-card {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
    box-shadow: var(--bsh);
}

.user-badges-card__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    color: var(--tt);
}

.user-badges-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}

.user-badge-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
}

.user-badge-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: var(--accent);
}

.user-badge-item .fal {
    font-size: 32px;
    color: var(--accent);
    margin-bottom: 8px;
    display: block;
}

.user-badge-item__title {
    font-size: 12px;
    font-weight: 500;
    color: var(--tt);
    line-height: 1.3;
}

.user-badge-item--earned {
    border-color: var(--accent);
    background-color: var(--bg);
}

.user-badge-item--earned .fal {
    color: var(--accent);
}

.user-badge-item--locked {
    opacity: 0.5;
    filter: grayscale(100%);
}

.user-badge-item--locked .fal {
    color: var(--tt-fade);
}

.user-badge-item__earned {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: var(--accent);
    color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.user-badge-item {
    position: relative;
}

.user-badge-item img {
    max-width: 48px;
    max-height: 48px;
    margin-bottom: 8px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}


/* User Awards */

.user-awards-card {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: 8px;
    padding: 16px;
    margin-top: 20px;
    box-shadow: var(--bsh);
}

.user-awards-card__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 12px;
    color: var(--tt);
}

.user-awards-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
    gap: 12px;
}

.user-award-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px;
    text-align: center;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    cursor: pointer;
    position: relative;
}

.user-award-item:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    border-color: var(--accent);
}

.user-award-item .fal {
    font-size: 32px;
    color: var(--accent);
    margin-bottom: 8px;
    display: block;
}

.user-award-item img {
    max-width: 48px;
    max-height: 48px;
    margin-bottom: 8px;
    display: block;
    margin-left: auto;
    margin-right: auto;
    object-fit: contain;
}

.user-award-item__title {
    font-size: 12px;
    font-weight: 500;
    color: var(--tt);
    line-height: 1.3;
}

.user-award-item--earned {
    border-color: var(--accent);
    background-color: var(--bg);
}

.user-award-item--earned .fal {
    color: var(--accent);
}

.user-award-item--earned img {
    opacity: 1;
}

.user-award-item--locked {
    opacity: 0.5;
    filter: grayscale(100%);
}

.user-award-item--locked .fal {
    color: var(--tt-fade);
}

.user-award-item--locked img {
    opacity: 0.5;
    filter: grayscale(100%);
}

.user-award-item__earned {
    position: absolute;
    top: 5px;
    right: 5px;
    background-color: var(--accent);
    color: #fff;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    font-weight: bold;
}

.user-award-item {
    position: relative;
}

.quiz-answer--image {
    padding: 10px;
}

.quiz-answer__image-wrapper {
    display: block;
    margin-top: 5px;
}

.quiz-answer__image {
    max-width: 200px;
    max-height: 200px;
    object-fit: contain;
    border: 2px solid var(--bdc);
    border-radius: 4px;
    padding: 5px;
}

.quiz-answer--image input[type="radio"]:checked+.quiz-answer__image-wrapper .quiz-answer__image {
    border-color: var(--accent);
    box-shadow: 0 0 0 2px rgba(var(--accent-rgb), 0.2);
}

.answer-image-item {
    margin-bottom: 10px;
}

.answer-image-preview {
    margin-top: 10px;
}

.answer-image-preview img {
    border: 1px solid var(--bdc);
    border-radius: 4px;
}


/* Quiz Admin */

.quiz-admin-nav {
    display: flex;
    gap: 10px;
    margin-bottom: 20px;
}

.quiz-admin-list {
    display: flex;
    flex-direction: column;
    gap: 15px;
}

.quiz-admin-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 15px;
}

.quiz-admin-item__title {
    font-weight: 600;
    font-size: 16px;
    margin-bottom: 8px;
    color: var(--tt);
}

.quiz-admin-item__info {
    font-size: 14px;
    color: var(--tt-fade);
}

.quiz-admin-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--tt-fade);
}

.quiz-admin-form {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: 8px;
    padding: 20px;
}


/* Legacy question-item styles - now handled above in modal section */


/* Activity Feed */

.activity-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: 6px;
    padding: 12px 16px;
    margin-bottom: 10px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
}

.activity-item__text {
    flex: 1;
    color: var(--tt);
    font-size: 14px;
    line-height: 1.5;
}

.activity-item__text a {
    color: var(--accent);
    text-decoration: none;
}

.activity-item__text a:hover {
    text-decoration: underline;
}

.activity-item__date {
    font-size: 12px;
    color: var(--tt-fade);
    white-space: nowrap;
}

.activity-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--tt-fade);
    font-size: 14px;
}


/* Quiz Styles */

.quiz-description {
    margin-bottom: 30px;
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
    color: var(--tt);
    line-height: 1.6;
}

.quiz-container {
    margin-bottom: 30px;
}

.quiz-form {
    margin-bottom: 30px;
}

.quiz-question {
    margin-bottom: 30px;
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
}

.quiz-question__title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 15px;
    color: var(--tt);
}

.quiz-question__image {
    margin-bottom: 15px;
    text-align: center;
}

.quiz-question__image img {
    max-width: 100%;
    max-height: 400px;
    border-radius: 8px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}

.quiz-question__answers {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.quiz-answer {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background-color: var(--bg);
    border: 2px solid var(--bdc);
    border-radius: 6px;
    cursor: pointer;
    transition: all 0.3s ease;
}

.quiz-answer:hover {
    border-color: var(--ui-accent);
    background-color: var(--bgc);
}

.quiz-answer input[type="radio"] {
    margin-right: 12px;
    cursor: pointer;
}

.quiz-answer input[type="radio"]:checked+.quiz-answer__text {
    color: var(--ui-accent);
    font-weight: 500;
}

.quiz-answer__text {
    flex: 1;
    color: var(--tt);
}

.quiz-submit {
    text-align: center;
    margin-top: 30px;
}

.quiz-submit-btn {
    padding: 15px 40px;
    font-size: 16px;
    font-weight: 600;
}

.quiz-result {
    padding: 30px;
    background-color: var(--bgc);
    border-radius: 8px;
    text-align: center;
}

.quiz-result__title {
    font-size: 24px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--tt);
}

.quiz-result__score {
    font-size: 32px;
    font-weight: 700;
    color: var(--ui-accent);
    margin-bottom: 15px;
}

.quiz-result__message {
    font-size: 18px;
    color: var(--tt);
    margin-bottom: 20px;
}

.quiz-result__guest-note {
    margin: 20px 0;
    padding: 15px;
    background-color: var(--bg);
    border-left: 4px solid var(--yellow);
    border-radius: 4px;
    font-size: 14px;
    color: var(--tt);
}

.quiz-result__guest-note a {
    color: var(--ui-accent);
    text-decoration: underline;
}

.quiz-result__actions {
    margin-top: 25px;
}

.quiz-retry-btn {
    padding: 12px 30px;
}

.quiz-user-result-wrapper {
    margin-bottom: 30px;
}

.quiz-user-result {
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
    border-left: 4px solid var(--ui-accent);
}

.quiz-user-result__title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--tt);
}

.quiz-user-result__score {
    font-size: 20px;
    font-weight: 600;
    color: var(--ui-accent);
    margin-bottom: 8px;
}

.quiz-user-result__date {
    font-size: 14px;
    color: var(--tt-fade);
}

.quiz-top-results-wrapper {
    margin-top: 30px;
}

.quiz-results-top {
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
}

.quiz-results-top__title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--tt);
    text-align: center;
}

.quiz-results-top__list {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.quiz-result-item {
    display: flex;
    align-items: center;
    padding: 12px 15px;
    background-color: var(--bg);
    border-radius: 6px;
    gap: 15px;
}

.quiz-result-item__position {
    font-size: 18px;
    font-weight: 700;
    color: var(--ui-accent);
    min-width: 30px;
    text-align: center;
}

.quiz-result-item__user {
    flex: 1;
    font-weight: 500;
    color: var(--tt);
}

.quiz-result-item__score {
    font-size: 14px;
    color: var(--tt-fade);
}


/* Quiz items on news page */

.page__quizzes {
    margin-bottom: 30px;
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
}

.page__quizzes-title {
    font-size: 20px;
    font-weight: 600;
    margin-bottom: 20px;
    color: var(--tt);
}

.quiz-item {
    padding: 20px;
    background-color: var(--bg);
    border-radius: 8px;
    margin-bottom: 15px;
    border: 1px solid var(--bdc);
}

.quiz-item:last-child {
    margin-bottom: 0;
}

.quiz-item__title {
    font-size: 18px;
    font-weight: 600;
    margin-bottom: 10px;
    color: var(--tt);
}

.quiz-item__description {
    font-size: 14px;
    color: var(--tt-fade);
    margin-bottom: 15px;
    line-height: 1.5;
}

.quiz-item__link {
    display: inline-block;
    padding: 10px 25px;
    font-size: 14px;
}

.quiz-item__user-result {
    margin: 10px 0;
    padding: 10px;
    background-color: var(--bgc);
    border-radius: 4px;
    font-size: 14px;
    color: var(--tt);
}

.quiz-item__result-date {
    color: var(--tt-fade);
    font-size: 12px;
    margin-left: 10px;
}

.page__quiz-create {
    margin-top: 20px;
    padding: 20px;
    background-color: var(--bgc);
    border-radius: 8px;
    text-align: center;
}

.quiz-create-btn {
    padding: 12px 30px;
    font-size: 16px;
}


/* Quiz Create Form Wrapper (Slide Toggle) */

#quiz-create-form-wrapper {
    margin: var(--indent) 0;
    overflow: hidden;
}

.quiz-create-form-container {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    box-shadow: var(--bsh-block);
    overflow: hidden;
}

.quiz-create-form-header {
    padding: var(--indent);
    border-bottom: 1px solid var(--bdc);
    background-color: var(--bg-darker);
}

.quiz-create-form-header h3 {
    margin: 0;
    font-size: 20px;
    font-weight: 500;
    color: var(--tt);
    line-height: 1.2;
}

.quiz-create-form-body {
    padding: var(--indent);
}


/* Quiz Create Form Styles */

#quiz-create-form {
    display: flex;
    flex-direction: column;
    gap: var(--indent);
}

#quiz-create-form .form__row {
    display: flex;
    flex-direction: column;
    gap: 8px;
    margin-bottom: 0;
}

#quiz-create-form .form__row label {
    font-size: 14px;
    font-weight: 500;
    color: var(--tt);
    margin-bottom: 4px;
}

#quiz-create-form .form__row input[type="text"],
#quiz-create-form .form__row input[type="number"],
#quiz-create-form .form__row textarea,
#quiz-create-form .form__row select {
    margin-bottom: 0;
}

#quiz-create-form .form__row input[type="text"]:not(:last-child),
#quiz-create-form .form__row input[type="file"]:not(:last-child) {
    margin-bottom: 10px;
}

#quiz-create-form .form__row textarea {
    min-height: 80px;
    resize: vertical;
}


/* Question Item Styles */

.question-item {
    background-color: var(--bg-darker);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    padding: var(--indent);
    margin-bottom: var(--indent);
    transition: all 0.3s ease;
    position: relative;
}

.question-item:hover {
    border-color: var(--accent);
    box-shadow: var(--bsh-block);
}

.question-item:not(:last-child) {
    margin-bottom: var(--indent);
}

.question-item .form__row {
    margin-bottom: 15px;
}

.question-item .form__row:last-child {
    margin-bottom: 0;
}

.question-item .question-type-select {
    width: 100%;
    margin-bottom: 0;
}


/* Answer Types Styles */

.question-answers-text {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.question-answers-text input[type="text"] {
    margin-bottom: 0;
}

.question-answers-image {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
    gap: 15px;
}

.answer-image-item {
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 15px;
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    transition: all 0.3s ease;
}

.answer-image-item:hover {
    border-color: var(--accent);
    box-shadow: var(--bsh-block);
}

.answer-image-item input[type="file"] {
    width: 100%;
    padding: 8px;
    font-size: 13px;
    cursor: pointer;
}

.answer-image-preview {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 10px;
    padding: 10px;
    background-color: var(--bg-darker);
    border-radius: var(--ui-bdrs);
}

.answer-image-preview img {
    width: 100%;
    max-width: 100%;
    height: auto;
    max-height: 200px;
    object-fit: contain;
    border-radius: var(--ui-bdrs);
    border: 1px solid var(--bdc);
}

.answer-image-preview .remove-image-btn {
    align-self: flex-start;
}

.question-image-preview {
    margin-top: 10px;
    padding: 15px;
    background-color: var(--bg-darker);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.question-image-preview img {
    max-width: 100%;
    max-height: 300px;
    width: auto;
    height: auto;
    object-fit: contain;
    display: block;
    border-radius: var(--ui-bdrs);
    border: 1px solid var(--bdc);
}

.question-image-preview .remove-image {
    align-self: flex-start;
}


/* Form Buttons */

#quiz-create-form .form__row:has(#quiz-add-question),
#quiz-create-form .form__row:has(button[type="submit"]) {
    margin-top: 10px;
    padding-top: var(--indent);
    border-top: 1px solid var(--bdc);
}

#quiz-add-question {
    width: 100%;
    justify-content: center;
}

#quiz-create-form button[type="submit"] {
    width: 100%;
    justify-content: center;
    font-size: 16px;
    font-weight: 500;
}

.remove-question {
    margin-top: 10px;
    width: 100%;
    justify-content: center;
}


/* Dark Theme Adjustments */

.dt .question-item {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: var(--bdc);
}

.dt .answer-image-item {
    background-color: rgba(0, 0, 0, 0.2);
    border-color: var(--bdc);
}

.dt .question-image-preview,
.dt .answer-image-preview {
    background-color: rgba(0, 0, 0, 0.2);
}


/* Responsive Styles */

@media screen and (max-width: 760px) {
    .quiz-create-form-header {
        padding: 15px;
    }
    .quiz-create-form-header h3 {
        font-size: 18px;
    }
    .quiz-create-form-body {
        padding: 15px;
    }
    .question-item {
        padding: 15px;
    }
    .question-answers-image {
        grid-template-columns: 1fr;
    }
    .answer-image-item {
        padding: 12px;
    }
}


/* Quiz Admin Styles */

.quiz-admin-item {
    padding: var(--indent);
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    margin-bottom: var(--indent);
    transition: all 0.3s ease;
    box-shadow: var(--bsh-block);
}

.quiz-admin-item:hover {
    border-color: var(--accent);
    box-shadow: var(--bsh);
}

.quiz-admin-item__header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    gap: 15px;
    flex-wrap: wrap;
}

.quiz-admin-item__title {
    font-size: 18px;
    font-weight: 500;
    color: var(--tt);
    flex: 1;
    min-width: 200px;
}

.quiz-admin-item__actions {
    display: flex;
    gap: 10px;
    flex-wrap: wrap;
}

.quiz-admin-item__info {
    margin-top: 15px;
    padding-top: 15px;
    border-top: 1px solid var(--bdc);
}

.quiz-admin-item__info-row {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    margin-bottom: 10px;
    font-size: 14px;
    color: var(--tt-fade);
}

.quiz-admin-item__info-row span {
    display: flex;
    gap: 5px;
    align-items: center;
}

.quiz-admin-item__news {
    padding: 12px 15px;
    background-color: var(--bg-darker);
    border-radius: var(--ui-bdrs);
    font-size: 14px;
    color: var(--tt);
    border: 1px solid var(--bdc);
}

.quiz-admin-item__news a {
    color: var(--ui-accent);
    text-decoration: none;
    font-weight: 500;
}

.quiz-admin-item__news a:hover {
    text-decoration: underline;
}


/* Quiz Admin Form */

.quiz-admin-form {
    background-color: var(--bg);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    padding: var(--indent);
    box-shadow: var(--bsh-block);
}

.quiz-admin-form .form__row {
    margin-bottom: 20px;
}

.quiz-admin-form .form__row:last-child {
    margin-bottom: 0;
}

.quiz-admin-form label {
    font-size: 14px;
    font-weight: 500;
    color: var(--tt);
    margin-bottom: 8px;
    display: block;
}

.quiz-admin-form input[type="text"],
.quiz-admin-form input[type="number"],
.quiz-admin-form textarea,
.quiz-admin-form select {
    margin-bottom: 0;
}

.quiz-admin-form .question-item {
    margin-bottom: var(--indent);
}

.quiz-admin-form .question-item:last-child {
    margin-bottom: 0;
}

.btn-small {
    --ui-elem-height: 32px;
    padding: 0 15px;
    font-size: 13px;
    height: var(--ui-elem-height);
}

.btn-danger {
    background-color: var(--red);
    color: #fff;
}

.btn-danger:hover {
    background-color: #d32f2f;
    color: #fff;
}

.btn-success {
    background-color: var(--green);
    color: #fff;
}

.btn-success:hover {
    background-color: #2e7d32;
    color: #fff;
}


/* File Input Styling */

input[type="file"] {
    padding: 8px;
    font-size: 14px;
    cursor: pointer;
    background-color: var(--ui-bg-inp);
    border: 1px solid var(--ui-bdc-inp);
    border-radius: var(--ui-elem-bdrs);
    transition: all 0.3s ease;
}

input[type="file"]:hover {
    border-color: var(--accent);
}

input[type="file"]:focus {
    border-color: var(--ui-bdc-inp-focus);
    box-shadow: 0 0 0 3px rgba(53, 197, 53, 0.1);
}


/* Quiz Create Button */

.quiz-create-btn {
    padding: 12px 30px;
    font-size: 16px;
    font-weight: 500;
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.quiz-create-btn::before {
    content: "\f067";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
}


/* Loading State */

#quiz-create-form button[type="submit"]:disabled {
    opacity: 0.6;
    cursor: not-allowed;
    pointer-events: none;
}


/* Question Type Selector Enhancement */

.question-type-select {
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
}

.question-type-select:focus {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(121, 193, 66, 0.1);
}


/* Smooth Transitions for Answer Types */

.question-answers-text,
.question-answers-image {
    transition: opacity 0.3s ease, transform 0.3s ease;
}

.question-answers-text[style*="display: none"],
.question-answers-image[style*="display: none"] {
    display: none !important;
}


/* Enhanced Image Preview */

.answer-image-preview,
.question-image-preview {
    position: relative;
    overflow: hidden;
}

.answer-image-preview img,
.question-image-preview img {
    transition: transform 0.3s ease;
}

.answer-image-preview:hover img,
.question-image-preview:hover img {
    transform: scale(1.02);
}


/* Remove Image Button Enhancement */

.remove-image,
.remove-image-btn {
    margin-top: 8px;
    transition: all 0.3s ease;
}

.remove-image:hover,
.remove-image-btn:hover {
    transform: translateY(-1px);
    box-shadow: var(--bsh-block);
}


/* Form Row Spacing Improvements */

#quiz-create-form .form__row+.form__row {
    margin-top: 0;
}

#quiz-create-form .form__row:has(select.question-type-select) {
    margin-bottom: 15px;
}


/* Answer Image Item States */

.answer-image-item:has(input[type="file"]:valid) {
    border-color: var(--green);
}

.answer-image-item:has(.answer-image-preview[style*="display: block"]) {
    border-color: var(--accent);
}


/* Focus States */

#quiz-create-form input:focus,
#quiz-create-form textarea:focus,
#quiz-create-form select:focus {
    outline: none;
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(121, 193, 66, 0.1);
}


/* Required Field Indicator */

#quiz-create-form label:has(+ input[required]),
#quiz-create-form label:has(+ textarea[required]),
#quiz-create-form label:has(+ select[required]) {
    position: relative;
}

#quiz-create-form label:has(+ input[required])::after,
#quiz-create-form label:has(+ textarea[required])::after,
#quiz-create-form label:has(+ select[required])::after {
    content: "*";
    color: var(--red);
    margin-left: 4px;
    font-weight: 500;
}


/* Question Item Number Badge (optional enhancement) */

#quiz-create-questions {
    counter-reset: question-number;
}

.question-item {
    counter-increment: question-number;
    position: relative;
}

.question-item:not(:first-child)::before {
    content: "Вопрос " counter(question-number);
    position: absolute;
    top: -12px;
    left: 15px;
    background-color: var(--accent);
    color: #fff;
    padding: 4px 12px;
    border-radius: 12px;
    font-size: 11px;
    font-weight: 500;
    text-transform: uppercase;
    letter-spacing: 0.5px;
    z-index: 1;
    box-shadow: var(--bsh-block);
}


/* Dark Theme Enhancements */

.dt .quiz-create-form-container {
    box-shadow: 0 12px 40px rgba(0, 0, 0, 0.6);
    border-color: var(--bdc);
}

.dt .quiz-create-form-header {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: var(--bdc);
}

.dt .question-item::before {
    background-color: var(--accent);
}


/* Badges and Awards Admin */

.badges-admin-list,
.awards-admin-list {
    display: flex;
    flex-direction: column;
    gap: 20px;
    margin-bottom: 20px;
}

.badge-admin-item,
.award-admin-item {
    background-color: var(--bg-darker-1);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    padding: var(--indent);
    transition: all 0.3s ease;
}

.badge-admin-item:hover,
.award-admin-item:hover {
    border-color: var(--accent);
    box-shadow: var(--bsh-block);
}

.badge-admin-item .form__row,
.award-admin-item .form__row {
    margin-bottom: 15px;
}

.badge-admin-item .form__row:last-child,
.award-admin-item .form__row:last-child {
    margin-bottom: 0;
    padding-top: 15px;
    border-top: 1px solid var(--bdc);
    display: flex;
    gap: 10px;
}

.badge-admin-item .form__row:last-child button,
.award-admin-item .form__row:last-child button {
    flex: 1;
}

.badge-admin-item label,
.award-admin-item label {
    font-size: 14px;
    font-weight: 500;
    color: var(--tt);
    margin-bottom: 8px;
    display: block;
}

.badge-admin-item input[type="text"],
.badge-admin-item input[type="number"],
.badge-admin-item textarea,
.badge-admin-item select,
.award-admin-item input[type="text"],
.award-admin-item input[type="number"],
.award-admin-item textarea,
.award-admin-item select {
    margin-bottom: 0;
}

.badge-admin-item__header,
.award-admin-item__header {
    font-size: 16px;
    font-weight: 600;
    color: var(--accent);
    margin-bottom: 15px;
    padding-bottom: 10px;
    border-bottom: 1px solid var(--bdc);
}

.badge-icon-preview,
.award-icon-preview {
    margin-top: 10px;
    min-height: 50px;
    display: flex;
    align-items: center;
}

.badge-icon-preview img,
.award-icon-preview img {
    max-width: 100px;
    max-height: 100px;
    border: 1px solid var(--bdc);
    border-radius: 4px;
    padding: 5px;
    background-color: var(--bgc);
}

.badge-admin-empty,
.award-admin-empty {
    text-align: center;
    padding: 40px 20px;
    color: var(--tt-fade);
    font-size: 14px;
    background-color: var(--bg-darker);
    border: 1px dashed var(--bdc);
    border-radius: var(--ui-bdrs);
}

.badge-admin-item small,
.award-admin-item small {
    display: block;
    margin-top: 5px;
    color: var(--tt-fade);
    font-size: 12px;
    line-height: 1.4;
}

.dt .badge-admin-item,
.dt .award-admin-item {
    background-color: rgba(0, 0, 0, 0.3);
    border-color: var(--bdc);
}


/* FRANCHISE PAGE STYLES
----------------------------------------------- */

.franchise-page {
    padding: 20px 0;
}

.franchise-header {
    display: flex;
    gap: 20px;
    margin-bottom: 30px;
    padding: 20px;
    background-color: var(--bg-darker);
    border-radius: var(--ui-bdrs);
    box-shadow: var(--bsh-block);
}

.franchise-image {
    flex-shrink: 0;
}

.franchise-image img {
    max-width: 200px;
    max-height: 300px;
    width: auto;
    height: auto;
    border-radius: var(--ui-bdrs);
    object-fit: cover;
}

.franchise-info {
    flex: 1;
}

.franchise-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--accent);
    margin: 0 0 15px 0;
    line-height: 1.3;
}

.franchise-description {
    font-size: 15px;
    line-height: 1.6;
    color: var(--tt);
    margin-bottom: 15px;
}

.franchise-meta {
    display: flex;
    gap: 20px;
    flex-wrap: wrap;
    font-size: 14px;
    color: var(--tt-fade);
}

.franchise-news-count,
.franchise-updated {
    display: inline-block;
}

.franchise-news {
    margin-top: 30px;
}

.franchise-news h2 {
    font-size: 24px;
    font-weight: 600;
    color: var(--accent);
    margin: 0 0 20px 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--bdc);
}

.year-group {
    margin-bottom: 30px;
}

.year-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--tt);
    margin: 0 0 15px 0;
    padding: 10px 15px;
    background-color: var(--bg-darker);
    border-radius: var(--ui-bdrs);
    border-left: 4px solid var(--accent);
}

.year-news {
    padding-left: 20px;
}

.news-item {
    padding: 10px 0;
    border-bottom: 1px solid var(--bdc);
    display: flex;
    align-items: center;
    gap: 10px;
}

.news-item:last-child {
    border-bottom: none;
}

.news-item .news-link {
    font-size: 16px;
    color: var(--tt);
    text-decoration: none;
    flex: 1;
    transition: color 0.2s;
}

.news-item .news-link:hover {
    color: var(--accent);
}

.news-item .news-date {
    font-size: 14px;
    color: var(--tt-fade);
    white-space: nowrap;
}

@media (max-width: 768px) {
    .franchise-header {
        flex-direction: column;
    }
    .franchise-image {
        text-align: center;
    }
    .franchise-image img {
        max-width: 100%;
        max-height: 400px;
    }
    .franchise-meta {
        flex-direction: column;
        gap: 10px;
    }
}


/* FRANCHISES LIST PAGE STYLES
----------------------------------------------- */

.franchises-list-page {
    padding: 20px 0;
}

.franchises-list-page .page-title {
    font-size: 28px;
    font-weight: 700;
    color: var(--accent);
    margin: 0 0 30px 0;
    padding-bottom: 15px;
    border-bottom: 2px solid var(--bdc);
}

.franchises-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
    gap: 20px;
    margin-bottom: 30px;
}

.franchise-card {
    overflow: hidden;
    display: flex;
    flex-direction: column;
    height: 100%;
    background-color: #fff;
}

.franchise-card:hover {
    border-color: var(--accent);
}

.franchise-card__image {
    position: relative;
    width: 100%;
    padding-top: 56.25%;
    /* 16:9 aspect ratio */
    overflow: hidden;
}

.franchise-card__image img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.franchise-card__content {
    padding: 14px;
    display: flex;
    flex-direction: column;
    flex: 1;
    gap: 12px;
}

.franchise-card__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0;
}

.franchise-card__title a {
    text-decoration: none;
}

.franchise-card__title a:hover {
    color: var(--accent);
}

.franchise-card__description {
    font-size: 14px;
    line-height: 1.5;
    color: var(--tt-fade);
    display: -webkit-box;
    -webkit-line-clamp: 3;
    -webkit-box-orient: vertical;
    overflow: hidden;
    flex: 1;
}

.franchise-card__meta {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 15px;
    padding-top: 15px;
    margin-top: auto;
    border-top: 1px solid var(--bdc);
    font-size: 13px;
    color: var(--tt-fade);
    flex-wrap: wrap;
}

.franchise-card__news-count {
    display: flex;
    align-items: center;
    gap: 5px;
    font-weight: 500;
}

.franchise-card__news-count::before {
    content: "\f1ea";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    color: var(--accent);
}

.franchise-card__date {
    display: flex;
    align-items: center;
    gap: 5px;
}

.franchise-card__date::before {
    content: "\f073";
    font-family: 'Font Awesome 5 Pro';
    font-weight: 400;
    color: var(--tt-fade);
}

@media (max-width: 1220px) {
    .franchises-grid {
        grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
        gap: 15px;
    }
}

@media (max-width: 760px) {
    .franchises-grid {
        grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
        gap: 15px;
    }
    .franchise-card__content {
        padding: 15px;
    }
    .franchise-card__title {
        font-size: 18px;
    }
    .franchise-card__meta {
        flex-direction: column;
        align-items: flex-start;
        gap: 10px;
    }
}

@media (max-width: 470px) {
    .franchises-grid {
        grid-template-columns: 1fr;
    }
    .franchises-list-page .page-title {
        font-size: 24px;
    }
}

.filter__row {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

.filter__row .filter__col {
    display: flex;
    flex-direction: column;
}

.filter__cell {
    display: flex;
    flex-direction: column;
}

.filter__cell label {
    margin-bottom: 4px;
    font-size: 15px;
}

.filter__cell input {
    width: 100%;
}

.filter__col--submit {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
}

#franchise-filter-form {
    display: flex;
    flex-wrap: wrap;
}

.like-submit {
    display: flex;
    align-items: center;
}

.like-submit img {
    width: 52px;
    margin-right: 2px;
}

.like-submit span {
    font-weight: 500;
    color: #333;
}

.btnTelega {
    cursor: pointer;
    background-color: #229ED9;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 3px;
}

.btnTelega span {
    margin-right: 3px;
}

.btnTelega:hover {
    background-color: #1585b9;
}

.btnLinkGo {
    cursor: pointer;
    background-color: #64c80a;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 3px 7px;
    border-radius: 3px;
}

.btnLinkGo span {
    margin-right: 3px;
}

.btnLinkGo:hover {
    background-color: #52aa05;
}

.linkToAjax {
    display: none;
}

.mirror-info-block {
    display: flex;
    align-items: flex-start;
    gap: 15px;
    padding: 16px 20px;
    background: #fff;
    margin: 2px 0;
    box-shadow: var(--bsh);
}

.mirror-info-block__icon {
    flex-shrink: 0;
    width: 48px;
    height: 48px;
    display: flex;
    align-items: center;
    justify-content: center;
    background-color: var(--green);
    color: #fff;
    border-radius: 50%;
    font-size: 20px;
    box-shadow: 0 2px 8px rgba(100, 200, 10, 0.3);
}

.mirror-info-block__content {
    flex: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}

.mirror-info-block__title {
    font-size: 16px;
    font-weight: 600;
    color: var(--tt);
    margin: 0;
    line-height: 1.3;
}

.mirror-info-block__text {
    font-size: 13px;
    color: var(--tt-fade);
    line-height: 1.5;
    margin: 0;
}

.mirror-info-block__link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    height: 42px;
    background-color: var(--green);
    color: #fff;
    border-radius: var(--ui-bdrs);
    font-size: 14px;
    font-weight: 500;
    text-decoration: none;
    width: fit-content;
}

.mirror-info-block__link:hover {
    background-color: #52aa05;
    color: #fff;
}

.mirror-info-block__link .fal {
    font-size: 12px;
}

.mirror-info-block__actions {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-top: 4px;
    flex-wrap: wrap;
}

.mirror-info-block__copy-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 0 14px;
    height: 42px;
    background-color: var(--bg-darker);
    color: var(--tt);
    border: 1px solid var(--bdc);
    border-radius: var(--ui-bdrs);
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.3s ease;
    margin: 0;
    font-family: inherit;
}

.mirror-info-block__copy-btn:hover {
    background-color: var(--bg-darker-1);
    border-color: var(--accent);
    color: var(--tt);
}

.mirror-info-block__copy-btn .fal {
    font-size: 12px;
}

.mirror-info-block__copy-btn--copied {
    background-color: var(--green);
    border-color: var(--green);
    color: #fff;
}

.mirror-info-block__copy-btn--copied:hover {
    background-color: #52aa05;
    border-color: #52aa05;
    color: #fff;
}

.mirror-info-block__copy-text {
    display: inline-block;
}

.dt .mirror-info-block {
    background: linear-gradient(135deg, rgba(100, 200, 10, 0.15) 0%, rgba(100, 200, 10, 0.08) 100%);
    border-color: rgba(100, 200, 10, 0.4);
}

.dt .mirror-info-block:hover {
    background: linear-gradient(135deg, rgba(100, 200, 10, 0.2) 0%, rgba(100, 200, 10, 0.12) 100%);
    border-color: var(--green);
}

@media screen and (max-width: 760px) {
    .mirror-info-block {
        flex-direction: column;
        align-items: center;
        text-align: center;
        padding: 16px;
    }
    .mirror-info-block__icon {
        width: 40px;
        height: 40px;
        font-size: 18px;
    }
    .mirror-info-block__actions {
        width: 100%;
        flex-direction: column;
    }
    .mirror-info-block__link,
    .mirror-info-block__copy-btn {
        width: 100%;
        justify-content: center;
    }
}

.fshare {
    padding: 10px;
    text-align: center;
    white-space: nowrap;
}

.fshare .fal {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 50px;
    height: 30px;
    border-radius: 3px;
    text-align: center;
    line-height: 30px;
    background-color: #C70003;
    color: #fff;
    font-size: 20px;
    margin: 0 2px;
    cursor: pointer;
    position: relative;
}

.fal.fa-vk {
    background-color: #5075a5;
}

.fal.fa-facebook {
    background-color: #4b6baf;
}

.fal.fa-odnoklassniki,
.fal.fa-rss {
    background-color: #FC6D00;
}

.fal.fa-twitter {
    background-color: #2daae1;
}

.fal.fa-telegram {
    background-color: #5682a3;
}


/* CUSTOM SCROLLBAR
----------------------------------------------- */


/* WebKit браузеры (Chrome, Safari, Edge) */

::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

::-webkit-scrollbar-track {
    background: #1d1924;
    border-radius: 5px;
}

::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.2);
    border-radius: 5px;
    transition: background 0.3s ease;
}

::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.3);
}

::-webkit-scrollbar-corner {
    background: #1d1924;
}


/* Firefox */

* {
    scrollbar-width: thin;
    scrollbar-color: rgba(255, 255, 255, 0.2) #1d1924;
}


/* Кастомный скроллбар для .page__fr .sect__content */

.page__fr .sect__content::-webkit-scrollbar {
    width: 8px;
}

.page__fr .sect__content::-webkit-scrollbar-track {
    background: rgba(0, 0, 0, 0.3);
    border-radius: 4px;
}

.page__fr .sect__content::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.15);
    border-radius: 4px;
}

.page__fr .sect__content::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.25);
}