/* Scoped to the public catalog; uses the existing site's colors, cards and buttons. */
.public-collections { position:relative; scroll-margin-top:var(--public-header-offset, 190px); }
.public-collections-anchor { position:absolute; top:0; scroll-margin-top:var(--public-header-offset, 190px); }
.public-collections .section-heading { max-width:880px; margin-inline:auto; }
.public-collection-overview { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin-block:36px 64px; }
.public-collection-card { display:flex; flex-direction:column; padding:24px; }
.public-collection-card .eyebrow { margin-top:20px; }
.public-collection-card h3 { font-size:clamp(1.35rem,2vw,1.8rem); }
.public-collection-card .button { margin-top:auto; align-self:flex-start; }
.public-collection-card p { margin-bottom:24px; }
.public-collection-preview { display:grid; place-items:center; height:250px; border-radius:18px; background:linear-gradient(150deg,#eff8f0,#fffaf0); }
.public-collection-preview img { display:block; width:100%; height:100%; min-width:0; min-height:0; padding:16px; object-fit:contain; }
.public-collection-preview span { color:var(--green-dark,#06462f); font-size:1.5rem; font-weight:700; text-align:center; padding:24px; }
.public-catalog-heading { display:flex; gap:24px; justify-content:space-between; align-items:end; scroll-margin-top:var(--public-header-offset, 190px); }
.public-catalog-heading h3 { font-size:clamp(1.4rem,2.5vw,2rem); margin:0 0 20px; }
.public-catalog-heading > p { max-width:340px; }
.public-catalog-filters { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; padding:24px; border:1px solid #e0e9e2; border-radius:24px; background:#fff; }
.public-catalog-filters label { display:grid; gap:8px; color:#164b38; font-size:.86rem; font-weight:700; min-width:0; }
.public-catalog-filters input,.public-catalog-filters select { width:100%; min-width:0; min-height:46px; border:1px solid #cfded4; border-radius:12px; background:#fff; padding:12px; font:inherit; color:#24382e; }
.public-catalog-search { grid-column:span 2; }
.public-catalog-filters .button { align-self:end; min-height:46px; }
.public-catalog-status { margin-block:24px; color:#456352; }
.public-books-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.public-book-card { display:flex; flex-direction:column; min-width:0; }
.public-book-card .public-book-cover { display:grid; place-items:center; aspect-ratio:4/5; background:linear-gradient(160deg,#eff8f0,#fff); border-radius:16px; padding:14px; }
.public-book-cover img { width:100%; height:100%; min-width:0; min-height:0; object-fit:contain; }
.public-book-card .public-book-meta { color:#547260; font-size:.8rem; margin-block:16px 0; }
.public-book-card h4 { margin:8px 0 12px; font-size:1.08rem; line-height:1.4; }
.public-book-card .public-book-summary { margin-bottom:20px; font-size:.9rem; }
.public-book-card button { margin-top:auto; width:100%; }
.public-catalog-empty { padding:32px; border-radius:20px; background:#fff8e8; color:#6a5426; }
.public-book-dialog { width:min(900px,calc(100% - 32px)); max-height:calc(100dvh - 32px); padding:24px; border:0; border-radius:24px; color:#24382e; overflow:auto; box-shadow:0 28px 100px #002a2366; }
.public-book-dialog::backdrop { background:#052b22bb; }
.public-book-dialog-actions { display:flex; justify-content:flex-end; margin-bottom:18px; }
.public-book-detail { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); align-items:start; gap:32px; }
.public-book-detail .public-book-cover { height:440px; display:grid; place-items:center; padding:16px; border-radius:18px; background:#f1f7f3; }
.public-book-detail h3 { font-size:clamp(1.5rem,2.5vw,2rem); line-height:1.2; margin-block:12px; }
.public-book-detail p { line-height:1.7; }
.public-book-detail dl { display:grid; grid-template-columns:auto 1fr; gap:10px 18px; margin-block:24px; }
.public-book-detail dt { font-weight:700; }
.public-book-detail dd { margin:0; }
.public-collections :focus-visible { outline:3px solid #c9a227; outline-offset:4px; }
.public-book-dialog[open] { animation:public-book-enter .18s ease-out; }
@keyframes public-book-enter { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:translateY(0); } }
@media(max-width:1100px) { .public-books-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } .public-collection-overview { gap:16px; } }
@media(max-width:800px) { .public-collection-overview { grid-template-columns:1fr; } .public-collection-preview { height:220px; } .public-books-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .public-catalog-heading { display:block; } .public-catalog-filters { grid-template-columns:repeat(2,minmax(0,1fr)); } .public-book-detail { grid-template-columns:1fr; } .public-book-detail .public-book-cover { height:320px; } }
@media(max-width:480px) { .public-books-grid { grid-template-columns:1fr; } .public-catalog-filters { padding:16px; gap:12px; } .public-book-card .public-book-cover { aspect-ratio:4/3; } .public-book-dialog { padding:18px; } }
@media(prefers-reduced-motion:reduce) { .public-book-dialog[open] { animation:none; } .public-collections .book-card { transition:none; } }

.public-collections [hidden] { display:none !important; }
.public-collections #collections-title { scroll-margin-top:var(--public-header-offset, 190px); }
.public-collections-back { margin-block:16px 24px; }
.public-collection-card [aria-expanded="true"] { outline:2px solid var(--green-dark,#06462f); outline-offset:4px; }
