.reference-contact-strip { background:var(--brand-navy); color:white; font-size:12px; }
.reference-contact-strip .container { display:flex; flex-wrap:wrap; justify-content:space-between; gap:6px 20px; padding-block:8px; }
.reference-contact-strip a { display:inline-flex; align-items:center; min-height:28px; text-decoration:underline; text-underline-offset:3px; }
.reference-promotions { background:var(--paper-deep); }
.reference-promotions h2 { max-width:28ch; }
.reference-sale-list { display:flex; flex-wrap:wrap; gap:12px; margin-top:24px; }
.reference-sale-item { flex:1 1 200px; padding:14px 16px; border:1px solid var(--line); background:var(--paper); font-size:13px; }
.reference-sale-item strong,.reference-sale-item span { display:block; }
.reference-sale-item span { color:var(--ink-soft); margin-top:8px; }
.reference-feature { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:40px; align-items:center; }
.reference-feature h2 { margin-block:12px; }
.reference-feature p { color:var(--ink-soft); }
.reference-facts { display:flex; flex-wrap:wrap; gap:16px 28px; margin:24px 0; }
.reference-facts div { flex:1 1 70px; }
.reference-facts dt { font-size:24px; font-weight:700; }
.reference-facts dd { margin:0; font-size:13px; color:var(--ink-soft); }
.reference-video-stage { min-width:0; }
.reference-video-stage video,.reference-video-poster { width:100%; aspect-ratio:16/9; object-fit:contain; background:#131c43; border:0; padding:0; }
.reference-video-square video,.reference-video-square .reference-video-poster { aspect-ratio:1/1; max-height:380px; }
.reference-video-poster { position:relative; display:block; cursor:pointer; }
.reference-video-poster img { width:100%; height:100%; object-fit:contain; }
.reference-video-poster span { position:absolute; bottom:12px; left:12px; padding:10px 16px; background:var(--brand-gold); color:var(--brand-navy); font:600 14px var(--sans); }
.reference-video-status { font-size:13px; margin-block:8px; }
.reference-video-status:empty { display:none; }
.reference-actions { display:flex; flex-wrap:wrap; align-items:center; gap:12px; margin-top:auto; }
.catalog-toolbar { display:grid; grid-template-columns:minmax(180px,330px) minmax(0,1fr); gap:16px 24px; margin:28px 0 16px; align-items:end; }
.catalog-toolbar label { font-size:13px; }
.catalog-toolbar input { display:block; width:100%; min-height:46px; padding:10px 12px; margin-top:6px; border:1px solid var(--line); border-radius:0; background:white; color:var(--ink); }
.catalog-toolbar>p { grid-column:1/-1; font-size:13px; margin:0; color:var(--ink-soft); }
.catalog-filter-buttons { display:flex; flex-wrap:wrap; gap:8px; }
.catalog-filter-buttons button { min-height:44px; padding:8px 14px; border:1px solid var(--line); background:var(--paper); color:var(--brand-navy); font:500 13px var(--sans); }
.catalog-filter-buttons button[aria-pressed=true] { background:var(--brand-navy); color:white; }
.reference-product-meta { color:var(--ink-soft); font-size:12px; line-height:1.6; }
.reference-learning-notes { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:40px; margin:32px 0 48px; }
.reference-learning-notes article { min-width:0; }
.reference-learning-notes h3 { font-size:26px; }
.reference-learning-notes p { font-size:14px; color:var(--ink-soft); }
.reference-learning-notes article>img { width:100%; aspect-ratio:1/1; max-height:380px; object-fit:contain; background:#131c43; }
.reference-price { display:flex; flex-wrap:wrap; gap:8px; align-items:baseline; }
.reference-price strong { font-size:17px; }
.reference-price del { color:var(--ink-muted); font-size:12px; }
.reference-author-facts { display:flex; flex-wrap:wrap; gap:16px; padding-block:20px; border-block:1px solid var(--line); margin-block:24px; }
.reference-author-facts p { flex:1 1 120px; font-size:12px; margin:0; }
.reference-author-facts strong { display:block; font-size:28px; }
.reference-author-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; margin:28px 0; }
.reference-author-gallery figure { margin:0; min-width:0; }
.reference-author-gallery img { width:100%; height:360px; object-fit:cover; object-position:top; }
.reference-author-gallery figcaption { font-size:13px; color:var(--ink-soft); margin-top:12px; }
.reference-club-summary { padding:28px; background:var(--paper-deep); }
.reference-club-summary h3 { font-size:26px; margin:0; }
#catalog-preview-dialog { max-height:calc(100dvh - 32px); overflow:auto; }
#catalog-preview-files { display:grid; gap:12px; padding-top:16px; }
.book-catalog { overflow-anchor:none; }
@media(max-width:1000px) {
 .catalog-toolbar { grid-template-columns:1fr; }
 .reference-author-gallery img { height:260px; }
}
@media(max-width:650px) {
 .reference-feature,.reference-learning-notes { grid-template-columns:1fr; }
 .reference-feature,.reference-learning-notes { gap:24px; }
 .reference-learning-notes { margin-bottom:32px; }
 .reference-contact-strip .container { flex-wrap:nowrap; justify-content:flex-start; gap:16px; overflow-x:auto; white-space:nowrap; scrollbar-width:none; }
 .reference-contact-strip .container::-webkit-scrollbar { display:none; }
 .reference-author-gallery { grid-template-columns:1fr; }
 .reference-author-gallery img { height:auto; max-height:480px; object-fit:contain; }
}

.book-card .product-cover img {object-fit:contain;}
