/* Books catalog: real covers and category colors in the owner's panel layout. */
.books-page .books-catalog { position: relative; gap: 1.25rem; padding-bottom: 1.25rem; isolation: isolate; }
.books-category-panel, .books-coloring-panel, .books-family-panel {
    min-width: 0;
    border: 1px solid #ffffffdc;
    border-radius: 1.75rem;
    background: #fffffff0;
    box-shadow: 0 5px 18px #335e8b0b;
}
.books-category-panel { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; padding: 1.25rem; }
.catalog-category {
    --catalog-color: #7122d2;
    display: flex; flex-direction: column; min-width: 0;
    padding: 1.3rem 1.1rem;
    border: 2px solid #fff;
    border-radius: 1.35rem;
    background: linear-gradient(150deg, #eee5fb, #f8f4fc);
    text-align: center;
    scroll-margin-top: 1rem;
}
.catalog-category#music-books { --catalog-color: #cf450d; background: linear-gradient(150deg, #ffeadb, #fff7ef); }
.catalog-category#sketchbooks { --catalog-color: #c72665; background: linear-gradient(150deg, #fce4ee, #fff5f8); }
.books-catalog h2, .books-catalog h3, .books-catalog p { margin: 0; }
.catalog-category h2 { font-size: clamp(1.5rem, 2.7vw, 2.6rem); font-weight: 900; line-height: 1.15; color: var(--catalog-color); }
.catalog-category header p, .books-coloring-panel header p { margin-top: 0.45rem; color: #263b70; font-size: 1rem; font-weight: 700; }
.catalog-book { display: flex; flex-direction: column; align-items: center; min-width: 0; gap: 0.75rem; text-align: center; }
.catalog-category .catalog-book { flex: 1; margin-top: 1.4rem; }
.catalog-cover { display: block; width: min(100%, 14rem); height: auto; aspect-ratio: 3 / 4; object-fit: contain; border-radius: 0.65rem; box-shadow: 0 4px 9px #26365824; }
.catalog-book h3 { max-width: 27ch; color: var(--catalog-color); font-size: 1.1rem; font-weight: 800; line-height: 1.35; }
.catalog-book p { color: #283e72; font-size: 0.95rem; line-height: 1.5; }
.catalog-button { display: inline-flex; justify-content: center; align-items: center; gap: 0.6rem; width: 100%; min-height: 2.9rem; margin-top: auto; padding: 0.65rem 0.85rem; border: 1px solid #ffffffb3; border-radius: 999px; background: var(--catalog-color); color: #fff; font-size: 0.95rem; font-weight: 800; line-height: 1.3; text-decoration: none; box-shadow: 0 3px 6px #3c275529; }
.catalog-category .catalog-button { margin-top: auto; }
.catalog-category .catalog-book p { margin-bottom: 0.35rem; }
.catalog-button:hover { filter: brightness(1.08); }
.catalog-button:focus-visible, .books-family-panel a:focus-visible { outline: 3px solid var(--catalog-color, #7122d2); outline-offset: 3px; }
.books-coloring-panel { --catalog-color: #9a6100; --activity-color: #c18400; padding: 1.5rem 1.8rem 1.1rem; scroll-margin-top: 1rem; }
.books-coloring-panel header { text-align: center; }
.books-coloring-panel header p { width: 100%; max-width: none; margin-inline: auto; text-align: center; }
.books-coloring-panel h2 { display: flex; justify-content: center; align-items: center; gap: 0.6rem; font-size: clamp(1.7rem, 3vw, 2.8rem); line-height: 1.2; color: #c18400; }
.catalog-coloring-icon { width: 1em; height: 1em; background: currentColor; mask: url('../images/nav-icons/coloring.png') center / contain no-repeat; -webkit-mask: url('../images/nav-icons/coloring.png') center / contain no-repeat; }
.catalog-coloring-track { --visible-books: 4; display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - (var(--visible-books) - 1) * 1rem) / var(--visible-books)); gap: 1rem; overflow-x: auto; overscroll-behavior-inline: contain; scroll-snap-type: x mandatory; scrollbar-width: thin; scrollbar-color: #dbc6a0 transparent; padding: 0.4rem 0.25rem 0.75rem; }
.catalog-coloring-track .catalog-book { scroll-snap-align: start; padding: 0.65rem; border: 1px solid #eee7dc; border-radius: 1.1rem; background: #fffdf9; }
.catalog-coloring-track .catalog-cover { width: 100%; }
.catalog-coloring-track h3 { font-size: 0.95rem; }
.catalog-coloring-track .catalog-button { background: #e4a026; color: #432700; }
.books-family-panel { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1rem; padding: 1.6rem 1.5rem; background: linear-gradient(110deg, #fff5fa, #f5f8ff); }
.books-family-intro, .books-family-point { display: grid; grid-template-columns: 3.3rem minmax(0, 1fr); gap: 0.7rem; align-items: start; min-width: 0; }
.books-family-panel > * + * { padding-left: 1rem; border-left: 1px solid #d9def0; }
.books-family-panel img { width: 100%; height: 5rem; object-fit: contain; }
.books-family-panel h2, .books-family-panel h3 { color: #6523be; font-size: 1.05rem; line-height: 1.3; }
.books-family-panel h2 { color: #c72665; }
.books-family-panel p { margin-top: 0.55rem; color: #283e72; font-size: 0.9rem; line-height: 1.5; }
.books-family-panel a { display: inline-flex; gap: 0.4rem; align-items: center; min-height: 2.75rem; color: #c72665; font-weight: 800; font-size: 0.85rem; text-decoration: none; }
.books-family-panel a:hover { text-decoration: underline; }
/* Frame the lower sections without placing decoration over controls. */
@media (max-width: 1000px) {
    .books-family-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .books-family-panel > :nth-child(3) { border-left: 0; padding-left: 0; }
    .catalog-coloring-track { --visible-books: 3; }
    .books-category-panel { padding: 0.8rem; gap: 0.65rem; }
    .catalog-category { padding: 1.1rem 0.7rem; }
}
@media (max-width: 720px) {
    .books-category-panel { grid-template-columns: minmax(0, 1fr); padding: 0.8rem; }
    .catalog-category { padding: 1.3rem; }
    .catalog-category h2 { font-size: 1.9rem; }
    .catalog-category .catalog-cover { width: min(100%, 13rem); }
    .catalog-category .catalog-button { max-width: 20rem; }
    .books-coloring-panel { padding: 1.25rem 1rem 0.6rem; }
    .catalog-coloring-track { gap: 0.75rem; grid-auto-columns: 82%; }
    .catalog-coloring-track .catalog-book { padding: 0.8rem; }
    .catalog-coloring-track h3 { font-size: 1.1rem; }
    .catalog-coloring-track .catalog-button { font-size: 0.95rem; padding-inline: 0.45rem; }
    .books-family-panel { padding: 1.25rem; }
}
@media (max-width: 480px) {
    .books-family-panel { grid-template-columns: minmax(0, 1fr); gap: 1rem; }
    .books-family-panel > * + *, .books-family-panel > :nth-child(3) { border-left: 0; padding: 1rem 0 0; border-top: 1px solid #d9def0; }
    .books-family-panel img { height: 4.5rem; }
}

.books-family-book-icon { display: block; width: 100%; height: 5rem; background: #7122d2; mask: url('../images/nav-icons/books.png') center / contain no-repeat; -webkit-mask: url('../images/nav-icons/books.png') center / contain no-repeat; }
/* Place arrows over the cover area, clear of titles and purchase links. */
.books-coloring-panel .home-shelf-arrow { top: 25%; }
