/* BASIC LAYOUT
----------------------------------------------- */
.wrappers {min-width: 320px; position: relative;}
.wrapper-container {max-width: var(--maximum-width); margin: 0 auto; position: relative; z-index: 20;}
.wrapper-main {padding: 0 var(--indent); min-height: 100vh;}
.header {background-color: var(--bg-head); position: relative; z-index: 101; padding-top: 16px; padding-bottom: 16px;
	border-bottom: 1px solid var(--bdc);}
.header-nav {background: var(--bg-3); --tt: #fff; position: relative; z-index: 100; gap: 16px;
	padding-top: 10px; padding-bottom: 10px; border-bottom: 1px solid rgba(255,255,255,0.06);
	box-shadow: 0 12px 30px -20px rgba(0,0,0,0.8);}
.content {grid-area: main; min-height: 80vh;}
.sidebar {grid-area: side; border-right: 1px solid var(--bdc); padding-right: 30px;}
.footer {background-color: var(--bg-2); padding-top: 24px; color: var(--tt-2); border-top: 1px solid var(--bdc);
	font-size: 14px; --tt: #fff; --tt-l: var(--tt-2);}
.footer__two {background-color: var(--bg-3); margin-top: 24px; padding-top: 18px; padding-bottom: 18px;}
.cols {display: grid; grid-template-columns: 210px minmax(0,1fr); gap: 30px; grid-template-areas: "side main";}
.cols-content {padding: 36px 0;}

#scrolltop {position: fixed; width: 52px; height: 52px; line-height: 52px; right: 14px; bottom: 14px;
	z-index: 990; display: none; background: var(--grad); color: #fff;
	cursor: pointer; font-size: 22px; border-radius: 16px; text-align: center; box-shadow: var(--glow);}
#scrolltop:hover {background: var(--grad-hover);}


/* HEADER, NAV
----------------------------------------------- */
.logo {display: inline-flex; flex-direction: column; justify-content: center; font-weight: 700; text-transform: uppercase;
	font-size: 22px; height: 48px; line-height: 1; color: var(--tt) !important; letter-spacing: 2px;
	position: relative; padding-left: 70px;}
/* logo icon: images/logo.svg - neon "Ai" on a film frame (the small sparkle twinkles inside the SVG itself) */
.logo::before {content: ''; position: absolute; left: 0; top: 50%; width: 58px; height: 47px; margin-top: -23px;
	background: url(../images/logo.svg) center / contain no-repeat; filter: drop-shadow(0 3px 12px rgba(255,45,135,.35));
	transition: filter .3s, transform .3s;}
/* hover: the neon sign flickers and glows brighter */
a.logo:hover::before {filter: drop-shadow(0 3px 16px rgba(255,45,135,.7)); transform: rotate(-4deg) scale(1.05); animation: logo-flick .8s linear 1;}
@keyframes logo-flick {0%, 100% {opacity: 1;} 10% {opacity: .45;} 16% {opacity: 1;} 24% {opacity: .7;} 30% {opacity: 1;}}
@media (prefers-reduced-motion: reduce) {a.logo:hover::before {animation: none; transform: none;}}
.logo span {margin-left: .12em; background: var(--grad-logo); -webkit-background-clip: text; background-clip: text; color: transparent;
	filter: drop-shadow(0 0 7px rgba(255,61,139,.4));}
.logo__caption {font-size: 11px; text-transform: uppercase; font-weight: 400;
	margin-top: 8px; letter-spacing: 1.6px; color: var(--tt-l);}
.header__logo {min-width: 200px; margin-right: 30px;}

/* Верхнее меню */
.header__menu > li {margin-right: 4px; position: relative;}
.header__menu > li > a {height: 40px; padding: 0 14px; border-radius: 12px; font-size: 15px; font-weight: 500;
	display: flex; align-items: center; transition: background-color .2s, color .2s, box-shadow .2s;}
.header__menu > li > a .fal {margin-right: 9px; font-size: 16px; color: #b79cff; transition: color .2s;}
.header-nav .header__menu > li > a {color: rgba(255,255,255,0.86);}
.header-nav .header__menu > li > a:hover {color: #fff; background-color: rgba(255,255,255,0.07);}
.header-nav .header__menu > li > a:hover .fal {color: #e1d2ff;}
.header-nav .header__menu > li > a.is-active {background: var(--grad); color: #fff; box-shadow: var(--glow);}
.header-nav .header__menu > li > a.is-active .fal {color: #fff;}
/* "Жанры" — кнопка выпадающего меню */
.header-nav .submenu > a {background-color: rgba(168,85,247,0.16); box-shadow: inset 0 0 0 1px rgba(180,124,255,0.35);}
.header-nav .submenu:hover > a {background-color: rgba(168,85,247,0.26); color: #fff;}

/* Выпадающее меню жанров */
.menu {column-width: 180px; column-gap: 30px;}
.header-nav .menu {position: absolute; top: calc(100% + 12px); left: 0; width: 900px; max-width: calc(100vw - 80px);
	background: var(--bg-pop); border: 1px solid rgba(255,255,255,0.08); border-radius: 18px;
	padding: 20px 22px 10px; box-shadow: 0 24px 60px -12px rgba(0,0,0,0.75); --tt: #fff; --tt-3: #9c95ae;
	opacity: 0; visibility: hidden; transform: translateY(8px); transition: opacity .2s, transform .2s, visibility .2s;}
.header-nav .menu::before {content: ''; position: absolute; left: 0; right: 0; top: -16px; height: 16px;}
.header-nav .header__menu > li:hover .menu {opacity: 1; visibility: visible; transform: none;}
.menu li {margin-bottom: 4px; break-inside: avoid; position: relative;}
.menu li a {display: block; padding: 7px 40px 7px 10px; border-radius: 9px; transition: background-color .15s, color .15s;}
.menu li span {position: absolute; right: 10px; top: 50%; transform: translateY(-50%); color: var(--tt-3);
	font-size: 12px; pointer-events: none;}
.menu li a:hover {background-color: var(--accent-soft); color: var(--accent);}
.header-nav .menu li a:hover {color: #d7c2ff;}

/* Боковое и мобильное меню */
.side__menu {margin-bottom: 24px; margin-top: -10px; border-bottom: 1px solid var(--bdc); padding-bottom: 16px;}
.side__menu > li {margin: 0 0 2px 0;}
.side__menu > li > a {height: 42px; border-radius: 12px; padding: 0 10px; color: var(--tt);}
.side__menu > li > a:hover {background-color: var(--bg-d); color: var(--tt);}
.side__menu > li > a .fal {margin-right: 4px; opacity: 1; width: 28px; color: var(--accent);}
.sidebar .menu {border-bottom: 1px solid var(--bdc); padding-bottom: 15px;}
.sidebar .header__menu > li > a.is-active, .mobile-menu .header__menu > li > a.is-active
{background: var(--grad); color: #fff; box-shadow: var(--glow);}
.side__menu > li > a.is-active .fal {color: #fff;}

/* Поиск */
.header__search {position:relative; margin-right: 20px;}
.header__search form {max-width: 520px; position: relative;}
.header__search-box {position: relative;}
.header__search input {height: 44px; line-height: 44px; padding: 0 56px 0 20px; border-radius: 22px;
	background: var(--input-bg); box-shadow: inset 0 0 0 1px var(--input-bd); color: var(--tt);}
.header__search input:focus {box-shadow: inset 0 0 0 1px var(--accent), 0 0 0 4px var(--accent-soft);}
.header__search input:not(:focus)::placeholder {color: var(--tt); opacity: 0.55; font-size: 14px; font-weight: 400;}
.header__search button {position:absolute; z-index: 5; right: 4px; top: 4px; width: 36px; height: 36px; padding: 0;
	border-radius: 50%; background: none; color: var(--accent); font-size: 16px;}
.header__search button:hover {background: var(--grad); color: #fff; box-shadow: none;}
.header__reg {margin-right: 10px; background: var(--bg-d); color: var(--tt); box-shadow: inset 0 0 0 1px var(--bdc);}
.header__reg:hover {color: #fff;}

/* Переключатель темы */
.theme-toggle {display: inline-flex; justify-content: space-between; align-items: center; cursor: pointer;
	background-color: rgba(0,0,0,0.28); height: 40px; border-radius: 20px; padding: 5px 0;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,0.07);}
.theme-toggle li {cursor: pointer; width: 30px; height: 30px; line-height: 30px;
	border-radius: 50%; text-align: center; color: rgba(255,255,255,0.75); margin: 0 5px; transition: all .25s;}
.theme-toggle:hover li {color: #fff;}
.dt-is-active .theme-toggle li:first-child, body:not(.dt-is-active) .theme-toggle li:last-child
{background: var(--grad); color: #fff; box-shadow: 0 4px 12px -2px rgba(168,85,247,0.6);}

/* Кнопка Create AI Video */
.header__upl, .header__ai {position: relative; overflow: hidden; isolation: isolate; height: 42px; padding: 0 18px 0 13px;
	gap: 9px; border-radius: 12px; font-size: 15px; font-weight: 700; letter-spacing: 0.01em;
	background: var(--grad); color: #fff; box-shadow: var(--glow);}
.header__ai::after {content: ''; position: absolute; top: 0; bottom: 0; left: -60%; width: 40%; z-index: -1;
	background: linear-gradient(90deg, transparent, rgba(255,255,255,0.35), transparent); transform: skewX(-20deg);
	animation: aiShine 5s ease-in-out infinite;}
.header__ai:hover {background: var(--grad-hover); color: #fff; transform: translateY(-1px);
	box-shadow: 0 12px 28px -8px rgba(217,70,239,0.75);}
.header__ai-short {display: none;}
.ai-ico {width: 22px; height: 22px; flex: none; overflow: visible;}
.ai-ico__turn {transform-box: fill-box; transform-origin: center; transition: transform .7s cubic-bezier(.2,.8,.2,1);}
.ai-ico__gear {transform-box: fill-box; transform-origin: center; animation: aiSpin 10s linear infinite;}
.ai-ico__spark {transform-box: fill-box; transform-origin: center; animation: aiTwinkle 2.4s ease-in-out infinite;}
.ai-ico__spark--2 {animation-delay: .8s;}
.ai-ico__spark--3 {animation-delay: 1.6s;}
.header__ai:hover .ai-ico__turn {transform: rotate(120deg);}
@keyframes aiSpin {to {transform: rotate(360deg);}}
@keyframes aiTwinkle {50% {transform: scale(.5); opacity: .55;}}
@keyframes aiShine {0%, 70% {left: -60%;} 100% {left: 130%;}}
@media (prefers-reduced-motion: reduce) {
	.ai-ico__gear, .ai-ico__spark, .header__ai::after {animation: none;}
}

/* Вход, уведомления, аватар */
.header__login-btn--not-logged {height: 36px; padding: 0 15px;}
.header__login-pm {position: relative; font-size: 23px; margin-right: 18px; color: var(--tt);}
.header__login-pm:hover {color: var(--accent);}
.header__login-pm::after {content: ''; width: 8px; height: 8px; border-radius: 50%;
	background-color: var(--accent-2); position: absolute; right: -1px; top: 3px;}
.header__login-btn--logged {padding: 0; display: block; width: 40px; height: 40px; border-radius: 50%; background: var(--bg-d);
	box-shadow: 0 0 0 2px var(--bg-head), 0 0 0 4px var(--accent-ring);}
.header__login-btn--logged:hover {box-shadow: 0 0 0 2px var(--bg-head), 0 0 0 4px var(--accent-2);}
.header__login-pm:not(.header__login-pm--0)::after {animation: pmNew 1s infinite linear; animation-direction: alternate;}
@keyframes pmNew {
	from {background-color: #f0abfc; box-shadow: 0 0 0 0 rgba(217,70,239,1);}
	to {background-color: #d946ef; box-shadow: 0 0 0 10px rgba(217,70,239,0);}
}


/* SECTION
----------------------------------------------- */
.sect:not(:last-child) {margin-bottom: 24px;}
.sect__header {margin-bottom: 18px;}
.sect__title {font-size: 18px; font-weight: 700; text-transform: uppercase;
	letter-spacing: 1px; color: var(--tt); gap: 10px; display: flex; align-items: center; flex-wrap: wrap;}
.sect__title span {color: var(--tt);}
.sect__title .fal {color: var(--accent);}
.sect__sort {position: relative;}
.sect__sort * {display: inline-block; vertical-align: middle;}
/* sorting: Date, Popularity, Views (Title, Date of change and Comments are hidden) */
.sect__sort .sort_by_title, .sect__sort .sort_by_editdate, .sect__sort .sort_by_comm_num {display: none;}
.sect__sort a {text-transform: uppercase; margin-left: 10px; color: var(--tt-3); font-size: 11px;}
.sect__sort a:hover {color: var(--accent);}
.sect__sort a::after, .submenu > a::after {content: "\f107"; font-weight: 300; font-family: 'Font Awesome 5 Pro'; margin-left: 8px; display: inline-block;}
.sect__sort .desc a::after {content:"\f106";}
.sect__sort li.asc a, .sect__sort li.desc a {color: var(--accent); font-weight: 600;}   /* the sort that is on now */
.sect__link {margin-left: 20px; padding: 0 14px; border-radius: 999px; height: 32px;
	background-color: var(--bg-d); color: var(--tt); font-weight: 500; font-size: 13px;}
.sect__subtitle {font-size: 24px; margin-bottom: 40px;}
.descr {display: grid; grid-gap: 10px 0; line-height: 1.5; font-size: 14px; color: var(--tt-l); margin-bottom: 40px; padding-top: 20px;}
.descr h1, .descr h2, .descr h3 {font-size: 18px; font-weight: 700; text-transform: uppercase; color: var(--tt-3); line-height: 1.3;}
.descr:last-child, .sect:last-child {margin-bottom: 0;}
.descr--top {margin-bottom: 16px; grid-gap: 10px 0; font-size: 13px; line-height: 1.5; padding: 0;}
/* Home page H1: the biggest heading on the page (section titles below are 18px), with a soft violet glow */
.descr--top h1 {font-size: 30px; font-weight: 800; line-height: 1.15; letter-spacing: -.01em; text-transform: none;
	color: var(--tt); text-shadow: 0 0 26px rgba(168,85,247,.45);}
.descr--top h1::after {content: ""; display: block; width: 56px; height: 3px; margin-top: 12px; border-radius: 3px;
	background: linear-gradient(90deg, #7c3aed, #c026d3);}
.descr--top p {font-size: 14px;}
.speedbar {font-size: 12px; color: var(--tt-2d); margin-bottom: 20px;}
.speedbar a:after {color: var(--tt-3); display: inline; content: '/'; margin: 0 6px;}
.speedbar a:hover {color: var(--accent);}
.sect--padding {padding-top: 20px;}
.sect--tags {gap: 8px;}
.sect--tags .sect__title {padding-right: 10px; font-size: 16px;}
.sect.sect--tags a {font-size: 14px;}
.sect--tags a {border: 1px solid var(--bdc); border-radius: 999px; display: flex; align-items: center; height: 32px;
	padding: 0 14px; font-weight: 500; color: var(--tt-l); background-color: var(--bg-4);}


/* SHORT ITEM
----------------------------------------------- */
.thumb {position: relative; background: var(--bg-4); border: 1px solid var(--bdc); border-radius: var(--radius);
	overflow: hidden; transition: transform .25s, border-color .25s, box-shadow .25s;}
.thumb__desc {padding: 13px 14px 14px;}
.thumb__title {font-size: 15px; font-weight: 500; line-height: 1.2;}
.thumb__meta {margin-top: 12px; font-size: 13px; color: var(--tt-2d); font-weight: 500;}
.thumb__label, .thumb__img .thumb__rating {position: absolute; z-index: 5; background: rgba(12,9,18,0.72); color: #fff; height: 24px;
	font-size: 12px; display: flex; align-items: center; gap: 4px; white-space: nowrap; padding: 0 7px; border-radius: 7px;
	pointer-events: none; transition: all 0.15s linear; -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);}
.thumb__img .thumb__rating {right: 8px; top: 8px;}
.thumb__label--views {left: 8px; bottom: 8px;}
.thumb__label--views::after {display: inline; content: attr(data-text);}
.thumb__label--time {right: 8px; bottom: 8px;}
.thumb__label--milf {right: 8px; top: 8px; background: var(--grad); font-weight: 500; letter-spacing: 1px;}
.thumb__label--hd {left: 8px; top: 8px; padding-right: 0; overflow: hidden;}
.thumb__label--hd span {background: var(--grad); display: inline-flex; height: 24px;
	text-transform: uppercase; font-weight: 700; padding: 0 6px; align-items: center; margin-left: 4px;}
.thumb__rating {white-space: nowrap; gap: 5px; display: flex; align-items: center;}
.thumb__rating .fal {color: var(--accent);}
.js-count-percent {opacity: 0;}
.thumb__img:hover .thumb__label, .thumb__img:hover .thumb__rating {opacity: 0; transform: scale(0.3,0.3);}
.thumb__text {font-size: 12px; margin-top: 8px; color: var(--tt-l);}
.thumb__text.line-clamp {-webkit-line-clamp: 3; line-height: 1.45;}
.thumb__text::before {display: inline; content: attr(data-text); color: var(--accent);}
.thumb--model {background: none;}
.thumb--model .thumb__title {text-align: center;}
.thumb--model .thumb__meta {color: var(--tt); font-weight: 400;}
.thumb:hover {border-color: var(--accent-ring); transform: translateY(-3px); box-shadow: 0 16px 34px -14px rgba(124,58,237,0.55);}


/* FOOTER, PAGINATION
----------------------------------------------- */
.footer__menu a {font-weight: 500; display: block; margin: 0 22px 0 0;}
.footer__menu a:hover {color: #d7c2ff;}
.footer__text {line-height: 1.6; font-size: 13px; margin-right: 20px;}
.footer__logo {margin-right: 40px;}
.footer__rta {display: inline-flex; align-items: center; gap: 8px; padding: 6px 12px 6px 8px; border-radius: 10px; color: var(--tt-2);
	border: 1px solid var(--bdc); font-size: 10.5px; line-height: 1.2; text-transform: uppercase; letter-spacing: .4px;}
.footer__rta b {display: grid; place-items: center; height: 26px; padding: 0 7px; border-radius: 6px; font-size: 12px; letter-spacing: .5px;
	color: #fff; background: var(--grad);}
.footer__rta:hover {color: var(--tt); border-color: var(--accent-ring);}
.footer__copyright {color: var(--tt-2d);}

.pagination {text-align: center;}
.pagination__pages a, .pagination__pages span {display: inline-block; margin: 10px 4px 0 4px; line-height: 42px;
	padding: 0 10px; min-width: 44px; border-radius: 12px; font-size: 14px; font-weight: 500;
	border: 1px solid var(--bdc); background-color: var(--bg-4);}
.pagination__pages--full a, .pagination__pages--full span {line-height: 30px; min-width: 30px; font-size: 14px;}
.pagination__pages a:hover, .pagination__pages span:not(.nav_ext), .sect--tags a:hover, .sect__link:hover
{background: var(--grad); color: #fff; border-color: transparent; box-shadow: var(--glow);}


/* INNER PAGE
----------------------------------------------- */
.page__player {background-color: #000;}
.page__cols {display: grid; grid-template-columns: 1fr 300px; grid-gap: 30px 40px; margin-bottom: 30px;}
.page__main {background-color: var(--bg-4); border: 1px solid var(--bdc); padding: 0 15px 15px 15px;
	border-radius: var(--radius); overflow: hidden;}
.page__player {margin-left: -15px; margin-right: -15px; margin-bottom: 15px;}
.page__player-loader {font-size: 100px; width: 100%; height: 100%; display: grid; place-items: center;
	position: absolute; left: 0; top: 0; color: var(--accent);}
.page__main > h1 {font-size: 18px; font-weight: 700; margin-bottom: 10px; padding-right: 130px;}
.page__main > h1 a {margin-left: 10px; font-size: 14px; font-weight: 400;}
.page__text.full-text {margin-top: 11px; font-size: 14px; line-height: 1.4;}

.page__meta {gap: 10px 20px; margin-bottom: 15px; position: relative;}
.page__meta-item {font-size: 13px;}
.page__meta-item .fal {margin-right: 8px; color: var(--tt-3);}
.page__meta-item--author span, .page__meta-item--author a {font-weight: 700; text-decoration: underline;}
.page__meta-item--fav {cursor: pointer; position: absolute; right: 0; top: -35px;
	height: 30px; padding: 0 10px; --tt: #fff; border-radius: 8px; font-size: 13px; font-weight: 700;}
.page__meta-item--fav a {display: flex; align-items: center; height: 100%;}
.page__meta-item--fav .fal {margin-right: 8px;}
.page__meta2 {margin-left: -15px; margin-right: -15px; padding: 15px; background-color: var(--bg-strip);
	border: 1px solid var(--bdc); border-right: 0; border-left: 0; gap: 10px 20px; margin-bottom: 15px;}
.page__share, .page__dl {cursor: pointer;}
.page__share:hover, .page__dl:hover, .page__dl a:hover, .page__complaint a:hover {color: var(--accent);}

/* Рейтинг (лайк / дизлайк) */
.page__rating {position: relative; width: 209px; border: 1px solid var(--bdc); border-radius: 12px; overflow: hidden;
	background-color: var(--bg-4);}
.page__rating a {background-color: var(--bg-4); color: var(--tt-3); font-size: 16px; display: grid;
	height: 36px; width: 36px; border-right: 1px solid var(--bdc); place-items: center;}
.page__rating a + a {transform: scale(-1,1);}
.page__rating-bar {position: absolute; left: 40px; bottom: 8px; width: 126px;
	height: 4px; border-radius: 2px; background-color: rgba(142,135,161,0.35); overflow: hidden;}
.page__rating-bar-progress {position: absolute; left: 0; top: 0; height: 100%; width: 0; background: var(--grad); border-radius: 2px;}
.page__rating-likes i {font-style: normal; margin-right: 5px;}
.page__rating-likes span {margin-left: 2px; display: none;}
.page__rating-votes i {font-style: normal; margin-left: 2px;}
.page__rating-votes {position: absolute; left: 35px; top: 4px; width: 136px; font-weight: 500;
	text-align: center; font-size: 10px; text-transform: uppercase; white-space: nowrap; color: var(--tt-l);}
.page__rating a:hover, .page__meta-item--fav:hover, .page__meta-item--fav a:hover, .page__subinfo-item a:hover
{background: var(--grad); color: #fff; border-color: transparent;}

.page__subinfo {font-size: 0; gap: 10px 10px;}
.page__subinfo-item > div, .page__subinfo-item > span, .page__subinfo-item a {display: flex;
	align-items: center; height: 26px; border-radius: 7px; padding: 0 7px; margin: 5px; font-size: 13px;
	background-color: var(--bg-d); text-transform: capitalize;}
.page__subinfo-item > div {font-weight: 700; margin-left: 0; border: 0; padding: 0; background: none;}
.page__subinfo-item {margin: -5px 0;}
.page__subinfo-item--category {justify-content: flex-end; margin-right: -5px;}
.page__subinfo-item > span a {border: 0; height: 100%; margin: 0 -10px;}
[data-modelimg] {position: relative; z-index: 999;}
.model-preview {position: absolute; left: 50%; bottom: 100%; margin-left: -100px; width: 200px;
	background-color: var(--bg-4); border-radius: 14px; padding: 10px; box-shadow: var(--bsh), 0 0 0 1px var(--bdc);}
.model-preview img {border-radius: 9px;}
.bottom .model-preview {top: 100%; bottom: auto;}
.tags-list {width: 100%; gap: 0;}
.page__related > .btn, .page__top > .btn {border-radius: 12px; margin-bottom: 0px; position: relative; top: -15px;
	font-size: 16px; font-weight: 700; letter-spacing: .02em; height: 42px; box-shadow: var(--glow);}
.share-box {border-radius: 16px; background-color: var(--bg-4); padding: 30px 15px; text-align: center;
	position: fixed; left: 50%; top: 50%; transform: translate(-50%,-50%); z-index: 999;
	width: 380px; max-width: 90vw; display: none; box-shadow: var(--bsh);}

.mpage__img {width: 200px; margin-right: 40px;}
.mpage__social {width: 200px; margin-left: 40px;}
.mpage__img img {width: 100%; border-radius: var(--radius);}
.mpage__bio {display: grid; grid-gap: 13px 40px; grid-template-columns: repeat(auto-fill,minmax(300px,1fr)); margin-top: 20px;}
.mpage__bio li {display: flex; justify-content: space-between; font-size: 14px;}
.mpage__bio li > span:first-child {color: var(--tt-3); display: inline-flex; align-items: center;
	flex: 1 1 0; min-width: 100px; max-width: 100%; margin-right: 10px; white-space: nowrap;}
.mpage__bio li > span:first-child::after {content: ''; border-top: 1px dotted var(--tt-3);
	flex: 1 1 0; min-width: 10px; max-width: 100%; margin-left: 10px;}
.mpage__bio a {color: var(--accent); border-bottom: 1px dotted var(--accent);}
.mpage__social-item {display: block; margin-bottom: 10px; border-radius: 10px;
	padding: 10px; text-align: center; background-color: #1877f2; color: #fff;}
.tw {background-color:#2daae1; color: #fff;}
.insta {background: linear-gradient(45deg, #f09433 0%,#e6683c 25%,#dc2743 50%,#cc2366 75%,#bc1888 100%);}


/* TEXT BLOCK, TYPOGRAPHY, VIDEO BLOCK
----------------------------------------------- */
.full-text {line-height: 1.6; font-size: 15px; color: var(--tt-l); word-wrap: break-word;}
.full-text a {text-decoration: underline; text-decoration-color: var(--accent-ring); text-underline-offset: 3px; color: var(--accent);}
.full-text a:hover {text-decoration-color: var(--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, .page__title {margin-bottom: 20px;}
.full-text img:not(.emoji) {border-radius: var(--radius-sm);}
.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-2); position: absolute; top: 4px; left: 34px;}
.full-text > ol {counter-reset: num;}
.full-text > ol li:before {content: counter(num); counter-increment: num; background-color: var(--accent-strong); color: #fff;
	position: absolute; top: -2px; 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-strong);
	position: absolute; left: 41px; top: -2px; 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 table tr td {padding:10px; border:2px solid var(--bg-4);}
.full-text table tr:nth-child(2n+1) {background-color: var(--bg-d);}
.full-text table tr:nth-child(1) {background-color: var(--accent-soft); color: var(--tt);}
.full-text table img:not(.emoji) {margin:0; max-width:350px}
.full-text > *:last-child {margin-bottom: 0;}
.video-responsive {padding-top: 56%; position: relative;}
.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: 22px; color: var(--tt);}


/* COMMENTS
----------------------------------------------- */
.comimg {background-color: var(--bg-d); border: 2px dashed var(--bdc); color: var(--tt-3); border-radius: 10px; display: block;text-align: center; padding: 5px 0;}
.page__comments {margin-top: 14px; background-color: var(--bg-4); border: 1px solid var(--bdc); padding: 16px; border-radius: var(--radius);}
.add-comments-form.form {padding: 0; background: none; margin-top: 10px; margin-bottom: 20px; display: none;}
.add-comments-form .form__input, .add-comments-form__input, .add-comments-form .form__textarea-inside textarea,
.mass_comments_action select {box-shadow: inset 0 0 0 1px var(--input-bd); border-radius: var(--radius-sm);}
.add-comments-form__input {margin-left: 20px;}
.add-comments-form .d-none, .comments_subscribe + br {display: none;}
.mass_comments_action {display: none; 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;}
.page__comments-title {font-size: 15px; font-weight: 700; margin-right: 10px; color: var(--tt-l);}
.page__comments-btn {cursor: pointer; position: relative; height: 30px; line-height: 28px; font-weight: 700;
	padding: 0 12px; font-size: 11px; text-transform: uppercase; display: inline-block; letter-spacing: .05em;
	border: 1px solid var(--accent-ring); border-radius: 15px; color: var(--accent); transition: all .2s;}
.page__comments-btn:hover, .page__comments-btn.is-active {color: #fff; background: var(--grad); border-color: transparent;}
.show-comms {text-align: right; font-size: 11px; text-transform: uppercase;}
.show-comms a {color: var(--accent); display: inline-block; text-decoration: underline;}

.comment-item__title {font-weight: 500; font-size: 18px; margin-top: 20px;}
.comment-item {margin-top: 10px;}
.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: 500;
	position: absolute; left: 0; top: 0; z-index: 5; color: #fff; font-size: 18px;}
.comment-item__author {font-size: 14px;}
.comment-item__date {color: var(--tt-3); margin-top: 4px; font-size: 12px;}
.comment-item__main {margin: 8px 0 0 0;}
.comment-item__rating {white-space: nowrap; font-size: 12px;}
.comment-item__rating a {margin-left: 6px;}
.comment-item__rating a > span:first-child {color: #34d399; text-decoration: underline;  margin-right: 2px;}
.comment-item__rating a:last-child > span:first-child {color: #f87171;}


/* LOGIN
----------------------------------------------- */
.login {position: fixed; z-index: 999; left: 50%; top: 50%; transform: translate(-50%,-50%); overflow: hidden;
	background-color: var(--ui-bg); border-radius: 18px; width: 400px;
	box-shadow: 0 30px 80px -10px rgba(0,0,0,0.75), 0 0 0 1px var(--bdc);}
.login__header {padding: 20px 40px; background-color: var(--ui-bg-darker); border-bottom: 1px solid var(--bdc);}
.login__title {font-size: 20px; font-weight: 500; padding: 1px 0; text-transform: capitalize;}
.login__close {cursor: pointer; font-size: 24px; opacity: 0.6; margin-left: 20px; transition: opacity .2s, color .2s;}
.login__close:hover {opacity: 1; color: var(--accent);}
.login__title a {border-bottom: 1px dotted var(--accent); margin-left: 10px; font-weight: 400; color: var(--accent);}
.login__content {padding: 20px 40px;}
.login__row {margin-bottom: 20px; position: relative; display: block; font-size: 14px; color: var(--tt-3);}
.login__caption {font-size: 14px; color: var(--tt); margin-bottom: 10px;}
.login__caption a {text-decoration: underline; margin-left: 6px; color: var(--accent);}
.login__input input {padding-left: 40px;}
.login__row .fal {opacity: 0.5; position: absolute; left: 0; bottom: 0; line-height: 40px; width: 40px; text-align: center;}
.login__row button {width: 100%; height: 44px; font-weight: 700;}
.login__social {background-color: var(--ui-bg-darker); padding: 20px 40px; text-align: center; border-top: 1px solid var(--bdc);}
.login__social-caption {font-size: 11px; text-transform: uppercase; margin-bottom: 10px; color: var(--tt-3);}
.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: 12px; padding: 12px 10px; text-align: center; white-space: nowrap;
	background-color: var(--ui-bg-darker); box-shadow: inset 0 0 0 1px var(--bdc); font-size: 13px; transition: all .2s;}
.login__menu a:hover {box-shadow: inset 0 0 0 1px var(--accent-ring), var(--glow); color: var(--tt);}
.login__menu .fal {display: block; height: 30px; font-size: 24px; color: var(--accent);}


/* ADAPTIVE, MOBILE MENU
----------------------------------------------- */
.overlay {position: fixed; z-index: 998; left: 0; top: 0; width: 100%; height: 100%;
	opacity: 0.7; background-color: #07050b; cursor: pointer; display: none;}
.mobile-menu {width: 290px; height: 100%; overflow-x: hidden; overflow-y: auto; background-color: var(--bg-4);
	padding: 20px; z-index: 999; position: fixed; left: -330px; top: 0; transition: left .4s; border: 0;
	border-right: 1px solid var(--bdc); box-shadow: 20px 0 50px -20px rgba(0,0,0,0.6);}
.mobile-menu.is-active {left: 0;}
.mobile-menu-close {cursor: pointer; display: block; left: 300px; top: -50px; position: fixed; z-index: 999;
	width: 42px; height: 42px; line-height: 42px; text-align: center; font-size: 18px; opacity: 0; border-radius: 12px;
	background: var(--grad); color: #fff; transition: top .4s, opacity .4s; box-shadow: var(--glow);}
.mobile-menu-close.is-active {top: 12px; opacity: 1;}
body.mobile-menu-is-opened {overflow: hidden; width: 100%; height: 100%;}
.mobile-menu .sidebar {padding: 0; border: 0;}
.mobile-menu .header__menu {display: block;}
.mobile-menu .submenu .menu {padding-top: 15px; margin-bottom: 20px;}
.mobile-menu .submenu > a::after {display: none;}
/* в мобильном меню не дублируем пункты, если меню шапки уже есть */
.mobile-menu > .header__menu ~ .sidebar > .side__menu {display: none;}
.mobile-menu > .header__menu {margin-bottom: 20px; padding-bottom: 16px; border-bottom: 1px solid var(--bdc);}

@media screen and (max-width: 1220px) {
	body {background-image: none;}
	.wrappers {padding: 0; overflow: hidden;}
	.wrapper-container {max-width:1000px; padding-left: 20px; padding-right: 20px;}
	.header-nav .header__menu, .sect__sort, .cols .sidebar {display: none;}
	.header__btn-menu {cursor: pointer; display: grid; place-items: center; font-size: 22px; margin-right: 0;
		background: var(--grad); color: #fff; border-radius: 12px; height: 42px; width: 42px; box-shadow: var(--glow);}
	.footer__one {justify-content: center; text-align: center; gap: 20px;}
	.footer__one > * {margin: 0 !important;}
	.footer__text {min-width: 100%;}
	.cols {display: block;}
	.header-nav .flex-grow-1.d-none {display: block;}

	.page__main {margin-top: -20px;}
	.page__cols {grid-template-columns: 1fr;}
	.page__main > h1 {padding: 0;}
	.page__meta-item--fav {position: static;}
}

@media screen and (max-width: 950px) {
	.wrapper-container {max-width:768px;}
	.footer__two {display: block; text-align: center;}
	.footer__menu {justify-content: center;}
	.footer__menu a {margin: 0 10px 16px 10px;}
	#scrolltop {width: 42px; height: 42px; line-height: 42px; font-size: 18px; border-radius: 13px;}
	.mpage__desc {min-width: 100%; order: -1; margin-bottom: 20px;}
	.mpage__social {flex: 1 1 0; margin-left: 0;}
	.mpage__img {margin-right: 20px;}
	.header__reg {display: none;}
}

@media screen and (max-width: 760px) {
	.wrapper-container {max-width:640px;}
	.header {padding-top: 10px; padding-bottom: 10px;}
	.header__search {order: 10; min-width: 100%; margin: 0; margin-top: 10px;}
	.header__search form {max-width: 100%;}
	.header__logo {flex: 1 1 0; min-width: 100px; max-width: 100%; margin-right: 0;}

	.page__subinfo-item:first-child {min-width: 100%; margin: 0;}
	.page__subinfo-item--category {flex: 0 1 auto; justify-content: flex-start;}

	.page__text .quote {margin-left: -20px; margin-right: -20px; padding-right: 20px;}
	.full-text h1, .full-text h2, .full-text h3, .full-text h4, .full-text h5 {font-size: 18px;}

	.add-comments-form__input {min-width: 100%; margin: 0 0 10px 0;}
	.add-comments-form__btn {width: 100%; order: 10;}
	.add-comments-form .form__row--protect .form__caption {width: 100%; margin: 0 0 10px 0;}
	.mass_comments_action, .comment-item__controls, .comment-item__rating-caption {display: none;}
}

@media screen and (max-width: 590px) {
	.wrapper-container22 {max-width:480px;}
	.login {max-width: 90%; max-height: 90%; overflow-x: hidden; overflow-y: auto;}
	.login__header, .login__content, .login__social, .pages-bg {padding-left: 20px; padding-right: 20px;}
	.header__logo > * {white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
	.header__logo .logo__title {padding: 8px 12px 8px 0; margin: -8px -12px -8px 0;} /* room for the neon glow of "CLIP" inside overflow:hidden */
	.header .header__login {width: 40px; height: 40px; padding: 0; font-size: 0; border-radius: 50%;}
	.header .header__login::before {font-size: 18px; display: grid; width: 40px; height: 40px;
		content: "\f007"; font-weight: 300; font-family: 'Font Awesome 5 Pro'; place-items: center;}
	.sect__title {font-size: 16px;}
	.sect__title .fal {display: none;}
	.header__ai-full {display: none;}
	.header__ai-short {display: inline;}
	.header__upl, .header__ai {height: 40px; padding: 0 14px 0 11px; font-size: 14px;}

	.page__meta2 {gap: 10px 15px;}
	.page__comms-count, .page__dl span:last-child {display: none;}
	.page__dl .fal {margin: 0;}
	.page__main {border-left: 0; border-right: 0; border-top: 0; margin-left: -20px; margin-right: -20px; margin-top: -40px; border-radius: 0;}
	.page__comments {border-radius: 0; margin-left: -20px; margin-right: -20px; border-left: 0; border-right: 0;}
	.page__comments-header {justify-content: space-between;}
	.show-comms {text-align: left; min-width: 100%; margin-top: 5px; padding-bottom: 10px;}
	.page__subinfo-item > div, .page__subinfo-item > span, .page__subinfo-item a {height: 22px; font-size: 12px;}
}


@media screen and (max-width: 470px) {
	.wrapper-container22 {max-width:360px;}
	.d-grid-models, .d-grid-models #dle-content {grid-template-columns: repeat(auto-fill,minmax(140px,1fr));}
	.sect.sect--tags a {font-size: 13px;}
	.mpage__img {width: 160px;}
}

.yt-lite { position: relative; aspect-ratio: 16/9; background: #000 center/cover; cursor: pointer; margin-bottom: 20px; }
.yt-lite button { position: absolute; inset: 0; margin: auto; width: 68px; height: 48px; border: 0; border-radius: 12px; background: #f00; cursor: pointer; }
.yt-lite button::before { content: ""; position: absolute; inset: 0; margin: auto; width: 0; height: 0; border-style: solid; border-width: 10px 0 10px 18px; border-color: transparent transparent transparent #fff; }
.yt-lite iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; }

.v-lite{position:relative;aspect-ratio:16/9;background:#000;cursor:pointer;margin-bottom:20px}
.v-lite img,.v-lite iframe{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border:0}

/* H1 над видео */
.page__main > h1 {position: relative; font-size: 20px; font-weight: 700; line-height: 1.3; overflow-wrap: anywhere;
	margin: 0 -15px 15px; padding: 16px 15px 16px 19px; background-color: var(--bg-strip); border-bottom: 1px solid var(--bdc);}
.page__main > h1::before {content: ''; position: absolute; left: 0; top: 0; bottom: 0; width: 4px;
	background: linear-gradient(180deg, #7c3aed, #c026d3);}
.page__meta-item--fav {position: static; margin-left: auto;}
@media screen and (max-width: 590px) {
	.page__main > h1 {font-size: 18px; margin: 0; padding: 14px 0 12px; background: none; border: 0;}
	.page__main > h1::before {display: none;}
}

/* Мобильная шапка: лупа вместо поиска, тумблер темы у кнопки меню */
.header__search-mob {display: none;}
.header__search-mob:hover {color: var(--accent);}
@media screen and (max-width: 1220px) {
	.header-nav .theme-toggle {order: 2; margin-right: 0;}
	.header__btn-menu {order: 3;}
}
@media screen and (max-width: 760px) {
	.header__search {display: none;}
	.header__search-mob {display: grid; place-items: center; width: 36px; height: 40px;
		margin-right: 8px; font-size: 22px; color: var(--tt);}
}

/* Плеер на всю ширину экрана на телефоне */
@media screen and (max-width: 590px) {
	.v-lite {margin-left: -15px; margin-right: -15px;}
}

/* CARDS: title up to 3 lines (~100 characters on a computer), views/rating always at the bottom,
   so cards in one row stay level. The full title is shown on hover (title="..."). */
.thumb__desc {display: flex; flex-direction: column; flex-grow: 1;}
.thumb__title {display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden;
	overflow-wrap: anywhere; line-height: 1.3;}
.thumb__meta {margin-top: auto; padding-top: 12px;}

/* Quality label: only for 4K videos (filled by the script in main.tpl) */
.thumb__label--hd.is-4k {padding: 0; background: none; -webkit-backdrop-filter: none; backdrop-filter: none;}
.thumb__label--hd.is-4k span {margin-left: 0; border-radius: 7px; padding: 0 8px; letter-spacing: .5px;}

/* RECOMMENDED FOR YOU: 4 videos in a highlighted panel.
   Computer: 4 in a row; tablet: 2 in a row (bigger cards); phone: swipe sideways. */
.sect--rec {padding: 18px 18px 20px; border-radius: calc(var(--radius) + 6px);
	background: linear-gradient(135deg, rgba(124,58,237,0.16) 0%, rgba(192,38,211,0.07) 55%, rgba(192,38,211,0) 100%), var(--bg-strip);
	border: 1px solid rgba(168,85,247,0.3); box-shadow: 0 22px 44px -30px rgba(124,58,237,0.7);}
.sect--rec .sect__header {margin-bottom: 14px;}
.rec-grid {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px;}
.sect--rec:not(:has(.thumb)) {display: none;}   /* nothing left to recommend (few videos in this mode) - hide the panel */
.sect--rec .thumb {border-color: rgba(168,85,247,0.22);}
.sect--rec .thumb__title {font-size: 16px; font-weight: 600;}

/* VERTICAL VIDEOS: a row of 6 tall cards on the home page, a grid of tall cards on /vertical/ */
.img-responsive--tall {padding-top: 177.78%;}
.vert-row {display: grid; grid-template-columns: repeat(6, minmax(0,1fr)); gap: 10px;}
.thumb--vert .thumb__desc {padding: 10px 11px 11px;}
.thumb--vert .thumb__title {font-size: 13px; font-weight: 500;}
.thumb--vert .thumb__meta {font-size: 12px; padding-top: 8px;}
.thumb--vert .thumb__label--time {right: 6px; bottom: 6px;}
.thumb--vert .thumb__label--futa {left: 6px; bottom: 6px;}
#dle-content:has(> .thumb--vert) {grid-template-columns: repeat(auto-fill, minmax(170px,1fr));}

@media screen and (max-width: 1220px) {
	.rec-grid {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 14px;}
	.sect--rec .thumb__title {font-size: 17px;}
	.sect--rec .thumb__text {font-size: 13px;}
}
@media screen and (max-width: 950px) {
	/* shelf of tall cards: swipe sideways */
	.vert-row {display: flex; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		-webkit-overflow-scrolling: touch; padding: 4px 20px 8px; margin: -4px -20px -8px; scroll-padding: 0 20px;}
	.vert-row::-webkit-scrollbar {display: none;}
	.vert-row > .thumb {flex: 0 0 150px; scroll-snap-align: start;}
	.vert-row > .thumb:hover {transform: none;}
}
@media screen and (max-width: 590px) {
	.sect--rec {padding: 14px 0 14px 14px;}
	.sect--rec .sect__header {padding-right: 14px;}
	.rec-grid {display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		-webkit-overflow-scrolling: touch; padding-right: 14px; scroll-padding-left: 0;}
	.rec-grid::-webkit-scrollbar {display: none;}
	.rec-grid > .thumb {flex: 0 0 84%; scroll-snap-align: start;}
	.rec-grid > .thumb:hover {transform: none;}
	.sect--rec .thumb__title {font-size: 16px;}
	.vert-row > .thumb {flex-basis: 41%;}
	#dle-content:has(> .thumb--vert) {grid-template-columns: repeat(2, minmax(0,1fr));}
}

/* "Create AI Video" page (static page create-ai-video): content without the sidebar column */
.cols--solo {display: block;}
.cols--solo > .sidebar {display: none;}

/* VIDEO PAGE: Related Videos (right column) and Top Videos (under the page), compact cards without the text.
   Computer: related in one column next to the player, top - 5 in a row.
   Tablet and phone: related goes right under the video (before comments), 3 / 2 in a row. */
.side-grid {display: grid; grid-template-columns: minmax(0,1fr); gap: 12px;}
.top-grid {display: grid; grid-template-columns: repeat(5, minmax(0,1fr)); gap: 12px;}
.sect--side:not(:has(.thumb)), .page__top:not(:has(.thumb)) {display: none;}   /* no videos yet - no empty block */
.thumb--mini .thumb__desc {padding: 11px 12px 12px;}
.thumb--mini .thumb__title {font-size: 14px; font-weight: 500;}
.thumb--mini .thumb__meta {font-size: 12px; padding-top: 10px;}
.page__top > .btn {padding: 0;}
.page__top > .btn a {display: flex; align-items: center; gap: 10px; height: 100%; padding: 0 20px; color: #fff;}
.page__top > .btn .fal {font-size: 18px;}

@media screen and (max-width: 1220px) {
	.page__col-left {display: contents;}
	.page__main {order: 1;}
	.page__col-right {order: 2;}
	.page__comments {order: 3; margin-top: 0;}
	.side-grid, .top-grid {grid-template-columns: repeat(3, minmax(0,1fr));}
	.top-grid > .thumb:nth-child(n+10) {display: none;}   /* 3 rows of 3 */
}
@media screen and (max-width: 760px) {
	.side-grid, .top-grid {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px;}
	.top-grid > .thumb:nth-child(n+9) {display: none;}    /* 4 rows of 2 */
	.thumb--mini .thumb__desc {padding: 9px 10px 10px;}
	.thumb--mini .thumb__title {font-size: 13px;}
	.thumb--mini .thumb__meta {padding-top: 8px;}
	.thumb--mini .thumb__label {height: 22px; font-size: 12px;}
}

/* Short muted line under a section title (Vertical AI videos). Phones: 2 lines, a tap shows the rest */
.sect__header + .sect__lead {margin: -8px 0 16px;}
.sect__lead {font-size: 13px; line-height: 1.55; color: var(--tt-3);}

/* Text block that opens with "Read more" on phones (home page text at the bottom) */
.clamp-more {display: flex; align-items: center; gap: 6px; margin: 4px auto 0; height: 32px; padding: 0 16px;
	border-radius: 16px; font-size: 13px; font-weight: 600; color: var(--accent); background: var(--accent-soft);
	background-image: none; box-shadow: none;}
.clamp-more:hover {background: var(--grad); color: #fff; box-shadow: none;}
.clamp-more[hidden] {display: none;}
.clamp-more svg {width: 16px; height: 16px; transition: transform .2s;}
.js-clamp.is-open .clamp-more svg {transform: rotate(180deg);}
.js-clamp__body p + p {margin-top: 10px;}

@media screen and (max-width: 760px) {
	.descr--top h1 {font-size: 25px;}
	.descr--top h1::after {margin-top: 10px;}
	.js-clamp.is-clamped .js-clamp__body {max-height: calc(1.7em * 5); overflow: hidden;
		-webkit-mask-image: linear-gradient(#000 50%, transparent); mask-image: linear-gradient(#000 50%, transparent);}
}
@media screen and (max-width: 590px) {
	.sect__lead:not(.is-open) {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; cursor: pointer;}
	.sect__header + .sect__lead {margin: -10px 0 14px; font-size: 12.5px;}
}

/* TOP VIDEOS PAGE (/top.html, main-top.tpl) */
.top-head {margin-bottom: 26px;}
.top-head__title {display: flex; align-items: center; gap: 14px; font-size: 30px; font-weight: 800; line-height: 1.15;
	letter-spacing: -.01em; color: var(--tt); text-shadow: 0 0 26px rgba(168,85,247,.45);}
.top-head__title::before {content: "\f091"; font-family: 'Font Awesome 5 Pro'; font-weight: 300; flex: 0 0 auto;
	display: grid; place-items: center; width: 46px; height: 46px; border-radius: 13px; font-size: 22px; text-shadow: none;
	background: var(--grad); color: #fff; box-shadow: var(--glow);}
.top-head__intro {margin-top: 12px; max-width: 900px; font-size: 14px; line-height: 1.6; color: var(--tt-l);}

/* "Most watched": highlighted panel with the period tabs and rank badges 1, 2, 3 ... */
.top-hot {padding: 18px 18px 20px; border-radius: calc(var(--radius) + 6px);
	background: linear-gradient(135deg, rgba(124,58,237,0.16) 0%, rgba(192,38,211,0.07) 55%, rgba(192,38,211,0) 100%), var(--bg-strip);
	border: 1px solid rgba(168,85,247,0.3); box-shadow: 0 22px 44px -30px rgba(124,58,237,0.7);}
.top-hot[hidden] {display: none;}
.top-hot__head {display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px 20px; margin-bottom: 16px;}
.top-tabs {display: flex; gap: 4px; padding: 4px; border-radius: 999px; background: var(--bg-d);}
.top-tabs[hidden] {display: none;}
.top-tabs .top-tab {height: 34px; padding: 0 16px; border-radius: 999px; font-size: 13px; font-weight: 600; white-space: nowrap;
	color: var(--tt-3); background: none; background-image: none; box-shadow: none;}
.top-tabs .top-tab:hover {color: var(--tt); background: none; box-shadow: none;}
.top-tabs .top-tab.is-active {color: #fff; background: var(--grad); box-shadow: var(--glow);}
.top-tabs .top-tab[hidden] {display: none;}
.top-hot:not(.is-ready) .top-panel:not([data-panel="all"]) {display: none;}   /* without JavaScript: All time */
.top-panel[hidden] {display: none;}
.top-list {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px; counter-reset: rank;}
.top-list > .thumb {counter-increment: rank; border-color: rgba(168,85,247,0.22);}
.top-list > .thumb .thumb__img::after {content: counter(rank); position: absolute; z-index: 6; left: 8px; top: 8px;
	min-width: 28px; height: 28px; padding: 0 8px; border-radius: 9px; display: grid; place-items: center;
	font-size: 14px; font-weight: 800; color: #fff; background: rgba(12,9,18,0.78);}
.top-list > .thumb:nth-child(1) .thumb__img::after {background: linear-gradient(135deg, #ffd76a, #e09b1d); color: #2a1a00;}
.top-list > .thumb:nth-child(2) .thumb__img::after {background: linear-gradient(135deg, #f4f6fb, #a9b1c2); color: #1d2230;}
.top-list > .thumb:nth-child(3) .thumb__img::after {background: linear-gradient(135deg, #f3b98f, #b4683a); color: #2a1206;}
.top-list .thumb__label--hd {left: auto; right: 8px;}
/* only full rows: 5-7 videos in a period -> 4 on a computer, an even number on a phone */
.top-list:not(:has(> .thumb:nth-child(8))) > .thumb:nth-child(n+5) {display: none;}

/* Top of every style: 4 in a row (vertical: 6 tall cards); rows of empty categories are hidden */
.top-row {display: grid; grid-template-columns: repeat(4, minmax(0,1fr)); gap: 12px;}
.top-cat:not(:has(.thumb)) {display: none;}

@media screen and (max-width: 760px) {
	.top-head {margin-bottom: 20px;}
	.top-head__title {font-size: 25px; gap: 12px;}
	.top-head__title::before {width: 38px; height: 38px; border-radius: 11px; font-size: 18px;}
	.top-head__intro {font-size: 13.5px;}
	.top-hot__head {margin-bottom: 14px;}
	.top-tabs {width: 100%;}
	.top-tabs .top-tab {flex: 1 1 0; padding: 0 6px; font-size: 12.5px;}
	.top-list {grid-template-columns: repeat(2, minmax(0,1fr)); gap: 10px;}
	.top-list:not(:has(> .thumb:nth-child(8))) > .thumb:nth-child(n+5) {display: flex;}
	.top-list > .thumb:last-child:nth-child(odd):not(:first-child) {display: none;}
	/* rows of every style: swipe sideways, a part of the next card shows that there is more */
	.top-row {display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none;
		-webkit-overflow-scrolling: touch; padding: 4px 20px 8px; margin: -4px -20px -8px; scroll-padding: 0 20px;}
	.top-row::-webkit-scrollbar {display: none;}
	.top-row > .thumb {flex: 0 0 44%; scroll-snap-align: start;}
	.top-row > .thumb:hover {transform: none;}
}
@media screen and (max-width: 590px) {
	.top-hot {padding: 14px; margin-left: -6px; margin-right: -6px;}
	.top-list > .thumb .thumb__img::after {min-width: 24px; height: 24px; font-size: 12.5px; border-radius: 8px; left: 6px; top: 6px;}
}

/* CONTACT PAGE (feedback.tpl) */
.fb-intro {margin: -6px 0 24px; font-size: 14px; line-height: 1.6; color: var(--tt-l);}
.fb-intro a {color: var(--accent); text-decoration: underline; text-underline-offset: 3px;}
.fb-topics {display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px;}
.fb-topics button {height: 32px; padding: 0 13px; border-radius: 999px; font: inherit; font-size: 13px; font-weight: 500; cursor: pointer;
	color: var(--tt-l); background: var(--bg-d); background-image: none; border: 1px solid var(--bdc); box-shadow: none;}
.fb-topics button:hover, .fb-topics button.is-on {color: var(--accent); border-color: var(--accent-ring); background: var(--accent-soft); box-shadow: none;}
.form input[type="file"] {font: inherit; font-size: 13px; color: var(--tt-3); max-width: 100%;}
.form input[type="file"]::file-selector-button {margin-right: 12px; height: 36px; padding: 0 14px; border: 1px solid var(--bdc); border-radius: 10px;
	font: inherit; font-size: 13px; font-weight: 600; color: var(--tt); background: var(--bg-d); cursor: pointer;}
.form input[type="file"]::file-selector-button:hover {border-color: var(--accent-ring); color: var(--accent);}
.fb-hint {margin-top: 6px; font-size: 12px; color: var(--tt-3);}
