/* ==========================================================
   TRENDING PROPERTIES
========================================================== */

.trending-properties-section{

    margin:40px 0;

    position:relative;

}

.trending-properties-section *{

    box-sizing:border-box;

}

/* ==========================================================
   HEADER
========================================================== */

.trending-header{

    display:flex;

    justify-content:space-between;

    align-items:center;

    margin-bottom:18px;

    gap:20px;

}

.trending-header h2{

    margin:0;

    font-size:28px;

    font-weight:700;

    color:#222;

}

.trending-header p{

    margin:6px 0 0;

    color:#777;

    font-size:14px;

}

.view-all-btn{

    text-decoration:none;

    color:#0d6efd;

    font-weight:600;

    transition:.25s;

}

.view-all-btn:hover{

    color:#084298;

}

/* ==========================================================
   SLIDER
========================================================== */

.trending-slider{

    display:flex;

    gap:18px;

    overflow-x:auto;

    overflow-y:hidden;

    scroll-behavior:smooth;

    scroll-snap-type:x mandatory;

    padding-bottom:12px;

    -webkit-overflow-scrolling:touch;

}

.trending-slider::-webkit-scrollbar{

    height:8px;

}

.trending-slider::-webkit-scrollbar-thumb{

    background:#cfcfcf;

    border-radius:30px;

}

.trending-slider::-webkit-scrollbar-track{

    background:transparent;

}

/* ==========================================================
   CARD
========================================================== */

.video-card{

    flex:0 0 300px;

    scroll-snap-align:start;

    border-radius:18px;

    overflow:hidden;

    background:#fff;

    box-shadow:0 10px 25px rgba(0,0,0,.08);

    transition:.35s;

}

.video-card:hover{

    transform:translateY(-8px);

    box-shadow:0 18px 35px rgba(0,0,0,.18);

}

.card-link{

    display:block;

    text-decoration:none;

    color:inherit;

}

/* ==========================================================
   THUMBNAIL
========================================================== */

.video-thumb{

    position:relative;

    width:100%;

    height:200px;

    overflow:hidden;

    background:#eee;

}

.video-thumb img{

    width:100%;

    height:100%;

    object-fit:cover;

    transition:transform .4s;

}

.video-card:hover img{

    transform:scale(1.08);

}

/* ==========================================================
   PLAY BUTTON
========================================================== */

.play-button{

    position:absolute;

    left:50%;

    top:50%;

    transform:translate(-50%,-50%);

    width:62px;

    height:62px;

    border-radius:50%;

    background:rgba(0,0,0,.55);

    color:#fff;

    display:flex;

    justify-content:center;

    align-items:center;

    font-size:22px;

    backdrop-filter:blur(4px);

    transition:.3s;

}

.video-card:hover .play-button{

    transform:translate(-50%,-50%) scale(1.12);

}

/* ==========================================================
   BADGE
========================================================== */

.trending-badge{

    position:absolute;

    top:12px;

    left:12px;

    background:#ff5722;

    color:#fff;

    padding:6px 10px;

    border-radius:25px;

    font-size:12px;

    font-weight:700;

    letter-spacing:.3px;

}

/* ==========================================================
   INFO
========================================================== */

.video-info{

    padding:15px;

}

.video-info h3{

    margin:0;

    font-size:16px;

    font-weight:700;

    line-height:1.45;

    color:#222;

    height:48px;

    overflow:hidden;

}

.price{

    margin-top:10px;

    color:#198754;

    font-size:22px;

    font-weight:700;

}

.location{

    margin-top:8px;

    color:#777;

    font-size:14px;

}

.bottom-row{

    margin-top:14px;

    display:flex;

    justify-content:space-between;

    align-items:center;

    color:#666;

    font-size:14px;

}

.bottom-row span{

    display:flex;

    align-items:center;

    gap:5px;

}

/* ==========================================================
   EMPTY
========================================================== */

.no-trending{

    padding:40px;

    text-align:center;

    background:#fafafa;

    border:1px dashed #ddd;

    border-radius:15px;

    color:#888;

}

/* ==========================================================
   TABLET
========================================================== */

@media (max-width:992px){

    .video-card{

        flex:0 0 260px;

    }

    .video-thumb{

        height:180px;

    }

}

/* ==========================================================
   MOBILE
========================================================== */

@media (max-width:768px){

    .trending-header{

        flex-direction:column;

        align-items:flex-start;

    }

    .trending-header h2{

        font-size:22px;

    }

    .video-card{

        flex:0 0 220px;

    }

    .video-thumb{

        height:155px;

    }

    .price{

        font-size:18px;

    }

    .video-info h3{

        font-size:15px;

        height:42px;

    }

}

/* ==========================================================
   SMALL MOBILE
========================================================== */

@media (max-width:480px){

    .video-card{

        flex:0 0 200px;

    }

    .video-thumb{

        height:140px;

    }

    .play-button{

        width:50px;

        height:50px;

        font-size:18px;

    }

}

/* ==========================================================
   JAVASCRIPT EFFECTS
========================================================== */

.trending-slider.dragging{

    cursor:grabbing;

    user-select:none;

}

.trending-slider{

    cursor:grab;

}

.video-card{

    opacity:0;

    transform:translateY(25px);

    transition:

        opacity .45s ease,

        transform .45s ease,

        box-shadow .3s ease;

}

.video-card.visible{

    opacity:1;

    transform:translateY(0);

}


/* ==========================================================
   NAVIGATION BUTTONS
========================================================== */

.trending-wrapper{

    position:relative;

}

.trending-nav{

    position:absolute;

    top:50%;

    transform:translateY(-50%);

    width:48px;

    height:48px;

    border:none;

    border-radius:50%;

    background:rgba(0,0,0,.75);

    color:#fff;

    font-size:24px;

    cursor:pointer;

    z-index:20;

    transition:.25s;

}

.trending-nav:hover{

    background:#198754;

}

.trending-nav.prev{

    left:-18px;

}

.trending-nav.next{

    right:-18px;

}

@media(max-width:768px){

    .trending-nav{

        display:none;

    }

}


.skeleton-card{

width:300px;

height:310px;

border-radius:18px;

background:linear-gradient(
90deg,
#eee 25%,
#f7f7f7 50%,
#eee 75%
);

background-size:200% 100%;

animation:skeleton 1.3s infinite;

}

@keyframes skeleton{

0%{

background-position:200% 0;

}

100%{

background-position:-200% 0;

}

}


.toolbar-svg{

    position:absolute;

    left:16px;

    top:50%;

    transform:translateY(-50%);

    width:18px;

    height:18px;

    fill:#6c757d;

    pointer-events:none;

    transition:.25s;

}

.toolbar-search:focus-within .toolbar-svg,
.toolbar-select:focus-within .toolbar-svg{

    fill:#198754;

}

.card-icon{

    width:16px;

    height:16px;

    fill:currentColor;

    vertical-align:middle;

    flex-shrink:0;

}
