/* Short Videos */
.shorts-section{
    max-width:1200px;
    margin:35px auto;
}

.shorts-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:16px;
}

.shorts-header h2{
    color:#ff2f66;
    font-size:22px;
    font-weight:800;
    text-transform:uppercase;
    margin:0;
}

.shorts-header a{
    color:#aaa;
    font-size:13px;
    text-transform:uppercase;
}

.shorts-row{
    display:flex;
    gap:18px;
    overflow-x:auto;
    padding-bottom:10px;
}

.short-card{
    position:relative;
    flex:0 0 170px;
    height:300px;
    border-radius:14px;
    overflow:hidden;
    background:#111;
    display:block;
}

.short-card img{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.short-card::after{
    content:"";
    position:absolute;
    inset:0;
    background:linear-gradient(to top, rgba(0,0,0,.85), transparent 55%);
}

.short-overlay{
    position:absolute;
    left:10px;
    right:10px;
    bottom:10px;
    z-index:2;
}

.short-title{
    color:#fff;
    font-size:13px;
    font-weight:700;
    line-height:1.3;
    display:block;
}

.short-time{
    display:inline-block;
    margin-top:6px;
    background:rgba(0,0,0,.75);
    color:#fff;
    font-size:11px;
    padding:3px 6px;
    border-radius:4px;
}
/* Short Videos */
.shorts-body{
    margin:0;
    background:#05060b;
    overflow:hidden;
}
.shorts-player-page{
    min-height:100vh;
    display:flex;
    justify-content:center;
    align-items:center;
    background:#05060b;
}
.shorts-player{
    position:relative;
    width:550px;
    height:700px;
    background:#000;
    overflow:hidden;
}
.shorts-player video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.shorts-top{
    position:absolute;
    top:15px;
    left:0;
    right:0;
    text-align:center;
    color:#fff;
    font-size:18px;
    z-index:3;
}
.shorts-bottom{
    position:absolute;
    left:18px;
    right:80px;
    bottom:24px;
    color:#fff;
    z-index:3;
}
.short-model{
    font-weight:700;
    margin-bottom:10px;
}
.short-model button{
    margin-left:8px;
    border:1px solid #fff;
    background:transparent;
    color:#fff;
    border-radius:18px;
    padding:4px 12px;
    font-size:12px;
}
.short-title{
    font-size:15px;
    line-height:1.3;
}
.short-actions{
    position:absolute;
    right:22px;
    top:50%;
    transform:translateY(-50%);
    color:#fff;
    z-index:999;
    display:flex;
    flex-direction:column;
    gap:22px;
    text-align:center;
    font-size:30px;
    width:60px;
    overflow:visible;
}

.short-actions span{
    display:block;
    font-size:13px;
    margin-top:4px;
}

@media(max-width:767px){
    .shorts-player-page{
        align-items:stretch;
    }

    .shorts-player{
        width:100%;
        height:100vh;
        border-radius:0;
    }
}
.shorts-feed{
    height:calc(100vh - 70px);
    overflow-y:scroll;
    scroll-snap-type:y mandatory;
    padding-bottom:0;
}
.short-slide{
    height:calc(100vh - 70px);
    width:min(550px,100%);
    margin:0 auto;
    position:relative;
    display:flex;
    justify-content:center;
    align-items:center;
    background:transparent;
    scroll-snap-align:start;
    overflow:visible;
overflow:hidden;
}
.short-card video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
.pause-icon{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%,-50%);
    font-size:70px;
    color:#fff;
    opacity:0;
    pointer-events:none;
    z-index:20;
    transition:.2s;
}
.shorts-navbar{
    position:fixed;
    bottom:0;
    left:50%;
    transform:translateX(-50%);

    width:min(700px,100%);

    height:70px;
    background:rgba(5,6,11,.95);

    display:flex;
    justify-content:space-around;
    align-items:center;

    z-index:9999;
}
.shorts-navbar a{
    color:#fff;
    font-size:38px;
    text-decoration:none;
    transition:.2s;
}

.shorts-navbar a:hover{
    color:#ff2f7d;
}
.short-video-box{
    width:550px;
    height:100%;
    position:relative;
    background:#000;
    overflow:hidden;
    border-radius:18px;
}
.short-video-box video{
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:18px;
}
.sound-toggle{
    cursor:pointer;
}

.sound-toggle i{
    font-size:38px;
    color:#fff;
}
.short-progress{
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    width:100%;
    z-index:20;
	overflow:hidden;
}
.short-progress-bar{
    width:100%;
    margin:0;
    display:block;
    cursor:pointer;
    accent-color:#ff2f7d;
}
.short-progress-bar::-webkit-slider-thumb{
    -webkit-appearance:none;
    width:0;
    height:0;
}
.short-progress-bar::-moz-range-thumb{
    width:0;
    height:0;
    border:none;
}
.short-card video,
.short-thumb{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
    background:#000;
}
/* Short Videos Home Page */
.shorts-home{
    max-width:1200px;
    margin:35px auto;
    padding:0 15px;
}
.shorts-home-header{
    display:flex;
    justify-content:space-between;
    align-items:center;
    margin-bottom:20px;
}
.shorts-home-header h1{
    color:#ff2f66;
    text-transform:uppercase;
    font-weight:800;
}
.shorts-home-header a{
    color:#fff;
    background:#ff2f66;
    padding:8px 16px;
    border-radius:20px;
}
.shorts-menu{
    display:flex;
    gap:25px;
    margin-bottom:20px;
    border-bottom:1px solid #222;
}
.shorts-menu a{
    color:#aaa;
    font-weight:700;
    padding-bottom:12px;
    text-transform:uppercase;
}
.shorts-menu a.active{
    color:#ff2f66;
    border-bottom:2px solid #ff2f66;
}
.short-search input{
    width:100%;
    max-width:400px;
    height:42px;
    border-radius:20px;
    border:none;
    padding:0 18px;
    margin-bottom:25px;
}
/* SHORTS GALLERY */

.shorts-grid {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    gap: 18px;
    width: 100%;
}

.short-card-home {
    position: relative;
    width: 100%;
    aspect-ratio: 9 / 16;

    border-radius: 14px;
    overflow: hidden;
    background: #000;

    display: block;
    text-decoration: none;
}
.short-card-home video{
    width:100%;
    height:100%;
    object-fit:cover;
}
.short-card-home::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to top,
        rgba(0,0,0,.90) 0%,
        rgba(0,0,0,.45) 30%,
        transparent 60%
    );

    pointer-events: none;
    z-index: 2;
}
.short-card-info {
    position: absolute;

    left: 10px;
    right: 10px;
    bottom: 10px;

    z-index: 3;
}
.short-card-video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;

    background: #000;
}
.short-card-info h3 {
    margin: 0;

    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
}
.short-card-info span{
    color:#fff;
    background:#000;
    padding:3px 7px;
    border-radius:5px;
    font-size:12px;
}
.short-card-duration {
    display: inline-block;

    margin-top: 6px;
    padding: 3px 6px;

    background: rgba(0,0,0,.80);
    color: #fff;

    font-size: 11px;
    border-radius: 4px;
}
/* Short Models */
.short-model-page{
    max-width:1200px;
    margin:35px auto;
    padding:0 15px;
}

.short-model-header{
    margin-bottom:25px;
    padding-bottom:18px;
    border-bottom:1px solid #222;
}

.short-model-header h1{
    color:#fff;
    font-size:34px;
    font-weight:800;
}

.short-model-header p{
    color:#ff2f66;
    font-size:16px;
}

.short-model-profile{
    max-width:760px;
    margin:0 auto;
    background:#0b0c17;
    color:#fff;
    min-height:100vh;
    padding:18px;
}

.short-model-top{
    display:flex;
    align-items:center;
    justify-content:space-between;
    margin-bottom:20px;
}

.short-model-top h1{
    font-size:22px;
    font-weight:800;
}

.short-model-top h1 span{
    color:#ff2f66;
}

.model-back,
.model-menu{
    color:#fff;
    font-size:28px;
    text-decoration:none;
}

.model-profile-info{
    display:flex;
    align-items:center;
    gap:28px;
    margin-bottom:22px;
}

.model-avatar{
    width:115px;
    height:115px;
    border-radius:50%;
    object-fit:cover;
}

.model-stats{
    flex:1;
    display:flex;
    justify-content:space-around;
    text-align:center;
}

.model-stats strong{
    display:block;
    font-size:20px;
}

.model-stats span{
    font-size:13px;
    color:#cfcfd7;
}

.model-bio{
    font-size:15px;
    font-weight:700;
    margin-bottom:18px;
}

.model-tabs{
    display:flex;
    border-bottom:1px solid #242633;
    margin-bottom:4px;
}

.model-tabs button{
    flex:1;
    background:none;
    border:none;
    color:#aaa;
    padding:14px 0;
    font-weight:800;
    text-transform:uppercase;
}

.model-tabs button.active{
    color:#ff2f66;
    border-bottom:3px solid #ff2f66;
}

.model-tab-content{
    display:none;
}

.model-tab-content.active{
    display:block;
}

.model-short-grid{
    display:grid;
    grid-template-columns:repeat(3, 1fr);
    gap:4px;
}

.model-short-card{
    width:100%;
    aspect-ratio:9 / 16;
    background:#000;
    overflow:hidden;
    border-radius:4px;
    display:block;
}

.model-short-card video{
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}

.no-photos{
    color:#aaa;
    padding:30px 0;
}
.model-short-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
@media(max-width:767px){
  
    .short-model-profile{
        max-width:100%;
        width:100%;
        padding:14px;
        margin:0;
        background:#0b0c17;
    }

    .model-profile-info{
        display:flex;
        align-items:center;
        gap:16px;
    }

    .model-avatar{
        width:95px !important;
        height:95px !important;
        border-radius:50%;
        object-fit:cover;
    }

    .model-stats{
        display:flex;
        flex:1;
        justify-content:space-around;
        text-align:center;
    }

    .model-stats strong{
        font-size:17px;
    }

    .model-stats span{
        font-size:12px;
        display:block;
    }

    .model-bio{
        margin:14px 0;
        font-size:14px;
        color:#fff;
    }

    .model-tabs{
        display:flex;
        margin-bottom:6px;
    }

    .model-tabs button{
        flex:1;
        padding:12px 0;
        border:none;
        background:none;
        color:#aaa;
        font-weight:800;
    }

    .model-tabs button.active{
        color:#ff2f66;
        border-bottom:3px solid #ff2f66;
    }

    .model-short-grid{
        display:grid;
        grid-template-columns:repeat(3, 1fr);
        gap:3px;
    }

    .model-short-card{
        aspect-ratio:9 / 16;
        height:auto !important;
        border-radius:4px;
        overflow:hidden;
    }

    .model-short-card video{
        width:100%;
        height:100%;
        object-fit:cover;
        display:block;
    }
	.model-short-card img{ 
    width:100%;
    height:100%;
    object-fit:cover;
    display:block;
}
}
/* Short Videos Player */
@media (max-width: 767px) {

    body.shorts-body {
        margin: 0 !important;
        padding: 0 !important;
        background: #000 !important;
        overflow: hidden !important;
    }

    .shorts-feed {
        width: 100vw;
        height: 100vh;
        overflow-y: scroll;
        scroll-snap-type: y mandatory;
    }

    .short-slide {
        width: 100vw;
        max-width: none;
        height: 100vh;
        margin: 0;
        border-radius: 0;
        overflow: hidden;
    }

    .shorts-player,
    .short-video-box {
        width: 100vw;
        max-width: none;
        height: calc(100vh - 70px);
        margin: 0;
        border-radius: 0;
        display: flex;
        align-items: center;
        justify-content: center;
        background: #000;
    }

    .short-feed-video,
    .shorts-player video,
    .short-video-box video {
        width: 100%;
        height: 100%;
        object-fit: cover;
        border-radius: 0;
        display: block;
    }

    .shorts-navbar {
        position: fixed;
        left: 0;
        bottom: 0;
        transform: none;
        width: 100vw;
        height: 70px;
        display: flex;
        justify-content: space-evenly;
        align-items: center;
        background: rgba(5, 6, 11, 0.95);
        z-index: 9999;
    }

    .shorts-navbar a {
        font-size: 40px;
        color: #fff;
    }

    .short-actions {
        position: absolute;
        right: 18px;
        top: 48%;
        transform: translateY(-50%);
        width: 90px;
        z-index: 30;
    }

    .short-actions div {
        display: flex;
        flex-direction: column;
        align-items: center;
        margin-bottom: 28px;
    }

    .short-actions i {
        font-size: 58px;
        color: #fff;
    }

    .short-actions span {
        margin-top: 8px;
        color: #fff;
        font-size: 18px;
    }

    .shorts-bottom {
        left: 20px;
        right: 90px;
        bottom: 95px;
    }

    .shorts-top {
        top: 20px;
        font-size: 18px;
    }
	.short-actions a,
.short-actions button {
    width: 70px;
    height: 70px;

    display: flex;
    align-items: center;
    justify-content: center;
}
}
/* FINAL MOBILE SHORT ACTION ICON SIZE */
@media only screen and (max-width: 767px) {

    .short-actions {
        width: 90px !important;
        right: 8px !important;
    }

    .short-actions div,
    .short-actions a,
    .short-actions button {
        width: 80px !important;
        min-width: 80px !important;
        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;
    }

    /* Font Awesome and other font icons */
    .short-actions i,
    .short-actions a i,
    .short-actions button i {
        font-size: 58px !important;
        line-height: 1 !important;
        width: auto !important;
        height: auto !important;
    }

    /* SVG icons */
    .short-actions svg,
    .short-actions a svg,
    .short-actions button svg {
        width: 58px !important;
        height: 58px !important;
        min-width: 58px !important;
        min-height: 58px !important;
    }

    /* Image icons */
    .short-actions img {
        width: 58px !important;
        height: 58px !important;
        object-fit: contain !important;
    }

    .short-actions span {
        font-size: 18px !important;
        line-height: 1.2 !important;
        margin-top: 7px !important;
    }
}
/* =========================================
   FINAL DESKTOP SHORTS LAYOUT
   ========================================= */
@media (min-width: 768px) {

    .short-slide {
        --sidebar-width: 90px;
        --video-top: 25px;
       --video-height: min(900px, calc(100vh - 100px));

        position: relative !important;

        width: min(640px, calc(100vw - 30px)) !important;
        max-width: 640px !important;
        height: calc(100vh - 70px) !important;

        margin: 0 auto !important;
        display: block !important;

        background: #05060b !important;
        overflow: hidden !important;
    }

    /* VIDEO */
    .short-feed-video {
        position: absolute !important;
        top: var(--video-top) !important;
        left: 0 !important;

        width: calc(100% - var(--sidebar-width)) !important;
        height: var(--video-height) !important;

        transform: none !important;
        object-fit: cover !important;
        display: block !important;
    }

    /* RIGHT ICON COLUMN */
    .short-actions {
        position: absolute !important;

        top: 270px !important;
        left: calc(100% - var(--sidebar-width)) !important;
        right: auto !important;

        width: var(--sidebar-width) !important;

        transform: none !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;

        gap: 28px !important;

        color: #fff !important;
        z-index: 30 !important;
    }

    .short-actions > div {
        width: 100% !important;

        display: flex !important;
        flex-direction: column !important;
        align-items: center !important;
        justify-content: center !important;

        text-align: center !important;
        cursor: pointer;
    }

    .short-actions i {
        font-size: 42px !important;
        line-height: 1 !important;
        color: #fff !important;
    }

    .short-actions span {
        display: block !important;
        margin-top: 7px !important;
        font-size: 14px !important;
        line-height: 1.1 !important;
        color: #fff !important;
    }

    /* FOR YOU ALIGNED WITH VIDEO */
    .shorts-top {
        top: calc(var(--video-top) + 10px) !important;
        left: 0 !important;
        right: var(--sidebar-width) !important;
    }

    /* USER + TITLE AT BOTTOM OF VIDEO */
    .shorts-bottom {
        top: calc(
            var(--video-top) +
            var(--video-height) -
            72px
        ) !important;

        bottom: auto !important;
        left: 18px !important;
        right: calc(var(--sidebar-width) + 18px) !important;
    }

    /* PROGRESS BAR AT EXACT BOTTOM OF VIDEO */
   .short-progress {
    top: calc(
        var(--video-top) +
        var(--video-height) -
        10px
    ) !important;

    bottom: auto !important;
    left: 0 !important;

    width: calc(100% - var(--sidebar-width)) !important;

    z-index: 100 !important;
    position: absolute !important;
}
.short-progress-bar {
    position: relative !important;
    z-index: 101 !important;
}
    /* PAUSE ICON CENTERED ON VIDEO */
    .pause-icon {
        left: calc((100% - var(--sidebar-width)) / 2) !important;
    }

/* DESKTOP FULL-WIDTH BOTTOM NAVBAR */
.shorts-navbar {
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: 0 !important;

    width: 100% !important;
    max-width: none !important;
    height: 72px !important;

    transform: none !important;

    background: #0b0c17 !important;
    border-top: 1px solid #1f2230 !important;

    display: flex !important;
    justify-content: center !important;
    align-items: center !important;

    gap: 95px !important;

    z-index: 9999 !important;
}

.shorts-navbar a {
    width: 70px !important;
    height: 70px !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    color: #fff !important;
    font-size: 34px !important;
    text-decoration: none !important;
}

.shorts-navbar a:hover {
    color: #ff2f7d !important;
}
.short-avatar {
    width: 70px !important;
    height: 70px !important;
    position: relative !important;
    overflow: visible !important;
}

.short-avatar a {
    display: block !important;
    position: relative !important;
    width: 70px !important;
    height: 70px !important;
}

.short-avatar img {
    width: 70px !important;
    height: 70px !important;
    object-fit: cover !important;
    border-radius: 50% !important;
    border: 3px solid #ff2f7d !important;
    display: block !important;
}

.live-badge-avatar {
    position: absolute !important;

    /* Put LIVE at bottom center of avatar */
    top: auto !important;
    bottom: -5px !important;
    left: 50% !important;
    transform: translateX(-50%) !important;

    background: #ff2f7d !important;
    color: #fff !important;

    font-size: 9px !important;
    font-weight: 700 !important;
    line-height: 1 !important;

    padding: 4px 7px !important;
    border-radius: 8px !important;

    white-space: nowrap !important;
    z-index: 10 !important;
}
  .short-video-logo {
        position: absolute !important;
        top: 30px !important;
        left: 10px !important;
        width: 48px !important;
        height: 48px !important;
        z-index: 200 !important;
        pointer-events: none !important;
    }

    .short-video-logo img {
        width: 100% !important;
        height: 100% !important;
        object-fit: contain !important;
        display: block !important;
    }
}
.short-card-home {
    position: relative;
    display: block;

    width: 100%;
    aspect-ratio: 9 / 16;

    background: #000;
    border-radius: 14px;
    overflow: hidden;

    text-decoration: none;
}

.short-card-video {
    position: absolute;
    inset: 0;

    width: 100%;
    height: 100%;

    object-fit: cover;
    display: block;
}

.short-card-home::after {
    content: "";
    position: absolute;
    inset: 0;

    background: linear-gradient(
        to top,
        rgba(0, 0, 0, .85) 0%,
        rgba(0, 0, 0, .35) 30%,
        transparent 60%
    );

    pointer-events: none;
    z-index: 2;
}

.short-card-info {
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: 12px;

    z-index: 3;
}

.short-card-info h3 {
    margin: 0;

    color: #fff;
    font-size: 15px;
    font-weight: 700;
    line-height: 1.3;
}

.short-card-duration {
    display: inline-block;

    margin-top: 7px;
    padding: 3px 6px;

    background: rgba(0, 0, 0, .8);
    color: #fff;

    font-size: 11px;
    border-radius: 4px;
}