/******************************************************************************
    YouTube List
    Dieterle Programmierung

    Ergaenzung zu youtube-showcase.css:
    Menueleiste (Suche + Sortierung) und Vorschaubild statt sofortigem iframe.

    Theme:
    Background : #3c3f43
******************************************************************************/

.ytList{

    width:100%;

    max-width:900px;

    margin:0 auto;

    font-family:"Segoe UI",Tahoma,Arial,sans-serif;

}



/******************************************************************************
    MENUELEISTE
******************************************************************************/

.ytBar{

    position:sticky;

    top:0;

    z-index:20;

    display:flex;

    align-items:center;

    flex-wrap:wrap;

    gap:14px;

    padding:14px 18px;

    margin:30px 0 10px;

    background:#35373b;

    border:1px solid rgba(255,255,255,.10);

    border-radius:16px;

    box-shadow:
        0 10px 28px rgba(0,0,0,.35);

}



/*--------------------------------------------------------------------------
    Suchfeld
--------------------------------------------------------------------------*/

.ytSearch{

    position:relative;

    flex:1 1 260px;

    min-width:200px;

}

.ytSearch input{

    width:100%;

    box-sizing:border-box;

    padding:10px 38px 10px 38px;

    font-family:inherit;

    font-size:15px;

    color:white;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.12);

    border-radius:10px;

    outline:none;

    transition:
        .2s;

}

.ytSearch input::placeholder{

    color:#9aa0a6;

}

.ytSearch input:focus{

    background:rgba(255,255,255,.10);

    border-color:#ff5252;

    box-shadow:
        0 0 12px rgba(255,82,82,.20);

}



.ytSearchIcon{

    position:absolute;

    left:13px;

    top:50%;

    transform:translateY(-50%);

    font-size:14px;

    color:#9aa0a6;

    pointer-events:none;

}



.ytSearchClear{

    position:absolute;

    right:8px;

    top:50%;

    transform:translateY(-50%);

    display:none;

    padding:2px 8px;

    font-family:inherit;

    font-size:16px;

    line-height:1.2;

    color:#c7ccd2;

    background:transparent;

    border:none;

    border-radius:8px;

    cursor:pointer;

}

.ytSearchClear:hover{

    color:white;

    background:rgba(255,255,255,.10);

}

.ytSearch.HasText .ytSearchClear{

    display:block;

}



/*--------------------------------------------------------------------------
    Sortierung
--------------------------------------------------------------------------*/

.ytSort{

    display:flex;

    align-items:center;

    gap:8px;

    color:#c7ccd2;

    font-size:14px;

}

.ytSort select{

    padding:10px 12px;

    font-family:inherit;

    font-size:15px;

    color:white;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.12);

    border-radius:10px;

    outline:none;

    cursor:pointer;

}

.ytSort select:focus{

    border-color:#ff5252;

}

.ytSort option{

    color:white;

    background:#35373b;

}



/*--------------------------------------------------------------------------
    Schaltflaeche zum Kanal  (oeffnet in neuem Tab)
--------------------------------------------------------------------------*/

.ytChannel{

    display:inline-flex;

    align-items:center;

    gap:8px;

    padding:10px 16px;

    font-size:15px;

    font-weight:600;

    color:white;

    text-decoration:none;

    white-space:nowrap;

    background:#c4302b;

    border:1px solid rgba(255,255,255,.12);

    border-radius:10px;

    transition:
        .25s;

}

.ytChannel:hover{

    background:#ff0000;

    transform:translateY(-2px);

    box-shadow:
        0 8px 18px rgba(0,0,0,.30),
        0 0 14px rgba(255,0,0,.25);

}

.ytChannelIcon{

    font-size:13px;

}



/*--------------------------------------------------------------------------
    Sprachumschalter
--------------------------------------------------------------------------*/

.ytLang{

    display:flex;

    gap:4px;

    padding:3px;

    background:rgba(255,255,255,.06);

    border:1px solid rgba(255,255,255,.12);

    border-radius:10px;

}

.ytLangBtn{

    padding:7px 11px;

    font-family:inherit;

    font-size:14px;

    color:#c7ccd2;

    background:transparent;

    border:none;

    border-radius:8px;

    cursor:pointer;

    white-space:nowrap;

    transition:
        .2s;

}

.ytLangBtn:hover{

    color:white;

    background:rgba(255,255,255,.10);

}

.ytLangBtn.Active{

    color:white;

    background:rgba(255,255,255,.16);

    box-shadow:
        inset 0 0 0 1px rgba(255,255,255,.10);

}



/*--------------------------------------------------------------------------
    Trefferzaehler
--------------------------------------------------------------------------*/

.ytCount{

    font-size:14px;

    color:#d5d5d5;

    white-space:nowrap;

}

.ytCount strong{

    color:white;

}



/******************************************************************************
    VORSCHAUBILD  (iframe wird erst beim Klick geladen)
******************************************************************************/

.ytFacade{

    position:relative;

    display:block;

    width:100%;

    padding:0;

    aspect-ratio:16 / 9;

    background-color:#25272a;

    background-size:cover;

    background-position:center;

    border:none;

    border-radius:14px;

    cursor:pointer;

    overflow:hidden;

    box-shadow:
        0 8px 20px rgba(0,0,0,.35);

}

.ytFacade::after{

    content:"";

    position:absolute;

    inset:0;

    background:rgba(0,0,0,.18);

    transition:
        .25s;

}

.ytFacade:hover::after{

    background:rgba(0,0,0,.05);

}



.ytPlay{

    position:absolute;

    left:50%;

    top:50%;

    z-index:2;

    transform:translate(-50%,-50%);

    display:flex;

    justify-content:center;

    align-items:center;

    width:74px;

    height:52px;

    border-radius:14px;

    background:rgba(0,0,0,.65);

    transition:
        .25s;

}

.ytPlay::before{

    content:"";

    display:block;

    margin-left:4px;

    border-style:solid;

    border-width:11px 0 11px 19px;

    border-color:transparent transparent transparent white;

}

.ytFacade:hover .ytPlay{

    background:#ff0000;

    transform:translate(-50%,-50%) scale(1.08);

}



.ytDuration{

    position:absolute;

    right:10px;

    bottom:10px;

    z-index:2;

    padding:3px 8px;

    font-size:13px;

    font-weight:600;

    color:white;

    background:rgba(0,0,0,.78);

    border-radius:7px;

}

.ytDuration:empty{

    display:none;

}



/******************************************************************************
    STATUS  (laedt / keine Treffer / Fehler)
******************************************************************************/

.ytStatus{

    margin:30px auto;

    padding:26px 24px;

    text-align:center;

    font-size:16px;

    color:#c7ccd2;

    background:rgba(255,255,255,.05);

    border:1px solid rgba(255,255,255,.08);

    border-radius:16px;

}

.ytStatus:empty{

    display:none;

}

.ytStatus.IsError{

    color:#ff9b9b;

    border-color:rgba(255,82,82,.35);

}



/******************************************************************************
    RESPONSIVE
******************************************************************************/

@media(max-width:650px){

    .ytBar{

        gap:10px;

        padding:12px;

        margin:16px 0 6px;

    }

    .ytSearch{

        flex:1 1 100%;

    }

    .ytSort{

        flex:1 1 100%;

    }

    .ytSort select{

        flex:1;

    }

    .ytChannel{

        flex:1 1 auto;

        justify-content:center;

    }

    .ytLang{

        flex:0 0 auto;

    }

    .ytCount{

        flex:1 1 100%;

    }

    .ytPlay{

        width:60px;

        height:42px;

    }

}
