/* booksmark */
.booksmark_toastr {
    top: 90px;
    right: 365px;
}

.booksmarkdoicon:hover {
    color: var(--color-accent);
}

/* trava scroll do body enquanto o overlay de favoritos está aberto */
body.booksmark-open {
    overflow: hidden !important;
}

#booksmark-backdrop {
    z-index: 900;
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    background: var(--color-dialog-overlay);
    display: none;
}

#booksmark-wrap {
    z-index: 901;
    position: fixed;
    right: 0;
    top: 0 !important;
    width: 460px;
    height: 100vh;
    overflow-y: auto;
    overflow-x: hidden;
    overscroll-behavior: contain;
    background: var(--color-booksmark-bg);
    display: none;
    transform: translateX(100%);
    transition: transform 0.3s ease;
    -webkit-overflow-scrolling: touch;
}

#booksmark-wrap.is-open {
    display: block;
    transform: translateX(0);
}

#booksmark-content {
    z-index: 902;
    text-align: justify;
    padding: 12px 14px;
    position: relative;
    width: 100%;
    box-sizing: border-box;
    display: none;
}

#booksmark-wrap.is-open #booksmark-content {
    display: block;
}

#booksmark-content .booksmark-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

#booksmark-content .booksmark-actions .button,
#booksmark-content .booksmark-actions .buttonsm,
#booksmark-content .booksmark-actions .buttonxs,
#booksmark-content .booksmark-actions .buttonxss {
    width: 36px !important;
    min-width: 36px !important;
    height: 36px;
    min-height: 36px;
    padding: 0 !important;
    margin-right: 0 !important;
    display: inline-flex !important;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
}

#booksmark-content .booksmark-actions .button i,
#booksmark-content .booksmark-actions .buttonsm i,
#booksmark-content .booksmark-actions .buttonxs i,
#booksmark-content .booksmark-actions .buttonxss i {
    margin: 0 !important;
    line-height: 1;
}

#booksmark-content p {
    color: var(--color-text-primary-dark) !important;
}

#booksmark-content h3 {
    font-size: var(--text-size-lg) !important;
    font-weight: 700;
    margin-top: 10px;
    color: var(--color-booksmark-text-soft) !important;
}

#booksmark-content ul {
    color: var(--color-text-primary-dark);
    list-style: none;
    margin: 0;
    padding: 0;
}

#booksmark-content li {
    padding: 4.5px 0;
    list-style-position: inside;
    border-bottom: 1px solid var(--color-white-alpha-16);
}

#booksmark-content li a {
    text-decoration: none;
    color: var(--color-text-primary-dark);
}

#booksmark-content li:hover {
    color: var(--color-booksmark-text-soft);
}

#booksmark-content .group {
    font-weight: 700;
    margin-top: 2.5px;
}

#booksmark-content .group i {
    margin-right: 5px;
    margin-bottom: -1.5px;
}

#booksmark-content .group i,
#booksmark-content .item i {
    color: var(--color-booksmark-text-soft);
}

#booksmark-content .items {
    margin-left: 20px;
    display: none;
}

#booksmark-content .action i {
    margin-top: 2px;
    margin-left: 7.5px;
    margin-right: 0 !important;
    font-size: 11px;
    float: right;
}

@media (max-width: 640px) {
    .booksmark_toastr {
        right: 10px;
        top: 78px;
    }

    #booksmark-wrap {
        width: 100%;
        max-width: 100%;
    }

    #booksmark-content {
        width: calc(100% - 18px);
        right: 9px;
        padding: 12px;
    }
}

@media (max-width: 1023px) {
    .booksmark_toastr {
        right: 12px;
        top: 82px;
    }

    #booksmark-backdrop {
        top: 0;
        z-index: 900;
    }

    #booksmark-wrap {
        width: min(92vw, 460px);
        max-width: 92vw;
        top: 0 !important;
        height: 100vh;
        z-index: 901;
    }

    #booksmark-content {
        width: calc(100% - 18px);
        right: 9px;
        z-index: 902;
    }
}

#booksmark-content a.button[data-jq-dropdown],
#booksmark-content a.buttonsm[data-jq-dropdown],
#booksmark-content a.buttonxs[data-jq-dropdown],
#booksmark-content a.buttonxss[data-jq-dropdown] {
    min-width: 36px !important;
    padding: 0 !important;
}
