/* Shared presentation for the printed-book section on English marketing pages. */
.book-showcase {
    background: #fffdf9;
    color: #30273d;
    padding: 48px 24px;
}
.book-showcase__inner {
    display: grid;
    grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr);
    align-items: center;
    gap: 44px;
    max-width: 1000px;
    margin: 0 auto;
}
.book-showcase__gallery {
    display: grid;
    grid-template-columns: 56px minmax(0, 1fr);
    gap: 0 10px;
    min-width: 0;
    margin: 0;
}
.book-showcase__stage {
    grid-column: 2;
    grid-row: 1;
    position: relative;
    min-width: 0;
    touch-action: pan-y pinch-zoom;
}
.book-showcase__photo {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: 1;
    object-fit: cover;
    border-radius: 12px;
}
.book-showcase__photo[data-book-fit="contain"] {
    object-fit: contain;
    background: #eee7df;
}
.book-showcase__thumbs {
    grid-column: 1;
    grid-row: 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
}
.book-showcase button {
    cursor: pointer;
    -webkit-tap-highlight-color: transparent;
}
.book-showcase__thumb {
    flex: 0 0 56px;
    width: 56px;
    height: 56px;
    padding: 3px;
    border: 2px solid transparent;
    border-radius: 8px;
    background: transparent;
}
.book-showcase__thumb[aria-pressed="true"] { border-color: #6c4bd6; }
.book-showcase__thumb:hover { background: #eee8f8; }
.book-showcase__thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 4px;
}
.book-showcase__caption {
    grid-column: 2;
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin-top: 10px;
    min-height: 36px;
    color: #6e6574;
    font: 400 12px/1.5 'Silka', sans-serif;
}
.book-showcase__count { white-space: nowrap; font-variant-numeric: tabular-nums; }
.book-showcase__copy { padding-bottom: 18px; }
.book-showcase__title {
    margin: 0;
    font: 600 clamp(36px, 4.6vw, 48px)/1.08 'Kreon', serif;
    letter-spacing: -.025em;
}
.book-showcase__title span { color: #6c4bd6; }
.book-showcase__prices {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 10px 18px;
    margin: 26px 0 0;
    font: 400 16px/1.55 'Silka', sans-serif;
}
.book-showcase__prices strong { font-weight: 700; }
.book-showcase__separator { height: 18px; width: 1px; background: #e6dfdf; }
.book-showcase__cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 30px;
    min-width: 188px;
    margin-top: 28px;
    padding: 15px 26px;
    border-radius: 28px;
    background: #6c4bd6;
    color: #fff;
    font: 700 14px/1.55 'Silka', sans-serif;
    text-decoration: none;
}
.book-showcase__cta span { font-size: 20px; line-height: 1; }
.book-showcase__cta:hover { background: #5639bd; color: #fff; text-decoration: none; }
.book-showcase__fineprint {
    margin: 17px 0 0;
    color: #6e6574;
    font: 400 12px/1.6 'Silka', sans-serif;
}
.book-showcase :is(button, a):focus-visible { outline: 3px solid #6c4bd6; outline-offset: 3px; }
.book-showcase [hidden] { display: none; }
/* Without JavaScript the thumbnails stay hidden, so the photo takes their column too. */
@media (scripting: none) {
    .book-showcase__gallery { grid-template-columns: minmax(0, 1fr); }
    .book-showcase__stage, .book-showcase__caption { grid-column: 1; }
}
@media (max-width: 700px) {
    .book-showcase { padding: 28px 20px 36px; }
    .book-showcase__inner { grid-template-columns: 1fr; gap: 27px; max-width: 480px; }
    .book-showcase__gallery { display: flex; flex-direction: column; }
    .book-showcase__thumbs { flex-direction: row; margin-top: 10px; }
    .book-showcase__thumb {
        flex: 0 1 56px;
        width: 56px;
        min-width: 44px;
        height: auto;
        aspect-ratio: 1;
    }
    .book-showcase__copy { padding: 0; }
    .book-showcase__title { font-size: 38px; }
    .book-showcase__prices { margin-top: 19px; }
    .book-showcase__cta { margin-top: 22px; width: 100%; }
}

/* Larger presentation for the homepage and book/gift landing pages. */
:is(.homepage, .gift-experience, .personalized-books-page) .book-showcase__prices { font-size: clamp(18px, 1.5vw, 20px); }
:is(.homepage, .gift-experience, .personalized-books-page) .book-showcase__separator { height: 22px; }
@media (min-width: 701px) {
    :is(.homepage, .gift-experience, .personalized-books-page) .book-showcase { padding-block: 64px; }
    :is(.homepage, .gift-experience, .personalized-books-page) .book-showcase__inner { max-width: 1200px; gap: clamp(28px, 4vw, 64px); }
    :is(.homepage, .gift-experience, .personalized-books-page) .book-showcase__title { font-size: clamp(36px, 4.6vw, 60px); }
}
@media (max-width: 700px) {
    :is(.homepage, .gift-experience, .personalized-books-page) .book-showcase__title { font-size: 40px; }
}

@media (max-width: 360px) {
    .book-showcase__thumbs { gap: 3px; }
}
