/* Arhipelag shared public cards: books, articles and curated sections. */
.book-grid {
display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 50px 28px;
}.book-card {
min-width: 0;
}.book-card-visual {
position: relative; display: flex; align-items: flex-end; justify-content: center; min-height: 325px; padding: 26px 20px 22px; background: var(--ar-paper-2); overflow: hidden;
}.book-card-visual::after {
content: ""; position: absolute; inset: auto 0 0; height: 18%; background: linear-gradient(transparent, rgba(21,26,29,.06));
}.book-card-frame {
position: relative; z-index: 1; width: min(72%, 170px); aspect-ratio: 2/3; padding: 6px; background: var(--ar-white); box-shadow: var(--shadow-cover); transition: transform .3s ease;
}.book-card:hover .book-card-frame {
transform: translateY(-8px);
}.book-card-frame img {
width: 100%; height: 100%; object-fit: contain;
}.book-card-ribbon {
position: absolute; z-index: 3; top: 16px; right: 0; padding: 7px 11px; background: var(--ar-ink); color: var(--ar-white); font-size: .68rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
}.book-card-ribbon.is-editorial {
background: var(--ar-cyan-deep);
}.book-card-content {
padding-top: 20px;
}.book-card-author {
color: var(--ar-cyan-deep); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase;
}.book-card h3 {
margin: 8px 0 12px; font-size: clamp(1.25rem, 1.8vw, 1.65rem);
}.book-card-description {
display: -webkit-box; min-height: 3.9em; margin-bottom: 16px; overflow: hidden; color: var(--ar-graphite); font-size: .85rem; -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}.book-card-offers {
display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 14px;
}.book-card-offers a {
display: flex; gap: 5px; padding: 5px 7px; background: var(--ar-cyan-soft); font-size: .65rem;
}.book-card-offers strong {
max-width: 120px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}.book-card-purchase {
display: flex; align-items: end; justify-content: space-between; gap: 15px; padding-top: 16px; border-top: 1px solid var(--ar-line);
}.book-card-price {
display: flex; flex-direction: column;
}.book-card-price del {
color: var(--ar-muted); font-size: .72rem;
}.book-card-price strong {
font-family: var(--font-editorial); font-size: 1.25rem;
}.book-card-add {
width: 42px; height: 42px; display: grid; place-items: center; padding: 0; border: 1px solid var(--ar-ink); background: transparent; cursor: pointer;
}.book-card-add svg {
width: 17px; height: 17px;
}.book-card-add:hover {
background: var(--ar-ink); color: var(--ar-white);
}.book-card-unavailable {
color: var(--ar-muted); font-size: .72rem; text-transform: uppercase;
}.curated-books {
padding: 74px 0; background: var(--ar-white); border-bottom: 1px solid var(--ar-line);
}.curated-books-grid {
display: grid; grid-template-columns: 1.1fr .9fr;
}.curated-books-grid.is-single {
grid-template-columns: 1fr;
}.article-card-grid {
display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 56px 30px;
}.article-card-visual {
display: block; aspect-ratio: 16/10; background: var(--ar-paper-2); overflow: hidden;
}.article-card-visual img {
width: 100%; height: 100%; object-fit: cover; transition: transform .45s ease;
}.article-card:hover .article-card-visual img {
transform: scale(1.025);
}.article-card-placeholder {
height: 100%; display: grid; place-items: center; align-content: center; background: var(--ar-cyan-soft); color: var(--ar-cyan-deep);
}.article-card-placeholder b {
font-family: var(--font-editorial); font-size: 5rem; font-weight: 400; line-height: .8;
}.article-card-placeholder small {
text-transform: uppercase; letter-spacing: .15em;
}.article-card-content {
padding-top: 19px;
}.article-card time {
color: var(--ar-muted); font-size: .7rem;
}.article-card h2 {
margin: 8px 0 13px; font-size: clamp(1.5rem, 2.2vw, 2.25rem);
}.article-card p {
display: -webkit-box; overflow: hidden; color: var(--ar-graphite); font-size: .9rem; -webkit-line-clamp: 3; -webkit-box-orient: vertical;
}@media (max-width: 1120px) {.book-grid {
grid-template-columns: repeat(3, minmax(0, 1fr));
}}@media (max-width: 900px) {.book-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}.curated-books-grid {
grid-template-columns: 1fr;
}.article-card-grid,
.authors-grid {
grid-template-columns: repeat(2, minmax(0, 1fr));
}}@media (max-width: 620px) {.book-grid,
.catalog-book-grid {
grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 38px 14px;
}.book-card-visual {
min-height: 230px; padding: 18px 8px;
}.book-card-frame {
width: 75%;
}.book-card h3 {
font-size: 1.18rem;
}.book-card-description {
display: none;
}.book-card-purchase {
gap: 5px;
}.book-card-price strong {
font-size: 1rem;
}.book-card-add {
width: 36px; height: 36px;
}.article-card-grid,
.authors-grid {
grid-template-columns: 1fr;
}}.book-card-heading {
min-width: 0;
}.catalog-book-grid,
.authors-grid,
.article-card-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }.book-card-author,
.book-card-description,
.article-card-content time,
.article-card-content p,
.article-results-heading { color: #4c5559; }.book-card-price del { color: #555d61; }.book-card-add { min-width: 88px; min-height: 44px; }.article-card-content h2 { font-size: clamp(1.35rem, 2vw, 1.9rem); }.article-card-content p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }.article-card-visual { aspect-ratio: 16 / 10; }.article-card-visual img { width: 100%; height: 100%; object-fit: cover; }@media (max-width: 900px) {.catalog-book-grid,
    .authors-grid,
    .article-card-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }}@media (max-width: 620px) {.article-card-grid { grid-template-columns: 1fr; }}.article-card-content time,
.book-card-author,
.author-card-copy p { color: #41494d; }.article-card-grid { align-items: stretch; }.article-card { display: flex; height: 100%; flex-direction: column; }.article-card-content { display: flex; flex: 1; flex-direction: column; }.article-card-content .text-link { margin-top: auto; align-self: flex-start; }

/* Icon-only add-to-cart buttons. */
.book-card-add { min-width: 44px; width: 44px; height: 44px; }
.book-card-add .cart-icon { width: 20px; height: 20px; }
.book-card-add.added .cart-icon { display: none; }
.book-card-add.added::after { content: "✓"; font-size: 1rem; font-weight: 800; }
@media (max-width: 620px) {
    .book-card-add { min-width: 40px; width: 40px; height: 40px; }
}
