/* BASIC LAYOUT
----------------------------------------------- */
.wrappers {min-width: 320px; position: relative; padding-bottom: 20px;}
.wrapper-container {max-width: var(--max-width); margin: 0 auto; position: relative; z-index: 20;
	background-color: var(--bg); min-height: 100vh; box-shadow: 0 0 0 1px rgba(0,0,0,.08);}
.content {padding: 15px var(--indent) 25px;}

#scrolltop {position: fixed; width: 44px; height: 44px; line-height: 44px; right: 10px; bottom: 10px;
	z-index: 990; display: none; background-color: var(--accent); color: #fff;
	cursor: pointer; font-size: 18px; border-radius: 50%; text-align: center; box-shadow: var(--bsh);}


/* HEADER, NAV
----------------------------------------------- */
.header {background: #fff; border: 1px solid #3a3a3a; border-top: 0; border-radius: 0 0 12px 12px; flex-wrap: nowrap;
	padding: 6px 12px; min-height: 52px; gap: 0 12px; position: relative; z-index: 50;}
.logo {display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;}
.logo__hd {background-color: var(--accent); color: #fff; font: 700 11px/1 Arial, sans-serif;
	padding: 3px 4px; border-radius: 3px; letter-spacing: 0;}
.logo__title {font: 600 20px/1 var(--font-nav); color: #555; letter-spacing: 1.2px; text-transform: uppercase;}
.logo:hover .logo__title {color: #222;}

.header__nav {min-width: 0; display: flex; justify-content: center;}
.header__menu {gap: 0 3px; flex-wrap: nowrap;}
.header__menu > li > a {display: block; font: 500 12px/30px var(--font-nav); color: #333; padding: 0 5px; margin: 4px 0;
	text-transform: uppercase; letter-spacing: .2px; white-space: nowrap; border-radius: 4px;}
.header__menu > li > a:hover, .header__menu > li > a.is-active {color: #fff; background-color: var(--accent);}

.header__search {width: 150px; flex-shrink: 0; text-align: center;}
.header__search-label {font-size: 11px; font-weight: 700; color: #222; margin-bottom: 3px;}
.header__search-box {position: relative;}
.header__search-box input#story {height: 28px; line-height: 28px; font-size: 12px; border-radius: 6px;
	padding: 0 30px 0 10px; box-shadow: inset 0 0 0 1px var(--accent); background: #fff;}
.header__search-box button {position: absolute; right: 0; top: 0; height: 28px; width: 30px; padding: 0;
	background: none; color: var(--tt-darker); font-size: 12px;}
.header__search-box button:hover {background: none; color: var(--accent);}

.header__btn {width: 28px; height: 28px; padding: 0; border-radius: 50%; font-size: 12px; flex-shrink: 0;}
.header__btn-menu {width: 36px; height: 36px; padding: 0; border-radius: 6px; font-size: 18px;}


/* SECTION, POSTER GRID
----------------------------------------------- */
.sect {margin-bottom: 20px;}
.sect__header {margin-bottom: 12px;}
.sect__title {display: inline-block; background-color: var(--accent); color: #111; font-size: 13px; font-weight: 400;
	padding: 7px 14px; border-radius: 4px; line-height: 1.2;}
a.sect__title:hover, h2.sect__title:hover {background-color: var(--accent-darker); color: #fff;}
.sect__title a {color: inherit;}
.sect__title a:hover {color: #fff;}
h1.sect__title {font-size: 13px;}
.sect__content {min-height: 100px;}

.poster {display: flex; flex-direction: column; color: var(--tt-lighter); min-width: 0;}
.poster__img {border-radius: 6px; background-color: #ddd; box-shadow: var(--bsh-2);}
.poster__img img {transition: transform .3s;}
.poster:hover .poster__img img {transform: scale(1.04);}
.poster__label {position: absolute; z-index: 2; left: 5px; top: 5px; background: rgba(0,0,0,.7); color: #fff;
	font-size: 10px; font-weight: 700; padding: 2px 5px; border-radius: 3px; text-transform: uppercase;}
.poster__label--right {left: auto; right: 5px; background: var(--accent);}
.poster__title {font-size: 12px; font-weight: 700; margin-top: 6px; line-height: 1.3;
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;}
.poster__year {font-size: 11px; color: var(--tt-darker-2); margin-top: 2px;}
.poster:hover .poster__title {color: var(--accent-darker);}
.sect--home .poster__title, .sect--home .poster__year {display: none;}

.speedbar {font-size: 12px; color: var(--tt-darker-2); margin-bottom: 12px;}
.speedbar a {color: var(--link);}
.speedbar a:hover {text-decoration: underline;}


/* SEO TEXT, FOOTER, PAGINATION
----------------------------------------------- */
.site-desc {background: #fff; border-radius: 6px; padding: 15px 18px; margin-top: 10px; line-height: 1.6;
	color: #444; box-shadow: var(--bsh-2);}
.site-desc h1, .site-desc h2 {font-size: 16px; margin-bottom: 8px; color: #222;}
.site-desc p + p {margin-top: 8px;}

.footer {text-align: center; padding: 18px var(--indent) 22px; border-top: 1px solid var(--bdc);
	font-size: 12px; color: #555; line-height: 1.6;}
.footer__links {gap: 4px 18px; margin-bottom: 8px;}
.footer__links a {color: var(--link); font-weight: 700;}
.footer__links a:hover {text-decoration: underline;}
.footer__counters {margin-top: 10px; min-height: 1px;}

.pagination {text-align: center; padding-top: 20px;}
.pagination__btn-loader a, .pagination__btn-loader > span {display: inline-flex; justify-content: center; align-items: center;
	height: 36px; padding: 0 30px; max-width: 320px; width: 100%; background: #fff; color: var(--tt);
	font-weight: 700; text-transform: uppercase; font-size: 12px; margin-bottom: 8px; border-radius: 4px;
	box-shadow: inset 0 0 0 1px var(--ui-bdc);}
.pagination__pages a, .pagination__pages span {display: inline-block; margin: 6px 3px 0 3px; line-height: 32px;
	padding: 0 8px; min-width: 34px; font-size: 13px; background: #fff; border-radius: 4px;
	box-shadow: inset 0 0 0 1px var(--ui-bdc); color: var(--tt);}
.pagination__pages span:not(.nav_ext), .pagination__pages a:hover, .pagination__btn-loader a:hover
	{background: var(--accent); color: #fff; box-shadow: none;}


/* FULL STORY
----------------------------------------------- */
.pmovie {gap: 15px; align-items: flex-start;}
.pmovie__main {min-width: 0;}
.pmovie__side {width: 220px; flex-shrink: 0;}

.pmovie__top {background: #fafafa; border-radius: 6px; padding: 12px; gap: 15px; box-shadow: var(--bsh-2);}
.pmovie__poster {width: 160px; flex-shrink: 0; border-radius: 6px; align-self: flex-start;}
.pmovie__poster-img {padding-top: 150%; position: relative; overflow: hidden; border-radius: 6px; background: #ddd;}
.pmovie__poster-img img {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.pmovie__info {min-width: 0;}
.pmovie__title {font-size: 18px; color: #222; margin-bottom: 8px; line-height: 1.25;}
.pmovie__title .fa-pencil {font-size: 13px; color: var(--tt-darker); margin-left: 5px;}
.pmovie__desc {font-size: 12px; line-height: 1.55; color: #666; max-height: 76px; overflow: hidden; position: relative;}
.pmovie__desc.is-open {max-height: none;}
.pmovie__desc:not(.is-open)::after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 22px;
	background: linear-gradient(to top, #fafafa, rgba(250,250,250,0));}
.pmovie__more {display: block; width: 100%; height: 28px; margin: 10px 0; background: #eee; color: #222;
	font-size: 11px; border-radius: 3px; box-shadow: inset 0 0 0 1px #e2e2e2;}
.pmovie__more:hover {background: #e4e4e4; color: #000;}

.pmovie__list {display: grid; grid-template-columns: 1fr 1fr; gap: 6px 15px; font-size: 11px; color: #444;}
.pmovie__list li {line-height: 1.4;}
.pmovie__list li > span:first-child {color: #222; margin-right: 4px;}
.pmovie__list li.is-wide {grid-column: 1 / -1;}
.pmovie__list a {color: var(--link);}
.pmovie__list a:hover {text-decoration: underline;}
.pmovie__rating {display: inline-flex; align-items: center; gap: 5px; font-weight: 700; color: #222;}
.pmovie__rating .fas {color: var(--accent-2);}

.pmovie__notice {background: #fff; border-left: 4px solid var(--accent); border-radius: 4px; padding: 10px 14px;
	margin: 15px 0; text-align: center; font-size: 12px; line-height: 1.55; color: #444; box-shadow: var(--bsh-2);}
.pmovie__notice a {color: var(--accent-darker); font-weight: 700;}
.pmovie__notice a:hover {text-decoration: underline;}
.pmovie__notice b {color: var(--accent-3);}

.pmovie__player {background: #000; border-radius: 6px; overflow: hidden; margin-bottom: 12px;}
.pmovie__player-controls {background: #1d1d1d; padding: 0 10px; min-height: 38px;}
.tabs-block__select span {display: inline-block; cursor: pointer; color: #aaa; font-size: 12px; font-weight: 700;
	text-transform: uppercase; padding: 0 10px; line-height: 38px;}
.tabs-block__select span:hover {color: #fff;}
.tabs-block__select span.is-active {color: #fff; box-shadow: inset 0 -3px var(--accent);}
.pmovie__complaint a {color: #aaa; font-size: 11px;}
.pmovie__complaint a:hover {color: #fff;}
.video-responsive {padding-top: 56.25%; position: relative; background: #000;}
.video-responsive > iframe, .video-responsive > video {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}
.pmovie__player-bottom {background: #1d1d1d; color: #ccc; padding: 6px 10px; font-size: 12px; gap: 10px;}
.pmovie__rating-likes {gap: 12px;}
.pmovie__rating-likes a {color: #ccc;}
.pmovie__rating-likes a:hover {color: #fff;}
.pmovie__rating-likes .fas {margin-right: 4px;}
.pmovie__rating-likes .fa-thumbs-up {color: var(--accent);}
.pmovie__rating-likes .fa-thumbs-down {color: var(--accent-3);}

.pmovie__caption {font-size: 12px; line-height: 1.6; color: #555; background: #fff; border-radius: 6px;
	padding: 12px 15px; margin-bottom: 15px; box-shadow: var(--bsh-2);}
.pmovie__caption h2 {font-size: 14px; color: #222; margin-bottom: 6px;}
.pmovie__related {margin-bottom: 20px;}
.pmovie__related .d-grid {grid-template-columns: repeat(5, minmax(0, 1fr));}


/* SIDEBAR
----------------------------------------------- */
.side-box {background: #fff; border-radius: 10px; padding: 12px; margin-bottom: 12px; box-shadow: var(--bsh-2);}
.side-box__title {font-size: 14px; font-weight: 700; color: #111; margin-bottom: 4px;}
.side-box__text {font-size: 10px; color: #888; line-height: 1.4; margin-bottom: 10px;}
.vk-card {display: block; text-align: center; border: 1px solid #e3e3e3; border-radius: 10px; padding: 12px 10px;}
.vk-card__logo {display: inline-flex; width: 32px; height: 32px; border-radius: 8px; background: var(--vk);
	color: #fff; font: 700 13px/32px Arial, sans-serif; justify-content: center; margin-bottom: 6px;}
.vk-card__name {display: block; color: var(--vk); font-weight: 700; font-size: 12px;}
.vk-card__subs {display: block; color: #999; font-size: 10px; margin: 3px 0 10px;}
.vk-card__btn {display: block; background: var(--vk); color: #fff; font-size: 12px; font-weight: 700;
	line-height: 30px; border-radius: 6px;}
.vk-card:hover .vk-card__btn {background: #0066db; color: #fff;}

.side-pop {background: #fff; border-radius: 6px; overflow: hidden; box-shadow: var(--bsh-2);}
.side-pop__title {background: #e6e6e6; text-align: center; font: 600 13px/34px var(--font-nav);
	text-transform: uppercase; color: #222;}
.side-pop__list {padding: 6px 8px;}
.pop {display: flex; align-items: center; gap: 10px; padding: 6px 0; color: #111;}
.pop + .pop {border-top: 1px solid #f0f0f0;}
.pop__img {width: 40px; height: 58px; flex-shrink: 0; border-radius: 3px; overflow: hidden; background: #ddd; position: relative;}
.pop__img img {width: 100%; height: 100%; object-fit: cover;}
.pop__title {display: block; font-size: 12px; font-weight: 700; line-height: 1.3;}
.pop__year {display: block; font-size: 11px; color: #777; margin-top: 3px;}
.pop:hover .pop__title {color: var(--accent-darker);}


/* INNER PAGE, MESSAGES
----------------------------------------------- */
.page {background: #fff; border-radius: 6px; padding: 15px 18px; box-shadow: var(--bsh-2);}
.page__title {font-size: 18px; margin-bottom: 12px; color: #222;}
.page__comments {background: #fff; border-radius: 6px; padding: 15px; box-shadow: var(--bsh-2);}
.page__comments-form {margin-bottom: 15px;}


/* TEXT BLOCK, TYPOGRAPHY
----------------------------------------------- */
.full-text {line-height: 1.6; font-size: 13px; word-wrap: break-word;}
.full-text a {text-decoration: underline; color: var(--link);}
.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: 12px;}
.full-text > ul li, .full-text > ol li {padding-left: 20px; position: relative;}
.full-text > ul li:before {content: ''; width: 6px; height: 6px; border-radius: 50%; background: var(--accent);
	position: absolute; top: 7px; left: 5px;}
.full-text > ol {list-style: decimal inside;}
.full-text > ol li {padding-left: 0;}
.full-text table, .video-inside > * {width: 100%;}
.full-text table tr td {padding: 8px; border: 1px solid #e3e3e3;}
.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 16px;}
.full-text iframe {width: 100%; height: 400px;}
.full-text > *:last-child {margin-bottom: 0;}

/* COMMENTS
----------------------------------------------- */
.page__comments {margin: 0;}
.page__comments-title {font-size: 18px; font-weight: 700; color: var(--tt-lighter); margin-bottom: 20px;}
.page__comments-info {font-size: 14px; margin-bottom: 15px; margin-top: -15px; 
	color: var(--tt-darker-2); line-height: 1.5;}
.page__comments-info .fas {color: #eb4d4b; margin-right: 6px;}
.page__comments-header {position: relative; padding-right: 130px;}
.page__comments-btn {position: absolute; right: 0; top: 0;}
.page__comments-list {padding: 0;}
.page__comments-list--not-comments {padding: 0; border: 0;}
.add-comments-form.form {padding: 0; margin-bottom: 20px;}
.add-comments-form .form__input, .add-comments-form__input, .add-comments-form .form__textarea-inside textarea, 
.mass_comments_action select {border-radius: 0;}
.add-comments-form__input {margin-left: 20px;}
.add-comments-form .d-none123, .comments_subscribe + br {display: none;}
.mass_comments_action {display: flex; align-items: center; max-width: 800px; white-space: nowrap; margin-bottom: 20px;}
.mass_comments_action select {flex: 1 1 0; margin: 0 -8px 0 20px;}
.mass_comments_action .bbcodes {border-radius: 0; padding: 0 10px;}

.comment-item__title {font-weight: 600; font-size: 18px; margin-bottom: 20px;}
.comment-item {margin-bottom: 20px; padding-bottom: 15px; 
	border-bottom: 1px solid var(--bdc); box-shadow: 0 1px var(--bdc-lighter);}
.comment-item__img {width: 40px; height: 40px; border-radius: 50%; margin-right: 10px;}
.comment-item__letter {width: 100%; height: 100%; text-transform: uppercase; font-weight: 600; 
	position: absolute; left: 0; top: 0; z-index: 5; color: #fff; font-size: 18px;}
.comment-item__author, .comment-item__author a {font-weight: 600; font-size: 14px; color: var(--tt);}
.comment-item__date {color: var(--tt-darker-2); margin-top: 4px; font-size: 12px;}
.comment-item__main {margin: 8px 0 6px 0; font-size: 15px;}
.comment-item__rating {white-space: nowrap; font-size: 14px;}
.comment-item__rating a {margin-left: 6px; color: var(--tt);}
.comment-item__rating a > span:first-child {color: #6ab04c; margin-right: 2px; color: var(--tt-darker);}
.comment-item__rating a:last-child > span:first-child {color: #eb4d4b; color: var(--tt-darker);}
.comment-item__reply a {font-size: 12px; margin-right: 20px; color: var(--tt-darker-2);}
.comment-item__reply a .fas {margin-left: 5px;}
.comment-item__reply + .comment-item__reply a .fas {margin-left: 0; margin-right: 5px;}
.comment-item__controls {text-align: right; font-size: 12px; margin-right: -15px;}
.comment-item__controls li {display: inline-block; vertical-align: middle; margin: 0 0 0 10px; height: 16px; line-height: 16px;}
.comment-item__controls a:not(:hover) {color: var(--tt-darker-2);}
.comment-item__footer a:hover {text-decoration: underline;}
.comment-item__rating a:hover > span:first-child {text-decoration: none;}
.comment-item__controls .checkbox {transform: scale(0.8,0.8); margin-left: 5px;}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); overflow: hidden;
	background-color: var(--ui-bg); border-radius: 4px; width: 400px; 
	box-shadow: 0 15px 45px rgba(0,0,0,.35);}
.login__header {padding: 20px 40px; background-color: var(--ui-bg-darker);}
.login__title {font-size: 18px; font-weight: 600; padding: 1px 0; text-transform: capitalize; color: var(--tt-lighter);}
.login__close {cursor: pointer; font-size: 24px; opacity: 1; margin-left: 20px;}
.login__title a {border-bottom: 1px dotted var(--tt); margin-left: 10px; font-weight: 400; color: var(--tt);}
.login__content {padding: 20px 40px;}
.login__row {margin-bottom: 20px; position: relative; display: block; font-size: 14px; color: var(--tt);}
.login__caption {font-size: 14px; color: var(--tt-lighter); margin-bottom: 10px;}
.login__caption a {text-decoration: underline; margin-left: 6px; color: var(--accent-3);}
.login__input input {padding-left: 40px;}
.login__row .fas {opacity: 0.6; position: absolute; left: 0; bottom: 0; line-height: 40px; width: 40px; text-align: center;}
.login__row button {width: 100%;}
.login__social {background-color: var(--ui-bg-darker); padding: 20px 40px; text-align: center;}
.login__social-caption {font-size: 11px; text-transform: uppercase; margin-bottom: 10px;}
.login__social-btns a {display:inline-block; margin: 0 3px; vertical-align:top;}
.login__social-btns img {display:block; width:30px; height: 30px; border-radius: 50%;}
.login__avatar {width: 40px; height: 40px; border-radius: 50%; margin-right: 10px;}
.login__menu {padding-left: 35px; padding-right: 35px; margin-bottom: -10px;}
.login__menu li {flex: 1 1 0; min-width: auto; max-width: 100%; margin: 0 5px 10px 5px;}
.login__menu a {display: block; border-radius: 6px; padding: 10px; text-align: center; white-space: nowrap;
	background-color: var(--ui-bg-darker); box-shadow: inset 0 0 10px rgba(0,0,0,0.1); font-size: 13px;}
.login__menu .fas {display: block; height: 30px; font-size: 24px; opacity: 0.3;}




/* MOBILE MENU
----------------------------------------------- */
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%; 
	opacity: 0.6; background-color: #000; cursor: pointer; display: none;}
.mobile-menu {width: 340px; height: 100%; overflow-x: hidden; overflow-y: auto;
	padding: 20px 20px; z-index: 999; position: fixed; left: -380px; top: 0; transition: left .4s; 
	background-color: var(--bg-lightest); color: var(--tt);}
.mobile-menu.is-active {left: 0;}
.mobile-menu-close {cursor: pointer; display: block; left: 340px; top: -40px; position: fixed; z-index: 999;
	width: 40px; height: 40px; line-height: 40px; text-align: center; font-size: 18px; opacity: 0;
	background-color: var(--accent); color: #fff; transition: top .4s, opacity .4s;}
.mobile-menu-close.is-active {top: 0px; opacity: 1;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
.mobile-menu .header__menu {margin: 0; padding: 10px 20px; display: block; background: var(--bg-3); 
	width: calc(100% + 40px); margin: -10px -20px 25px -20px; max-width: none;}


/* ADAPTIVE
----------------------------------------------- */
.header__btn-menu {display: none;}
.mobile-menu .header__nav {display: block;}
.mobile-menu .header__menu {background: none; display: block; width: auto; margin: 0 0 15px 0; padding: 0;}
.mobile-menu .header__menu > li {border-bottom: 1px solid var(--bdc);}
.mobile-menu .header__menu > li > a {line-height: 42px; height: auto; font-size: 16px;}

@media screen and (max-width: 960px) {
	.wrapper-container {box-shadow: none;}
	.header {border-radius: 0; border-left: 0; border-right: 0;}
	.header__nav {display: none;}
	.header__btn-menu {display: inline-flex; order: -1;}
	.header__search {flex: 1 1 0; width: auto; max-width: 320px; margin-left: auto;}
	.header__search-label {display: none;}
	.d-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.pmovie__related .d-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}
	.pmovie {flex-direction: column;}
	.pmovie__side {width: 100%; display: grid; grid-template-columns: 1fr 1fr; gap: 12px;}
	.side-box {margin-bottom: 0;}
}

@media screen and (max-width: 640px) {
	.header {flex-wrap: wrap; gap: 6px 10px; padding: 8px 10px;}
	.header__search {order: 10; min-width: 100%; max-width: none;}
	.d-grid, .pmovie__related .d-grid {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
	.pmovie__top {flex-direction: column; align-items: center;}
	.pmovie__poster {width: 180px; align-self: center;}
	.pmovie__title {text-align: center;}
	.pmovie__list {grid-template-columns: 1fr;}
	.pmovie__side {grid-template-columns: 1fr;}
	.pmovie__related .poster:nth-child(n+7) {display: none;}
	.login {max-width: 92%; max-height: 90%; overflow-x: hidden; overflow-y: auto;}
	.login__header, .login__content, .login__social {padding-left: 20px; padding-right: 20px;}
	.add-comments-form__input {min-width: 100%; margin: 0 0 10px 0;}
	.add-comments-form__btn {width: 100%; order: 10;}
	.mass_comments_action, .comment-item__controls {display: none;}
	.full-text iframe {height: 240px;}
}

@media screen and (max-width: 340px) {
	.d-grid, .pmovie__related .d-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}
	.mobile-menu {width: 280px;}
	.mobile-menu-close {left: 280px;}
}


/* GRID FOR {content} (DLE оборачивает его в #dle-content)
----------------------------------------------- */
.sect__content--grid > #dle-content {display: grid; gap: 12px; grid-template-columns: repeat(6, minmax(0, 1fr));}
.sect__content--grid > #dle-content > *:not(.poster) {grid-column: 1 / -1;}
@media screen and (max-width: 960px) {
	.sect__content--grid > #dle-content {grid-template-columns: repeat(4, minmax(0, 1fr));}
}
@media screen and (max-width: 640px) {
	.sect__content--grid > #dle-content {grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px;}
}
@media screen and (max-width: 340px) {
	.sect__content--grid > #dle-content {grid-template-columns: repeat(2, minmax(0, 1fr));}
}

.side-pop__title, .page__comments-title {font-size: 13px;}
.page__comments-title {font-size: 16px;}
