/* Compact catalogue cards; complete original content stays in native details. */
body[data-page=books] .page-hero,body[data-page=products] .page-hero{padding-top:36px;padding-bottom:36px}
body[data-page=books] .page-hero h1,body[data-page=products] .page-hero h1{font-size:clamp(2.1rem,4vw,3.6rem);line-height:1.1;margin-top:16px}
body[data-page=books] .page-hero .lead,body[data-page=products] .page-hero .lead{font-size:1rem;line-height:1.65;margin-top:18px;max-width:760px}
body[data-page=books] .section,body[data-page=products] .section{padding-top:32px;padding-bottom:40px}
body[data-page=books] .section-heading,body[data-page=products] .section-heading{margin-bottom:22px;gap:20px}
body[data-page=books] .section-heading h2,body[data-page=products] .section-heading h2{font-size:clamp(1.5rem,2.4vw,2.25rem);line-height:1.2}
.bs-compact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;align-items:start}
.bs-compact-grid>li{min-width:0;align-self:start}
.catalog-card.bs-compact-card,.parity-service-card.bs-compact-card{min-width:0;height:auto;overflow:hidden;border-radius:12px;box-shadow:0 2px 8px #123d2c06}
.bs-compact-card .catalog-image{height:184px;padding:18px}
.bs-compact-card .catalog-image img{object-fit:contain;max-width:100%;max-height:100%}
.bs-compact-card .catalog-cover>span{font-size:3rem}
.bs-compact-card .catalog-cover>strong{font-size:1.4rem}
.bs-compact-card .catalog-card-body{padding:20px;min-width:0;gap:0}
.bs-compact-card h3{font-size:1.3rem;line-height:1.3;overflow-wrap:anywhere;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.bs-compact-card:has(.bs-card-details[open]) h3{-webkit-line-clamp:unset;display:block}
.bs-compact-card .card-label{font-size:.67rem;line-height:1.5;margin-bottom:9px}
.bs-compact-card .bs-card-excerpt{font-size:.86rem;line-height:1.65;color:var(--muted,#53685b);margin:12px 0 0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.bs-compact-card .price{font-size:1.35rem;line-height:1.4;margin:14px 0 0;padding:0}
.bs-compact-card .price span{font-size:.72em}
.bs-compact-card .parity-service-meta{margin:4px 0 0}
.bs-compact-card .bs-card-details{display:block;margin-top:16px;border-top:1px solid var(--line,#d9dfd5);min-width:0}
.bs-compact-card .bs-card-details>summary{display:list-item;list-style-position:inside;cursor:pointer;padding:12px 2px;min-height:44px;color:var(--green,#123d2c);font:inherit;font-size:.88rem;font-weight:600;line-height:1.5;overflow-wrap:anywhere}
.bs-compact-card .bs-card-details>summary::marker{color:var(--orange,#c9551b)}
.bs-compact-card .bs-card-details>summary:focus-visible{outline:3px solid #c9551b;outline-offset:3px;border-radius:3px}
.bs-card-details__content{padding:4px 0 10px;min-width:0}
.bs-card-details__content .catalog-description,.bs-card-details__content>p{font-size:.9rem;line-height:1.8;overflow-wrap:anywhere;white-space:normal;margin:0 0 16px;max-height:none;overflow:visible;display:block;-webkit-line-clamp:unset}
.bs-card-details__content a,.bs-card-details__content button{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-align:center}
.bs-compact-card .bs-card-details__content .button,.bs-compact-card .bs-card-details__content .parity-button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:10px 0 0;font-size:.82rem;line-height:1.4}
.bs-compact-card .bs-card-details__content .parity-text-link{display:block;min-height:44px;padding:10px 0}
/* Price scripts append their link asynchronously; hide it until moved into details. */
.bs-compact-card>[data-international-buy],.bs-compact-card .catalog-card-body>[data-international-buy]{display:none!important}
.bs-compact-card[lang=ja],html[lang=ja] .bs-compact-card{font-family:'Noto Sans JP','Yu Gothic','Meiryo',sans-serif;line-break:strict;word-break:normal}
html[lang=ja] .bs-compact-card h3{line-height:1.55}
html[lang=de] .bs-compact-card{hyphens:auto}
@media(max-width:1000px){.bs-compact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.bs-compact-grid{grid-template-columns:minmax(0,1fr);gap:16px}.bs-compact-card .catalog-image{height:160px;padding:14px}.bs-compact-card .catalog-card-body{padding:18px}.bs-compact-card h3{font-size:1.2rem}}
/* Keep the intentional heading break visible on small screens. */
body[data-page=books] .page-hero h1 br,body[data-page=products] .page-hero h1 br{display:inline}
