/* Growing Partners' own styles, on top of the shared theme. */

/* The book boxes (an Amazon offer with its own listings). */
.affiliate-cta .affiliate-cta-products { grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 1.25rem 1.5rem; }
.affiliate-cta .affiliate-cta-product-image img { width: 80px; height: 120px; object-fit: contain; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.affiliate-cta .affiliate-cta-product-name { font-size: .95rem; }
.affiliate-cta .affiliate-cta-product-for { font-size: .8rem; line-height: 1.4; }
@media (max-width: 575px) {
    .affiliate-cta .affiliate-cta-products { grid-template-columns: 1fr; }
}
.affiliate-cta .affiliate-cta-product .affiliate-cta-button { white-space: nowrap; padding: .3rem .7rem; font-size: .8rem; }

/* The book shelf under each tool (templates/gp/shelf.html): the tools had no offer at all. */
.gp-shelf-wrap { max-width: 760px; }
.gp-shelf { margin: 2.5rem 0 1rem; padding: 1.5rem 1.75rem; background: var(--card-bg); color: var(--text-color);
    border: 1px solid var(--card-border-color); border-left: 4px solid var(--bs-primary); border-radius: var(--border-radius, 12px); }
.gp-shelf-kicker { font-size: .72rem; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; color: var(--text-muted); margin: 0 0 .35rem; }
.gp-shelf-headline { font-size: 1.35rem; font-weight: 700; margin: 0 0 .5rem; }
.gp-shelf-text { color: var(--text-muted); line-height: 1.65; margin: 0 0 1.25rem; }
.gp-shelf-books { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 1.25rem 1.5rem; margin: 0; }
.gp-shelf-book { display: flex; gap: .75rem; align-items: flex-start; }
.gp-shelf-cover img { width: 80px; height: 120px; object-fit: contain; box-shadow: 0 2px 6px rgba(0,0,0,.15); }
.gp-shelf-body { display: flex; flex-direction: column; gap: .3rem; align-items: flex-start; }
.gp-shelf-title { font-weight: 600; font-size: .95rem; line-height: 1.3; color: var(--text-color); text-decoration: none; }
.gp-shelf-title:hover { text-decoration: underline; }
.gp-shelf-for { color: var(--text-muted); font-size: .8rem; line-height: 1.4; }
.gp-shelf-button { background: var(--bs-primary); color: #fff; border-radius: 6px; padding: .3rem .7rem; font-size: .8rem;
    white-space: nowrap; text-decoration: none; }
.gp-shelf-button:hover { color: #fff; background: color-mix(in srgb, var(--bs-primary) 85%, black); }
.gp-shelf-disclosure { margin: 1rem 0 0; color: var(--text-muted); font-size: .72rem; }
@media (max-width: 575px) { .gp-shelf-books { grid-template-columns: 1fr; } .gp-shelf { padding: 1.25rem; } }

/* A home stage's one book (templates/gp/book.html). */
.gp-book { display: grid; grid-template-columns: 44px 1fr; column-gap: .7rem; align-items: start; text-decoration: none;
    color: var(--text-color); padding: .5rem; margin: 0 -.5rem; border-radius: 8px; }
.gp-book:hover { background: color-mix(in srgb, var(--c, var(--bs-primary)) 8%, transparent); color: var(--text-color); }
.gp-book img { grid-row: span 3; width: 44px; height: 66px; object-fit: contain; box-shadow: 0 1px 4px rgba(0,0,0,.18); }
.gp-book-t { font-weight: 600; font-size: .9rem; line-height: 1.3; }
.gp-book-d { color: var(--text-muted); font-size: .78rem; line-height: 1.35; }
.gp-book-a { color: var(--c, var(--bs-primary)); font-size: .75rem; font-weight: 600; margin-top: .15rem; }
.gp-book-a i { font-size: .65rem; }
