body {
        min-height: 0!important;
}
/* left-panel */
#left-panel {
        position: absolute;
        left: 0;
        height: 100%;
        background-color: white;
        box-shadow: 2px 0px 4px 0px rgba(0, 0, 0, 0.25);
        overflow: hidden;
        z-index: 5;
}

#left-panel,
#left-panel .left-panel-inner {
        width: 500px;
}
#left-panel .left-panel-inner {
        height: inherit;
        overflow-y: auto;
        padding: 16px;
}

/*toggle button */
#toggle-button{
        position: absolute;
        top: 50%;
        transform:translateY(-50%);
        display: flex;
        justify-content: center;
        align-items: center;
        height: 50px;
        width: 25px;
        background-color: white;
        border-top-right-radius: 6px;
        border-bottom-right-radius: 6px;
        box-shadow: 4px 0px 10px 0px rgba(0, 0, 0, 0.25);
        transition: margin-left .3s;
        cursor: pointer;
        z-index:1;
}
#toggle-button.closing {
        margin-left:-50px;
}
#toggle-button svg {
        transform:scaleX(-1);
        color:  #D2D2D2;
}
#toggle-button.flipped svg {
        transform:scaleX(1);
}

/* right-panel */
#right-panel {
        position: relative;
}

/* filtres */
#point-dinteret-filters {
        overflow-x: auto;
        padding: 16px 24px;
        box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
        background-color: white;
        z-index: 2;
}
#point-dinteret-filters .point-dinteret-filters-items{
        display: flex;
        gap: 16px;
        align-items: center;
}
#point-dinteret-filters .point-dinteret-filters-item{
        display: flex;
        gap: 8px;
        flex-shrink: 0;
        padding: 8px 16px 8px 12px;
        border-radius: 8px;
        background-color: #E7EEEC;
        font-weight: 400;
        color: var(--default-text-color);
        user-select: none;
        cursor: pointer;
        transition: .2s;
}
#point-dinteret-filters .point-dinteret-filters-item.checked{
        background-color: var(--main-color);
        color: var(--light-text-color);
}
#point-dinteret-filters .point-dinteret-filters-item:hover {
        filter: brightness(0.9);
}

/* map */
.map {
        z-index: 0;
        right: 0;
}

/* Popup */
.point-dinteret-popup .leaflet-popup-content-wrapper{
        padding: 0;
        overflow: hidden;
}
.point-dinteret-popup .leaflet-popup-content{
        width: 280px;
        margin: 0;
}

.point-dinteret-popup .leaflet-popup-content .popup-img{
        width: 100%;
        height:150px;
}
.point-dinteret-popup .leaflet-popup-content .popup-img img{
        width: 100%;
        height: 100%;
        object-fit: cover;
}

.point-dinteret-popup .leaflet-popup-content .popup-texts{
        margin: 8px 16px;
}

.leaflet-popup-content .popup-title{
        font-size: 18px;
}
.leaflet-popup-content .popup-content p {
        font-size: 12px;
}
.etape-popup .leaflet-popup-content .popup-content .trail-numerics p {
        margin-top:10px;
        font-size: 11px;
}
.etape-popup .leaflet-popup-content .popup-content .trail-numerics p.trail-numerics-item-value {
        font-size: 13px;
}

.point-dinteret-popup .leaflet-popup-content .popup-button {
        display: flex;
        justify-content: center;
        align-items: center;
        gap: 6px;
        width: 100%;
        margin: 8px 0 16px;
        padding: 5px;
        background-color: var(--main-color);
        color: var(--light-text-color);
        border-radius: 8px;
}

.point-dinteret-popup .leaflet-popup-content .popup-button svg {
        color: var(--light-text-color);
}

/**********************/
/* Left panel content */
/**********************/

/* Chemins list page */
#left-panel #chemins-list-page h3 {
        position: sticky;
        top: 0;
        padding: 0 16px 16px 0;
        background-color: white;

}
#left-panel #chemins-list-page .chemins-list {
        display: flex;
        flex-direction: column;
        gap: 16px;
}

#left-panel #chemins-list-page .chemin-list-item {
        display: flex;
        gap: 16px;
        width: 100%;
        padding: 16px;
        border-radius: 8px;
        overflow: hidden;
        cursor: pointer;
        background-color: var(--main-color-light);
}
#left-panel #chemins-list-page .chemin-list-item:hover {
    background: #d0dfda;
    box-shadow: 3px 3px 3px -1px rgba(0, 0, 0, .2);
}

#left-panel #chemins-list-page .chemin-list-item .chemin-mascotte {
        margin-top: 6px;
        width: 100px;
        height: 0;
}
#left-panel #chemins-list-page .chemin-list-item .chemin-mascotte svg {
        width: 100%;
        height: auto;
}

#left-panel #chemins-list-page .chemin-list-item .chemin-texts {
        display: flex;
        flex-direction: column;
        gap: 6px;
}

#left-panel #chemins-list-page .chemin-list-item .chemin-title {
        display: flex;
        gap: 8px;
        align-items: center;
}
#left-panel #chemins-list-page .chemin-list-item .chemin-title h4{
        margin-bottom: 0;
}
#left-panel #chemins-list-page .chemin-list-item .chemin-title svg {
        width: 24px;
}

#left-panel #chemins-list-page .chemin-list-item .start-finish-title {
        font-size: 14px;
}
#left-panel #chemins-list-page .chemin-list-item .start-finish-title svg{
        width: 15px;
}
#left-panel #chemins-list-page .chemin-list-item .start-finish-title svg *{
        stroke-width: 1.5;
}

#left-panel #chemins-list-page .chemin-list-item .chemin-datas{
        display: flex;
        gap: 8px;
}
#left-panel #chemins-list-page .chemin-list-item .chemin-datas,
#left-panel #chemins-list-page .chemin-list-item .chemin-datas label{
        font-size: 14px;
}

/* Chemin page  */
/* Etape page  */

#left-panel #chemin-page .go-back-to-chemins,
#left-panel #etape-page .go-back-to-chemin {
        position: sticky;
        top: 0;
        margin: -16px;
        display: flex;
        gap: 8px;
        align-items: center;
        padding: 16px;
        background-color: white;
        z-index: 2;
        cursor: pointer;
}
#left-panel #chemin-page .go-back-to-chemins svg,
#left-panel #etape-page .go-back-to-chemin svg{
        transform: rotateY(180deg);
}

#left-panel #etape-page .etape-cover,
#left-panel #chemin-page .chemin-cover {
        position: relative;
        margin-left: -16px;
        margin-right: -16px;
        height: 240px;
        width: calc(100% + 32px);
        overflow: hidden;
}
#left-panel #etape-page .etape-cover:after,
#left-panel #chemin-page .chemin-cover:after {
        content: "";
        position: absolute;
        bottom: 0;
        left: 0;
        right: 0;
        height: 80px;
        background: linear-gradient(180deg, rgba(6, 22, 14, 0.00) 37.22%, rgba(6, 22, 14, 0.60) 100%);
}
#left-panel #etape-page .etape-cover img,
#left-panel #chemin-page .chemin-cover img {
        height: 100%;
        width: 100%;
        object-fit: cover;
}
#left-panel #etape-page .etape-cover .title,
#left-panel #chemin-page .chemin-cover .title {
        position: absolute;
        bottom: 0;
        display: flex;
        align-items: end;
        gap: 8px;
        margin: 16px;
        color: var(--light-text-color);
        z-index: 1;
}

#left-panel #etape-page .etape-cover .title {
        font-size: 22px;
}


#left-panel #etape-page .etape-cover .title svg{
        color: var(--light-text-color);
}
#left-panel #etape-page .etape-cover .title .etape-nb{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        background-color: var(--light-text-color);
        font-family: 'Scond';
        font-size: 17px;
        font-weight: 700;
        line-height: normal;
}
#left-panel #chemin-page .chemin-cover .title svg {
        position: relative;
        top: 30px;
        width: 25%;
        height: auto;
}

#left-panel #etape-page .etape-datas,
#left-panel #chemin-page .chemin-datas {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 16px 8px;
}
#left-panel #etape-page .etape-datas .trail-numerics,
#left-panel #chemin-page .chemin-datas .trail-numerics {
        display: flex;
        justify-content: space-between;
}
#left-panel #chemin-page .chemin-datas .chemin-link {
        justify-content: center;
        gap: 16px;
        width: 100%;
}

#left-panel #chemin-page .chemin-etapes {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 8px 8px;
}
#left-panel #chemin-page .etape-small-card {
        width: 100%;
        cursor: pointer;
}
#left-panel #chemin-page .etape-small-card .etape-small-card-cover {
        width: 100%;
        height: 200px;
        border-radius: 8px;
        overflow: hidden;
}
#left-panel #chemin-page .etape-small-card .etape-small-card-cover img{
        width: 100%;
        height: 100%;
        object-fit: cover;
}

#left-panel #chemin-page .etape-small-card .etape-small-card-content .etape-small-card-title {
        display: flex;
        align-items: center;
        margin: 8px 0;
        gap: 8px;
}
#left-panel #chemin-page .etape-small-card .etape-small-card-content .etape-small-card-title span.etape-nb{
        display: flex;
        justify-content: center;
        align-items: center;
        width: 28px;
        height: 28px;
        border-radius: 50%;
        color: var(--light-text-color);
        font-family: 'Scond';
        font-size: 17px;
        font-weight: 700;
        line-height: normal;
}
#left-panel #chemin-page .etape-small-card .etape-small-card-content .etape-small-card-title h4 {
        margin-bottom: 0;
        font-size: 20px;
}

#left-panel #chemin-page .etape-small-card .etape-small-card-content .etape-small-card-donnees {
        display: flex;
        gap: 4px;
        flex-wrap: wrap;
        white-space: nowrap;
}