/* Button */

.ss-like-btn {
    display: inline-flex;
    gap: .5rem;
    align-items: center;
    padding: .5rem .75rem;
    border: 1px solid #ddd;
    border-radius: .5rem;
    background: #fff;
    cursor: pointer;
    font: inherit;
}

.ss-like-btn[disabled] {
    opacity: .6;
    cursor: not-allowed;
}

.ss-like-heart {
    transition: transform .15s ease;
}

.ss-like-btn.is-liked .ss-like-heart {
    transform: scale(1.1);
}


/* Guest CTA */

.ss-like-guest {
    display: grid;
    gap: .4rem;
}

.ss-like-cta {
    font-size: .92rem;
    color: #444;
}

.ss-like-link {
    appearance: none;
    background: none;
    border: 0;
    padding: 0;
    margin: 0;
    color: #0a58ca;
    text-decoration: underline;
    font: inherit;
    cursor: pointer;
}


/* Modal */

.ss-like-modal {
    position: fixed;
    inset: 0;
    display: none;
    z-index: 9999;
}

.ss-like-modal[aria-hidden="false"] {
    display: block;
}

.ss-like-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(0, 0, 0, .45);
}

.ss-like-modal__dialog {
    position: relative;
    margin: 6vh auto 0;
    max-width: 480px;
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
    padding: 1.25rem 1.25rem 1rem;
}

.ss-like-modal__title {
    margin: 0 2rem 1rem 0;
    font-size: 1.15rem;
}

.ss-like-modal__body :where(form) {
    display: grid;
    gap: .75rem;
}

.ss-like-modal__note {
    margin-top: .5rem;
    font-size: .9rem;
}

.ss-like-modal__close {
    position: absolute;
    right: .5rem;
    top: .5rem;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: none;
    background: transparent;
    font-size: 20px;
    line-height: 1;
    cursor: pointer;
}


/* Page scroll lock while modal open */

.ss-like-modal-open,
.ss-like-modal-open body {
    overflow: hidden;
}