.obmen-wrap{
    padding:6px;
}

.obmen-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:8px;
}

.obmen-card{
    border-radius:14px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.08);
    padding:10px;
    overflow:hidden;
    min-height:78px;
    box-sizing:border-box;
    transition:transform .18s ease;
}

.obmen-card:hover{
   transform:scale(1.02);
}

.obmen-card-head{
    display:flex;
    align-items:flex-start;
    gap:10px;
}

.obmen-card-icon{
    flex:0 0 40px;
    width:40px;
    text-align:center;
    font-size:24px;
    line-height:40px;
}

.obmen-card-body{
    flex:1 1 auto;
    min-width:0;
}

.obmen-card-title{
    font-weight:bold;
    line-height:1.15;
    margin-bottom:4px;
    word-wrap:break-word;
    word-break:break-word;
}

.obmen-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    align-items:center;
}

.obmen-badge{
    display:inline-block;
    padding:3px 8px;
    border-radius:12px;
    border:1px solid rgba(0,0,0,.08);
    line-height:1.1;
}

.obmen-badge-new{
    font-weight:bold;
}

.obmen-card-desc{
    margin-top:6px;
    font-size:13px;
    line-height:1.25;
    word-wrap:break-word;
    word-break:break-word;
}

.obmen-note{
    margin-top:8px;
}

@media all and (max-width:420px){
    .obmen-grid{
        grid-template-columns:1fr;
    }

    .obmen-card{
        min-height:auto;
    }

    .obmen-card-icon{
        flex:0 0 34px;
        width:34px;
        font-size:22px;
        line-height:34px;
    }
}

.video-grid{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(200px, 1fr));
    gap:8px;
    padding:6px;
}

.video-card{
    border-radius:14px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.08);
    overflow:hidden;
    box-sizing:border-box;
    position:relative;
    margin-bottom: 0px;
    padding-bottom: 0px;
}

.video-thumb{
    display:block;
    height:190px;
    overflow:hidden;
    position:relative;
    border-bottom:1px solid rgba(0,0,0,.06);
}

.video-thumb img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.video-thumb-empty{
    height:190px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-align:center;
    font-size:46px;
}

.video-thumb-badge{
    position:absolute;
    right:8px;
    bottom:8px;
    margin:0;
    background: rgba(0,0,0,.25);
color: #ffffff;
}

.video-card-body{
    padding:8px;
}

.video-card-title{
    font-weight:bold;
    line-height:1.2;
    margin-bottom:7px;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.video-card-title a{
    display:block;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    text-decoration:none;
}

.video-card-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin-bottom:7px;
}

.video-card .mini{
    margin:0;
}

@media all and (max-width:420px){
    .video-grid{
        grid-template-columns:1fr;
    }

    .video-thumb,
    .video-thumb-empty{
        height:170px;
    }
}
.video-delete{
    position:absolute;
    bottom:8px;
    right:8px;
    z-index:3;
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    border-radius:50%;
    border:1px solid rgba(0,0,0,.08);
    background:rgba(255,255,255,.4);
    box-shadow:0 1px 4px rgba(0,0,0,.12);
    font-size:16px;
}

.video-delete:hover{
    text-decoration:none;
}

.pic-thumb{
    overflow:hidden;
    border-radius:8px;
    transition:transform .18s ease;
}

.pic-thumb img{
    object-fit:contain;
    background:rgba(0,0,0,.63);
    border-radius:8px
}
.pic-thumb:hover{
   transform:scale(1.03);
}

.pic-thumb-empty{
    font-size:42px;
}

.app-icon{
    display:flex;
    align-items:center;
    justify-content:center;
    height:190px;
    font-size:58px;
    border-bottom:1px solid rgba(0,0,0,.06);
}

.app-icon-android{
    font-size:64px;
}

.app-icon-java{
    font-size:52px;
}

.app-icon-ios{
    font-size:58px;
}

@media all and (max-width:420px){
    .app-icon{
        height:170px;
        font-size:50px;
    }

    .app-icon-android{
        font-size:56px;
    }

    .app-icon-java{
        font-size:46px;
    }

    .app-icon-ios{
        font-size:50px;
    }
}

.app-thumb{
    display:flex;
    align-items:center;
    justify-content:center;
    height:80px;
    position:relative;
    border-bottom:1px solid rgba(0,0,0,.06);
    overflow:hidden;
}

.app-thumb-icon{
    line-height:1;
}

.app-thumb-android{
    font-size:68px;
}

.app-thumb-java{
    font-size:56px;
}

.app-thumb-ios{
    font-size:62px;
}

@media all and (max-width:420px){
    .app-thumb{
        height:70px;
    }

    .app-thumb-android{
        font-size:60px;
    }

    .app-thumb-java{
        font-size:48px;
    }

    .app-thumb-ios{
        font-size:54px;
    }
}

.music-list{
    padding:6px;
}

.music-row{
    display:flex;
    align-items:center;
    gap:6px;
    padding:6px;
    margin-bottom:3px;
    border-radius:14px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.08);
    box-sizing:border-box;
}

.music-row-left,
.music-row-right{
    flex:0 0 34px;
    width:34px;
    height:34px;
    display:flex;
    align-items:center;
    justify-content:center;
    border:1px solid rgba(0,0,0,.04);
    background:rgba(0,0,0,.03);
    border-radius:35%;
    margin:2px;
    box-sizing:border-box;
}

.music-row-center{
    flex:1 1 auto;
    min-width:0;
}

.music-row-title{
    display:block;
    font-weight:bold;
    overflow:hidden;
    white-space:nowrap;
    text-overflow:ellipsis;
    text-decoration:none;
    margin:0 4px 0 4px;
    /* цвет НЕ задаем, пусть берется из темы */
}

.music-row-title:hover{
    text-decoration:none;
}

.music-row-meta{
    margin-top:3px;
    display:flex;
    flex-wrap:wrap;
   gap: 4px;
font-size: 11px;
}

.music-row .mini{
    margin:0;
    padding: 2px 6px;
}

/* правая кнопка добавить/добавлено */
.music-btn{
    width:32px;
    height:32px;
    display:flex;
    align-items:center;
    justify-content:center;
    text-decoration:none;
    flex:0 0 32px;
    box-sizing:border-box;
    color:inherit;
}

.music-btn:hover{
    text-decoration:none;
    color:inherit;
}

.music-btn .fa{
    font-size:18px;
    line-height:1;
}

.music-btn--on{
    color:rgb(43, 179, 50);
}

.music-btn--on .fa{
    font-size:17px;
}

/* ссылка на левую кнопку */
.music-row-left-link{
    display:flex;
    align-items:center;
    justify-content:center;
    width:32px;
    height:32px;
    text-decoration:none !important;
}

.music-row-left-link:visited,
.music-row-left-link:hover,
.music-row-left-link:active,
.music-row-left-link:focus{
    text-decoration:none !important;
}

/* ===== полный сброс старых иконок/фонов ===== */
.music-main-toggle,
.music-row-toggle,
.music-download-btn,
#myplayer-toggle,
[id^="mp3play-"],
#download{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:30px;
    height:30px;
    text-decoration:none !important;
    background:none !important;
    background-image:none !important;
    box-shadow:none !important;
    border:none !important;
    outline:none !important;
    border-radius:0 !important;
    position:relative;
    cursor:pointer;
    line-height:1 !important;
    vertical-align:middle;
    text-align:center;
    font-size:0 !important;
}

/* чтобы старый текст/спрайт точно не мешал */
.music-main-toggle:after,
.music-row-toggle:after,
.music-download-btn:after,
#myplayer-toggle:after,
[id^="mp3play-"]:after,
#download:after{
    display:none !important;
    content:none !important;
}

.music-main-toggle:before,
.music-row-toggle:before,
.music-download-btn:before,
#myplayer-toggle:before,
[id^="mp3play-"]:before,
#download:before{
    font-family:'icofoiz' !important;
    font-style:normal;
    font-weight:normal;
    text-rendering:auto;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
    line-height:1 !important;
    display:block !important;
}

/* play */
.music-main-toggle.icon-play:before,
.music-row-toggle.icon-play:before,
#myplayer-toggle.icon-play:before,
[id^="mp3play-"].icon-play:before{
    content:"\f04b" !important;
    font-size:20px !important;
}

/* pause */
.music-main-toggle.icon-pause:before,
.music-row-toggle.icon-pause:before,
#myplayer-toggle.icon-pause:before,
[id^="mp3play-"].icon-pause:before{
    content:"\f04c" !important;
    font-size:20px !important;
}

/* скачать */
.music-download-btn:before,
#download:before{
    content:"\f019" !important;
    font-size:20px !important;
}

/* нижняя кнопка */
.music-row-toggle,
[id^="mp3play-"]{
    width:24px !important;
    height:24px !important;
    margin:0 !important;
    padding:0 !important;
}

/* верхняя кнопка */
.music-main-toggle,
#myplayer-toggle{
    width:28px !important;
    height:28px !important;
    margin:0 auto !important;
    padding:0 !important;
}

/* верхний плеер оставляем своим цветом */
.music-main-toggle,
#myplayer-toggle,
.music-download-btn,
#download{
    color:#5f6aa3 !important;
}

/* кнопка скачивания */
.music-download-btn{
    margin:0 auto;
}

/* на всякий случай гасим старые стили движка */
#myplayer-toggle.icon-play,
#myplayer-toggle.icon-pause,
[id^="mp3play-"].icon-play,
[id^="mp3play-"].icon-pause,
#download{
    background:none !important;
    background-image:none !important;
    border:none !important;
    box-shadow:none !important;
}

/* если внутри визуально плавает */
.music-row-left > span,
.music-row-left > a,
.music-row-right > a,
.music-row-right > div{
    margin:0 auto;
}

@media all and (max-width:420px){
    .music-row{
        padding:6px;
        gap:6px;
    }

    .music-row-left,
    .music-row-right{
        flex:0 0 32px;
        width:32px;
        height:32px;
    }

    .music-main-toggle,
    .music-row-toggle,
    .music-download-btn,
    #myplayer-toggle,
    [id^="mp3play-"],
    #download{
        transform:none;
    }
}

.file-view{
   padding: 6px 6px 0px;
}

.file-card{
position:relative;
    border-radius:14px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.08);
    padding:10px;
    margin-bottom:8px;
    box-sizing:border-box;
    overflow:hidden;
}

.file-card-title{
    font-weight:bold;
    font-size:16px;
    line-height:1.2;
    margin-bottom:8px;
    word-wrap:break-word;
    word-break:break-word;
}

.file-card-subtitle{
    font-size:13px;
    margin-bottom:8px;
     margin-top:8px;
    opacity:.9;
}

.file-meta{
    display:flex;
    flex-wrap:wrap;
    gap:6px;
    margin:8px 0;
}

.file-actions{
    display:grid;
    grid-template-columns:repeat(auto-fit, minmax(220px, 1fr));
    gap:8px;
    margin-top:8px;
}

.file-action{
    display:flex;
    align-items:center;
    gap:8px;
    padding:9px 10px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:12px;
    text-decoration:none;
    box-sizing:border-box;
}

.file-action:hover{
    text-decoration:none;
}

.file-action-icon{
    flex:0 0 20px;
    width:20px;
    text-align:center;
}

.file-info-list{
    margin-top:8px;
    line-height:1.5;
}

.file-info-row{
    margin-bottom:4px;
    word-wrap:break-word;
    word-break:break-word;
}

.file-preview{
    margin-top:8px;
}

.file-preview img,
.file-preview video{
    display: block;
    max-width: min(100%, 360px);
    max-height: 240px;
    height: auto;
    margin: 0 auto;
    border-radius: 10px;
}

.file-bbcode{
    margin-top:8px;
    padding:8px;
    border-radius:10px;
    border:1px dashed rgba(0,0,0,.12);
    word-break:break-all;
}

.file-comments-title{
    font-weight:bold;
    margin-bottom:8px;
}

.file-comment{
    border-radius:14px;
    border:1px solid rgba(0,0,0,.08);
    box-shadow:0 2px 6px rgba(0,0,0,.08);
    padding:8px;
    margin-bottom:8px;
    box-sizing:border-box;
}

.file-comment-head{
    margin-bottom:6px;
    line-height:1.4;
}

.file-comment-text{
    word-wrap:break-word;
    word-break:break-word;
    margin:6px;
}

.file-comment-actions{
   margin:6px;
}

.file-comment-actions a{
    margin-right:8px;
}

.file-form-box{
    margin-top:10px;
}

.file-back-links{
    margin-top:10px;
}

@media all and (max-width:420px){
    .file-actions{
        grid-template-columns:1fr;
    }

    .file-card-title{
        font-size:15px;
    }
}

.file-rate-row{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:8px;
    margin:8px 0;
}

.file-rate-box{
    display:flex;
    align-items:center;
    gap:6px;
    flex-wrap:wrap;
}

.file-vote-btn{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:34px;
    height:34px;
    padding:0 10px;
    border:1px solid rgba(0,0,0,.08);
    border-radius:10px;
    text-decoration:none !important;
    box-sizing:border-box;
}

.file-vote-btn:hover{
    text-decoration:none !important;
}

.file-vote-btn .fa{
    font-size:16px;
    line-height:1;
}

.file-copy-box{
    margin-top:8px;
}

.file-copy-btn{
    width:100%;
    display:block;
    padding:8px 10px;
    border:1px dashed rgba(0,0,0,.12);
    border-radius:10px;
    background:none;
    text-align:left;
    box-sizing:border-box;
    cursor:pointer;
    word-break:break-all;
    font:inherit;
     transition: background .2s ease, color .2s ease, opacity .2s ease;
}

.file-copy-btn .file-copy-label{
    display:inline-block;
    vertical-align:middle;
}

.file-copy-btn.file-copy-success{
    opacity: .95;
}

.file-copy-btn.file-copy-error{
    opacity: .95;
}

.file-copy-status{
    margin-top:6px;
    opacity:.9;
    display:none;
    color: #55a35b !important;
}

.file-copy-status.is-visible{
    display:block;
}

.file-preview-video{
    margin-top:10px;
}

.file-video-player{
    display:block;
    width:100%;
    max-width:480px;
    height:auto;
    border-radius:12px;
    background:#000;
}

.user-card {
    overflow: hidden;
    border-radius: 18px;
    padding: 0 !important;
}

.user-card__top {
    display: flex;
    align-items: stretch;
    width: 100%;
}

.user-card__avatar {
position: relative;
    width: 50px;           /* регулируй размер */
    min-width: 50px;
    max-width: 50px;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    flex-shrink: 0;
    line-height: 0;
}
.user-card__avatar:after {
    content: "";
    position: absolute;
    inset: 0;
  background: rgba(0, 0, 0, 0.02);
    pointer-events: none;
    z-index: 2;
}

.user-card__avatar img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    margin: 0 !important;
}

.user-card__info {
    flex: 1;
    padding: 10px 4px 10px 10px;
    min-width: 0;
}

.user-card__line {
    display: block;
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.user-card__line img {
    vertical-align: middle;
}

.user-card__nickrow {
    display: flex;
    align-items: center;
    gap: 4px;
    min-width: 0;
    overflow: hidden;
}

.user-card__nickmain {
    min-width: 0;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    flex: 1 1 auto;
    display: block;
}

.user-card__nickmain a {
    display: inline;
}

.user-card__badges {
    flex: 0 0 auto;
    white-space: nowrap;
}

.zn-woman{
   color: rgb(255, 103, 240);
   font-size: 14px;
   position: absolute;
right: 3px;
bottom: 3px;
background: rgba(0, 0, 0, 0.15);
padding: 1px;
border-radius: 12px;
 z-index: 3;
}
.zn-man{
  color: rgb(107 149 249);
  font-size: 14px;
  position: absolute;
right: 3px;
bottom: 3px;
background: rgba(0, 0, 0, 0.15);
padding: 1px;
border-radius: 12px;
 z-index: 3;
}

.active_sort{
    opacity: .65;
    cursor: default;
    pointer-events: none;
}

.music-privacy-icons{
    display:inline-flex;
    align-items:center;
    gap:6px;
    margin-left:6px;
    vertical-align:middle;
    line-height:1;
    white-space:nowrap;
    padding:2px 7px;
    border-radius:12px;
    background:rgba(0,0,0,.55);
    border: 1px solid #515152;
}

.music-privacy-icons i{
    color:#ffa04e;
    font-size:12px;
    line-height:1;
}

.music-privacy-icons .uf-icon-inherited{
    color:rgba(255,255,255,.82);
    text-shadow:0 0 2px rgba(0,0,0,.45);
}

.userfiles-file-ext {
    position: absolute;
    right: 2px;
    top: 2px;
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 28px;
    padding: 0 10px;
    font-size: 13px;
    font-weight: 600;
    text-transform: uppercase;
    color: #fff;
    background: rgba(0,0,0,.45);
    border: 1px solid rgba(255,255,255,.7);
    border-radius: 999px;
    z-index: 2;
    box-shadow: 0 1px 4px rgba(0,0,0,.18);
    white-space: nowrap;
    line-height: 1;
    box-sizing: border-box;
}

.obmen-privacy-icons{
    display:inline-flex;
    align-items:center;
    gap:6px;
    vertical-align:middle;
    line-height:1;
    white-space:nowrap;
    padding:4px 8px;
    border-radius:999px;
    background:rgba(0,0,0,.45);
    border:1px solid rgba(255,255,255,.55);
    box-shadow:0 1px 4px rgba(0,0,0,.18);
    backdrop-filter:blur(1px);
    z-index:3;
}

.obmen-privacy-icons i{
    color:#ffa04e;
    font-size:12px;
    line-height:1;
}

.obmen-privacy-icons .uf-icon-inherited{
    color:rgba(255,255,255,.82);
    text-shadow:0 0 2px rgba(0,0,0,.45);
}

.obmen-privacy-icons--overlay{
    position:absolute;
    top:8px;
    left:8px;
    margin:0;
}