/* Book cards match the layout of article cards: image left, text right */
.books-section .book-card {
    display: flex;
    flex-direction: column;
    border: 1px solid #444;
    border-radius: 0.5rem;
    background-color: #2c2c2c;
}

/* Card body: horizontal layout for image + text */
.books-section .card-body {
    display: flex;
    flex-direction: row;
    align-items: flex-start;
    gap: 1rem;
    padding: 1rem;
}

/* Thumbnail wrapper (fixed width) */
.books-section .thumb-wrap {
    flex: 0 0 auto;
    max-width: 100px;
}

/* Image sizing: smaller covers, maintain aspect ratio */
.books-section .book-cover {
    width: 100%;
    max-width: 100px;
    height: auto;
    object-fit: contain;
    border-radius: 0.25rem;
    background-color: #1f1f1f;
    border: 1px solid #3a3a3a;
}

/* Placeholder matches image footprint */
.books-section .book-cover.placeholder {
    width: 100%;
    height: 140px;
    border-radius: 0.25rem;
    background: repeating-linear-gradient(-45deg,
            #2a2a2a,
            #2a2a2a 10px,
            #242424 10px,
            #242424 20px);
    color: #bbb;
    border: 1px solid #3a3a3a;
    display: flex;
    align-items: center;
    justify-content: center;
}

.books-section .placeholder-text {
    font-size: 0.8rem;
    opacity: 0.8;
}

/* Text area takes remaining width */
.books-section .book-text {
    flex: 1 1 auto;
}

/* Title styling */
.books-section .card-title {
    margin-bottom: 0.25rem;
    font-size: 0.95rem;
}

/* Meta line below title */
.books-section .book-meta {
    font-size: 0.8rem;
    color: #aaa;
    margin-bottom: 0.5rem;
}

/* Button: small white icon-only Amazon button */
.books-section .amazon-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 28px;
    height: 28px;
    background: #fff;
    border: none;
    border-radius: 4px;
    padding: 3px;
    transition: opacity 0.2s;
}

.books-section .amazon-btn:hover {
    opacity: 0.85;
}

.books-section .amazon-icon {
    width: 18px;
    height: 18px;
}