/*=========================================================
    STAR SAT
    ARCHIVE EXPLORER
=========================================================*/


/*=========================================================
    PAGE
=========================================================*/

.af-page{

    position:relative;

    padding:20px 0 30px;

}


/*=========================================================
    LAYOUT
=========================================================*/

.af-layout{

    display:grid;

    grid-template-columns:240px minmax(0,1fr);

    gap:18px;

    align-items:start;

}


/*=========================================================
    SIDEBAR
=========================================================*/

.af-sidebar{

    position:sticky;

    top:84px;

}


/*=========================================================
    SIDEBAR BOX
=========================================================*/

.af-sidebar-box{

    overflow:hidden;

    border-radius:12px;

    border:1px solid rgba(112,168,255,.08);

    background:
        linear-gradient(
            180deg,
            rgba(31,42,67,.94),
            rgba(21,29,48,.98)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 14px 28px rgba(0,0,0,.16);

}


/*=========================================================
    SIDEBAR HEADER
=========================================================*/

.af-sidebar-head{

    display:flex;

    align-items:center;

    min-height:46px;

    padding:0 14px;

    border-bottom:1px solid rgba(255,255,255,.05);

    background:

    linear-gradient(

        180deg,

        rgba(255,255,255,.02),

        transparent

    );

}

.af-sidebar-head h2{

    font-size:11px;

    font-weight:500;

    color:#FFF;

}


/*=========================================================
    CATEGORY LIST
=========================================================*/

.af-category-list{

    margin:0;

    padding:8px;

    list-style:none;

}

.af-category-list li{

    margin:0;

    padding:0;

}


/*=========================================================
    CATEGORY BUTTON
=========================================================*/

.af-category-item{

    display:flex;

    align-items:center;

    justify-content:space-between;

    width:100%;

    min-height:36px;

    padding:0 10px;

    border:0;

    border-radius:8px;

    background:transparent;

    cursor:pointer;

    transition:.20s;

}


/*=========================================================
    CATEGORY NAME
=========================================================*/

.af-category-name{

    display:flex;

    align-items:center;

    gap:8px;

    min-width:0;

    font-size:10px;

    font-weight:400;

    color:#B9C6D7;

}

.af-category-name svg{

    width:13px;

    height:13px;

    flex:0 0 auto;

    color:#68AEFF;

}


/*=========================================================
    CATEGORY COUNT
=========================================================*/

.af-category-count{

    display:flex;

    align-items:center;

    justify-content:center;

    min-width:28px;

    height:18px;

    padding:0 6px;

    border-radius:999px;

    background:rgba(255,255,255,.04);

    font-size:9px;

    font-weight:500;

    color:#FFFFFF;

}


/*=========================================================
    ACTIVE
=========================================================*/

.af-category-item.active{

    background:rgba(59,130,246,.08);

}

.af-category-item.active .af-category-name{

    color:#FFFFFF;

}

.af-category-item.active .af-category-count{

    background:#3B82F6;

}


/*=========================================================
    HOVER
=========================================================*/

.af-category-item:hover{

    background:rgba(255,255,255,.03);

}
/*=========================================================
    CONTENT
=========================================================*/

.af-content{

    min-width:0;

}


/*=========================================================
    TOOLBAR
=========================================================*/

.af-toolbar{

    display:flex;

    align-items:center;

    justify-content:space-between;

    gap:12px;

    margin-bottom:18px;

    padding:12px 14px;

    border-radius:12px;

    border:1px solid rgba(112,168,255,.08);

    background:
        linear-gradient(
            180deg,
            rgba(31,42,67,.96),
            rgba(22,30,49,.98)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 14px 28px rgba(0,0,0,.18);

}


/*=========================================================
    LEFT
=========================================================*/

.af-toolbar-left{

    display:flex;

    align-items:center;

    gap:10px;

    flex:1;

    min-width:0;

}


/*=========================================================
    RIGHT
=========================================================*/

.af-toolbar-right{

    display:flex;

    align-items:center;

    gap:10px;

}


/*=========================================================
    SEARCH
=========================================================*/

.af-search{

    position:relative;

    display:flex;

    align-items:center;

    flex:1;

    min-width:180px;

}

.af-search svg{

    position:absolute;

    left:12px;

    width:14px;

    height:14px;

    color:#6EAFFF;

}


/*=========================================================
    INPUT
=========================================================*/

#af-search{

    width:100%;

    height:36px;

    padding:0 14px 0 36px;

    border:1px solid rgba(255,255,255,.05);

    border-radius:8px;

    background:rgba(255,255,255,.02);

    color:#FFFFFF;

    font-size:10px;

    font-weight:400;

    outline:none;

    transition:.2s;

}

#af-search::placeholder{

    color:#7F93AD;

}

#af-search:focus{

    border-color:rgba(59,130,246,.25);

}


/*=========================================================
    SORT
=========================================================*/

.af-select{

    flex:0 0 auto;

}

.af-select select{

    height:38px;

    border:1px solid rgba(110,170,255,.08);

    border-radius:8px;

    appearance:none;

    -webkit-appearance:none;

    -moz-appearance:none;

    color:#FFFFFF;

    background:

       rgba(255, 255, 255, .02);

    box-shadow:

        inset 0 1px 0 rgba(255,255,255,.03);
        color:#fff;
font-size: 10px;
   padding: 5px 10px;
}

.af-select select option{

    background:#101827;

    color:#FFFFFF;

}
.af-select select option:checked{

    background:#2563EB;

    color:#FFFFFF;

}
/*=========================================================
    RESULT COUNT
=========================================================*/

.af-result-count{

    display:flex;

    align-items:center;

    gap:6px;

    height:36px;

    padding:0 12px;

    border-radius:8px;

    background:rgba(255,255,255,.03);

}

.af-result-count span{

    font-size:9px;

    font-weight:400;

    color:#91A5BE;

}

.af-result-count strong{

    font-size:10px;

    font-weight:500;

    color:#FFFFFF;

}



/*=========================================================
    LOADING
=========================================================*/

.af-loading{

    opacity:.55;

    pointer-events:none;

}
/*=========================================================
    GRID
=========================================================*/

.af-grid{

    display:grid;

    grid-template-columns:1fr;

    gap:10px;

}


/*=========================================================
    CARD
=========================================================*/

.af-card{

    position:relative;

    display:flex;

    align-items:center;

    gap:10px;

    min-height:58px;

    padding:10px 14px;

    text-decoration:none;

    overflow:hidden;

    border:1px solid rgba(115,170,255,.08);

    border-radius:12px;

    background:
        linear-gradient(
            180deg,
            rgba(31,42,67,.92) 0%,
            rgba(23,31,52,.96) 100%
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.04),
        0 10px 24px rgba(0,0,0,.18);

    transition:.22s;

}


/*=========================================================
    CARD ICON
=========================================================*/

.af-card-icon{

    display:flex;

    align-items:center;

    justify-content:center;

    width:34px;

    height:34px;

    flex:0 0 34px;

    border-radius:10px;

    background:rgba(59,130,246,.08);

}

.af-card-icon svg{

    width:16px;

    height:16px;

    color:#68AEFF;

}


/*=========================================================
    CARD CONTENT
=========================================================*/

.af-card-content{

    flex:1;

    min-width:0;

}


/*=========================================================
    TITLE
=========================================================*/

.af-card-title{

    display:-webkit-box;

    overflow:hidden;

    -webkit-box-orient:vertical;

    -webkit-line-clamp:2;

    margin:0;

    font-size:11px;

    font-weight:500;

    line-height:1.55;

    color:#EEF5FF;

    letter-spacing:.15px;

    word-break:break-word;

}


/*=========================================================
    ARROW
=========================================================*/

.af-card-arrow{

    display:flex;

    align-items:center;

    justify-content:center;

    width:24px;

    height:24px;

    flex:0 0 24px;

    color:#7EAEE8;

    transition:.2s;

}

.af-card-arrow svg{

    width:14px;

    height:14px;

}


/*=========================================================
    HOVER
=========================================================*/

.af-card:hover{

    transform:translateY(-2px);

    border-color:rgba(96,168,255,.22);

    background:
        linear-gradient(
            180deg,
            rgba(38,53,82,.96),
            rgba(27,37,61,.98)
        );

    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.05),
        0 18px 34px rgba(0,0,0,.28);

}

.af-card:hover .af-card-arrow{

    transform:translateX(3px);

    color:#68AEFF;

}

.af-card:hover .af-card-title{

    color:#FFFFFF;

}


/*=========================================================
    EMPTY
=========================================================*/

.af-empty{

    display:flex;

    flex-direction:column;

    align-items:center;

    justify-content:center;

    gap:10px;

    min-height:220px;

    padding:24px;

    border:1px dashed rgba(255,255,255,.08);

    border-radius:12px;

    text-align:center;

}

.af-empty svg{

    width:32px;

    height:32px;

    color:#5EA4FF;

}

.af-empty p{

    margin:0;

    font-size:11px;

    font-weight:400;

    color:#8EA2BC;

}


/*=========================================================
    SKELETON
=========================================================*/

.af-skeleton{

    height:56px;

    border-radius:12px;

    background:

    linear-gradient(

        90deg,

        rgba(255,255,255,.03),

        rgba(255,255,255,.06),

        rgba(255,255,255,.03)

    );

    background-size:240% 100%;

    animation:afSkeleton 1.2s linear infinite;

}

@keyframes afSkeleton{

    from{

        background-position:200% 0;

    }

    to{

        background-position:-200% 0;

    }

}


/*=========================================================
    LOAD MORE
=========================================================*/

.af-load-more-wrap{

    display:flex;

    justify-content:center;

    margin-top:18px;

}

.af-load-more{

    display:inline-flex;

    align-items:center;

    justify-content:center;

    gap:8px;

    min-width:150px;

    height:38px;

    padding:0 18px;

    border:1px solid rgba(255,255,255,.05);

    border-radius:14px;

    background:transparent;

    color:#FFFFFF;

    font-size:10px;

    font-weight:500;

    cursor:pointer;

    transition:.2s;

}

.af-load-more svg{

    width:14px;

    height:14px;

}

.af-load-more:hover{

    border-color:rgba(59,130,246,.18);

    background:rgba(59,130,246,.05);

}
/*=========================================================
    RESPONSIVE
    Part 4
=========================================================*/


/*=========================================================
    1600+
=========================================================*/

@media (min-width:1600px){

.af-grid{

    grid-template-columns:repeat(5,minmax(0,1fr));

}

}


/*=========================================================
    DESKTOP
=========================================================*/

@media (min-width:1200px) and (max-width:1599px){

.af-grid{

    grid-template-columns:repeat(4,minmax(0,1fr));

}

}


/*=========================================================
    LAPTOP
=========================================================*/

@media (min-width:992px) and (max-width:1199px){

.af-layout{

    grid-template-columns:220px minmax(0,1fr);

}

.af-grid{

    grid-template-columns:repeat(3,minmax(0,1fr));

}

}


/*=========================================================
    TABLET
=========================================================*/

@media (min-width:768px) and (max-width:991px){

.af-layout{

    grid-template-columns:1fr;

}

.af-sidebar{

    position:static;

}

.af-grid{

    grid-template-columns:repeat(2,minmax(0,1fr));

}

}


/*=========================================================
    MOBILE
=========================================================*/

@media (max-width:767px){

.af-layout{

    grid-template-columns:1fr;

    gap:14px;

}

.af-sidebar{

    position:static;

}

.af-toolbar{

    flex-direction:column;

    align-items:stretch;

    gap:10px;

}

.af-toolbar-left{

    flex-direction:column;

    align-items:stretch;

}

.af-toolbar-right{

    width:100%;

}

.af-search{

    width:100%;

}

.af-select{

    width:100%;

}

.af-select select{

    width:100%;

}

.af-result-count{

    justify-content:center;

}

.af-grid{

    grid-template-columns:1fr;

}

}


/*=========================================================
    SMALL MOBILE
=========================================================*/

@media (max-width:576px){

.af-page{

    padding:14px 0 24px;

}

.af-sidebar-head{

    min-height:40px;

    padding:0 12px;

}

.af-category-list{

    padding:6px;

}

.af-category-item{

    min-height:34px;

    padding:0 8px;

}

.af-toolbar{

    padding:10px;

    border-radius:12px;

}

#af-search{

    height:34px;

    font-size:10px;

}

.af-select select{

    height:34px;

}

.af-card{

    min-height:52px;

    padding:8px 12px;

}

.af-card-icon{

    width:30px;

    height:30px;

    flex:0 0 30px;

}

.af-card-title{

    font-size:10px;

}

.af-load-more{

    width:100%;

}

}


/*=========================================================
    EXTRA SMALL
=========================================================*/

@media (max-width:420px){

.af-category-name{

    font-size:9px;

}

.af-category-count{

    min-width:24px;

    height:16px;

    font-size:8px;

}

.af-card{

    min-height:50px;

}

.af-card-title{

    line-height:1.45;

}

}


/*=========================================================
    360
=========================================================*/

@media (max-width:360px){

.af-toolbar{

    padding:8px;

}

.af-card{

    padding:8px 10px;

}

.af-card-icon{

    width:28px;

    height:28px;

    flex:0 0 28px;

}

.af-card-icon svg{

    width:14px;

    height:14px;

}

.af-load-more{

    min-width:100%;

}

}


/*=========================================================
    UTILITIES
=========================================================*/

.af-grid>*{

    min-width:0;

}

.af-card-title{

    overflow-wrap:anywhere;

}



.af-category-list::-webkit-scrollbar{

    width:6px;

}

.af-category-list::-webkit-scrollbar-thumb{

    background:rgba(255,255,255,.08);

    border-radius:20px;

}


/*=========================================================
    PRINT
=========================================================*/

@media print{

.af-sidebar,

.af-toolbar,

.af-load-more{

    display:none;

}

.af-layout{

    display:block;

}

.af-grid{

    display:block;

}

.af-card{

    break-inside:avoid;

    margin-bottom:10px;

}

}
.af-section-head{

    display:flex;

    justify-content:center;

    align-items:center;

    margin-bottom:18px;

    padding-bottom:12px;

    text-align:center;

    position:relative;

}

.af-section-head>div{

    display:flex;

    flex-direction:column;

    align-items:center;

    gap:4px;

}

#af-category-title{

    margin:0;

    font-size:13px;

    font-weight:500;

    color:#FFFFFF;

    text-align:center;

}

#af-category-desc{

    margin:0;

    font-size:10px;

    font-weight:400;

    color:#8EA3BD;

    text-align:center;

}

.af-section-head::after{

    content:"";

    position:absolute;

    left:50%;

    bottom:0;

    width:120px;

    height:1px;

    transform:translateX(-50%);

    background:linear-gradient(
        90deg,
        transparent,
        rgba(96,168,255,.35),
        transparent
    );

}