.fs-reader-library {
    display: grid;
    gap: 18px;
    width: 100%;
}

.fs-reader-book {
    align-items: center;
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 10px;
    display: grid;
    gap: 24px;
    grid-template-columns: minmax(90px, 130px) minmax(220px, 1fr) minmax(130px, auto);
    padding: 18px;
}

.fs-reader-cover img,
.fs-reader-cover-placeholder {
    aspect-ratio: 2 / 3;
    border-radius: 5px;
    display: block;
    height: auto;
    max-width: 120px;
    object-fit: cover;
    width: 100%;
}

.fs-reader-cover-placeholder { background: rgba(255, 255, 255, 0.12); }
.fs-reader-title { font-size: 1.2rem; font-weight: 700; }
.fs-reader-book-info p { margin: 8px 0 0; }
.fs-reader-bonus {
    border: 1px solid currentColor;
    border-radius: 5px;
    display: inline-block;
    padding: 9px 14px;
    text-decoration: none;
}
.fs-reader-bonus-disabled { opacity: 0.6; }

@media (max-width: 680px) {
    .fs-reader-book {
        align-items: start;
        grid-template-columns: 90px 1fr;
    }
    .fs-reader-book-actions { grid-column: 1 / -1; }
}

.fs-access-login-box {
    margin: 0 auto;
    max-width: 460px;
    width: 100%;
}
.fs-access-login-field { margin: 0 0 18px; }
.fs-access-login-field label {
    display: block;
    font: inherit;
    font-weight: 600;
    margin-bottom: 7px;
}
.fs-access-login-field input {
    background: #fff;
    border: 1px solid #c8c8c8;
    border-radius: 6px;
    box-sizing: border-box;
    color: #161616;
    font: inherit;
    min-height: 48px;
    padding: 10px 12px;
    width: 100%;
}
.fs-access-login-options { margin: 0 0 18px; }
.fs-access-login-submit {
    background: #fff;
    border: 0;
    border-radius: 6px;
    color: #111;
    cursor: pointer;
    display: inline-block;
    font: inherit;
    font-weight: 700;
    padding: 12px 24px;
    text-decoration: none;
}
.fs-access-login-error {
    background: #621b1b;
    border: 1px solid #d66;
    border-radius: 6px;
    color: #fff;
    margin-bottom: 18px;
    padding: 12px;
}
.fs-access-login-links a { color: inherit; }

.fs-sumup-purchase-form { max-width: 520px; width: 100%; }
.fs-sumup-purchase-field { margin-bottom: 16px; }
.fs-sumup-purchase-field label { display: block; font: inherit; font-weight: 600; margin-bottom: 7px; }
.fs-sumup-purchase-field input {
    background: #fff; border: 1px solid #c8c8c8; border-radius: 6px;
    box-sizing: border-box; color: #161616; font: inherit; min-height: 48px;
    padding: 10px 12px; width: 100%;
}
.fs-sumup-purchase-submit {
    border: 0; border-radius: 6px; cursor: pointer; font: inherit;
    font-weight: 700; padding: 12px 24px;
}
.fs-sumup-purchase-submit:disabled { cursor: wait; opacity: .65; }
.fs-sumup-purchase-message { margin-top: 10px; }
