/* Book page additions to the shared homepage design. */
.site-header a[aria-current="page"] {
    color:var(--purple);
    text-decoration:underline;
    text-underline-offset:6px;
}

.book-cover-band {
    background:var(--yellow);
    margin-top:32px;
    padding-block:64px;
}

.book-cover-grid {
    display:grid;
    grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);
    gap:64px;
    align-items:center;
}

.book-cover-grid h1 {
    font-size:clamp(54px,6.5vw,90px);
    font-weight:500;
    line-height:1.05;
    letter-spacing:-.065em;
    margin:24px 0;
}

.book-cover-subtitle {
    font-size:clamp(18px,2vw,24px);
    line-height:1.55;
    max-width:430px;
}

.book-cover-grid img {
    width:100%;
    border-radius:3px;
}

.book-overview {
    display:grid;
    grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr);
    gap:90px;
    align-items:start;
    padding-block:72px;
}

.book-description {
    font-size:17px;
}

.book-description p + p {
    margin-top:24px;
    color:var(--muted);
    font-size:15px;
}

.book-description strong {
    color:var(--ink);
    font-weight:600;
}

.book-retailers {
    background:var(--lavender);
    padding:30px;
    border-radius:3px;
    scroll-margin-top:24px;
}

.book-retailers h2 {
    font-size:23px;
    margin-bottom:22px;
}

.book-retailers a {
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:20px;
    padding:14px 0;
    border-top:1px solid #cbc5dd;
    font-size:13px;
}

.book-retailers a:hover {
    color:var(--purple);
}

.book-retailers a span {
    font-size:18px;
}

.book-excerpts {
    padding-bottom:76px;
}

.book-section-heading {
    border-top:1px solid var(--line);
    padding-top:28px;
    margin-bottom:36px;
}

.book-section-heading h2 {
    margin-top:16px;
}

.book-excerpt-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:64px;
}

.book-excerpt {
    padding-block:28px;
    border-top:1px solid var(--line);
}

.book-excerpt h3 {
    color:var(--purple);
    font-size:19px;
    font-weight:500;
    letter-spacing:-.025em;
    margin:0 0 16px;
}

.book-excerpt blockquote {
    margin:0;
    font-size:14px;
    color:var(--muted);
}

.book-excerpt p {
    line-height:1.95;
}

.book-author-band {
    background:#262727;
    color:var(--paper);
    padding-block:72px;
}

.book-author-grid {
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);
    gap:90px;
}

.book-author-grid .eyebrow {
    color:#c3b4f3;
    margin-bottom:24px;
}

.book-author-copy {
    font-size:15px;
    color:#c5c6c2;
}

.book-author-copy p + p {
    margin-top:24px;
}

.book-faq {
    padding-block:72px;
    display:grid;
    grid-template-columns:minmax(0,.8fr) minmax(0,1.4fr);
    gap:90px;
}

.book-faq .book-section-heading {
    border-top:0;
    padding-top:0;
    margin-bottom:0;
}

.book-faq h2 {
    font-size:clamp(30px,3vw,42px);
}

.book-faq-item {
    border-top:1px solid var(--line);
}

.book-faq-item:last-child {
    border-bottom:1px solid var(--line);
}

.book-faq-item summary {
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:24px;
    list-style:none;
    cursor:pointer;
    padding-block:22px;
    font-size:15px;
    font-weight:500;
    line-height:1.7;
}

.book-faq-item summary::-webkit-details-marker {
    display:none;
}

.book-faq-item summary::after {
    content:'+';
    flex-shrink:0;
    font-size:22px;
    line-height:1;
    color:var(--purple);
}

.book-faq-item[open] summary::after {
    content:'−';
}

.book-faq-answer {
    padding:0 32px 24px 0;
    font-size:14px;
    color:var(--muted);
}

.book-faq-answer a {
    color:var(--purple);
    text-decoration:underline;
    text-underline-offset:3px;
}

@media(max-width:1100px) {
    .book-cover-grid,.book-overview,.book-author-grid,.book-faq {
        gap:40px;
    }
    .book-excerpt-grid {
        column-gap:40px;
    }
}

@media(max-width:760px) {
    .book-cover-band {
        margin-top:20px;
        padding-block:40px;
    }
    .book-cover-grid,.book-overview,.book-author-grid,.book-faq {
        grid-template-columns:1fr;
        gap:32px;
    }
    .book-cover-grid h1 {
        font-size:clamp(54px,11vw,78px);
    }
    .book-overview,.book-author-band,.book-faq {
        padding-block:44px;
    }
    .book-description {
        font-size:16px;
    }
    .book-retailers {
        padding:25px;
    }
    .book-excerpts {
        padding-bottom:44px;
    }
    .book-excerpt-grid {
        grid-template-columns:1fr;
    }
    .book-excerpt {
        padding-block:24px;
    }
    .book-faq-answer {
        padding-right:0;
    }
}
