/**** ------------------------------------------------------ COMPONENTS - © Code reseved by Nick ------------------------------------ ****/


/*****************************************************************************************************************************

This code is reseved by Nick Helfenbein (© Code von Nick)
If you copy this code I will take legal actions! (Please don't do it - respect the arts of others)
Thanks!

Dieser Code ist urheberrechtlich geschützt von Nick Helfenbein (© Code von Nick)
Wenn du dieses Code kopierst werde ich rechtliche Schritte einleiten (also tu es bitte nicht - respektiere die Werke anderer.)
Danke!

© Code von Nick, 2025

*****************************************************************************************************************************/


/**** -------------------------------------------- Scrollbar -------------------------- ****/

[data-scrollbar] {
    position: fixed;
    top: 5px;
    right: 5px;
    bottom: 5px;
    width: 5px;
    z-index: 100000000;
    opacity: 0;
    transition: opacity 0.3s ease-in-out, width 0.3s ease-in-out;
}

[data-scrollbar] [data-scrollbar-thumb] {
    min-height: 2em;
    height: 4em;
    background-color: var(--color-black-60);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    cursor: grab;
    border-radius: 30px;
    width: 100%;
}

.lenis-smooth.lenis-scrolling [data-scrollbar] {
    opacity: 1;
}

[data-scrollbar]:hover,
[data-scrollbar-drag="true"] {
    opacity: 1;
    width: 9px;
}

@media screen and (min-width: 1024px) {
    .lenis-smooth [data-scrollbar] {
        display: flex;
    }
}


/**** -------------------------------------------- Search bar -------------------------- ****/

.search-bar {
    cursor: pointer;
    position: relative;
    min-width: calc(var(--size-main-fluid) * 10);
    min-width: calc(var(--size-main-fluid) * 15);
    height: 2.25em;
    border-radius: .25em;
    border: 1px solid var(--color-black-05);
    display: block;
}

.search-bar form {
    position: relative;
    width: 100%;
    height: 100%;
}

.search-bar form input {
    border-bottom: 0;
}

.search-bar .search-bar-icon {
    pointer-events: none;
    position: absolute;
    top: 0;
    right: 0;
    width: 2.25em;
    height: 2.25em;
    padding: .5em;
}

.search-bar .search-bar-icon svg {
    width: 1.25em;
    height: 1.25em;
}

.search-bar .search-bar-input {
    position: relative;
    width: 100%;
    height: 100%;
}

.search-bar .search-bar-input input {
    appearance: none;
    -moz-appearance: none;
    -webkit-appearance: none;
    padding-block: 0;
    padding-inline: .5em 2.75em;
    height: 100%;
    color: var(--color-text);
}