/* Cartridge catalogue; shared product-card geometry remains unchanged. */
.cartridge-page :is(h1,h2,h3){font-family:"Manrope",system-ui,sans-serif}
.cartridge-page .page-image img{height:310px;object-fit:contain}
.cartridge-page .page-table caption{text-align:start;padding:14px;font-weight:700;color:var(--text)}
.cartridge-page .page-table tbody th{text-align:start;width:28%}
.cartridge-page .page-copy a{color:var(--link-ink);text-decoration:underline;text-underline-offset:3px}
.cartridge-controls{margin:28px 0 18px;display:grid;gap:22px}
.cartridge-filters{display:flex;flex-wrap:wrap;gap:10px}
.cartridge-filter{padding:11px 18px;border-radius:30px;border:1px solid var(--line);background:var(--surface);color:var(--text);font:inherit;font-size:.87rem;font-weight:700;cursor:pointer;min-height:44px}
.cartridge-filter.on{background:#0b2a5b;border-color:#0b2a5b;color:#fff}
[data-theme="dark"] .cartridge-filter.on{background:#245d8d;border-color:#6ba5cc}
.cartridge-search{display:flex;flex-direction:column;gap:8px;max-width:500px;font-weight:700;color:var(--text)}
.cartridge-search input{font:inherit;font-size:16px;color:var(--text);background:var(--surface);border:1px solid var(--line);padding:12px 15px;border-radius:10px;min-height:48px;width:100%}
.cartridge-count{color:var(--muted);margin:0 0 22px}
.cartridge-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.cartridge-card{min-width:0;background:var(--surface);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column}
.cartridge-card[hidden],.cartridge-empty[hidden]{display:none!important}
.cartridge-photo{display:block;background:#fff;border-bottom:1px solid var(--line)}
.cartridge-photo img{width:100%;height:230px;object-fit:contain}
.cartridge-copy{padding:24px;display:flex;flex-direction:column;gap:12px;flex:1}
.cartridge-copy h3{margin:0;font-size:1.12rem;line-height:1.45;color:var(--text)}
.cartridge-copy p{color:var(--muted);font-size:.92rem;line-height:1.75;margin:0}
.cartridge-copy .cartridge-kind{font-size:.76rem;font-weight:800;color:var(--gold-ink);letter-spacing:.04em}
.cartridge-copy .cartridge-more{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 0;margin-top:auto;color:var(--link-ink);font-weight:800;min-height:44px}
.cartridge-empty{padding:28px;background:var(--surface);border:1px solid var(--line);border-radius:14px}
.cartridge-empty a{color:var(--link-ink);text-decoration:underline}
.cartridge-selection-heading{margin-top:34px}
.cartridge-actions{margin-top:28px}
.cartridge-discovery{padding:44px 0;background:var(--alt);color:var(--text)}
.cartridge-discovery h2{font-family:var(--body);font-size:clamp(1.5rem,2.5vw,2rem);line-height:1.3;margin-bottom:16px}
.cartridge-discovery p{max-width:78ch;color:var(--muted);margin-bottom:22px}
@media(max-width:1000px){.cartridge-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.cartridge-grid{grid-template-columns:minmax(0,1fr)}.cartridge-page .page-image img{height:230px}.cartridge-photo img{height:235px}.cartridge-copy{padding:21px}.cartridge-discovery .btn-row{flex-direction:column}.cartridge-filter{padding:10px 14px}.cartridge-page .page-table th,.cartridge-page .page-table td{min-width:110px}}

/* Presentation crops retain the complete owner-supplied source image unchanged. */
.cartridge-crop{display:flex;justify-content:center;align-items:center;width:100%;height:230px;background:#fff}
.cartridge-crop-window{position:relative;display:block;height:100%;max-width:100%;overflow:hidden}
.cartridge-crop .cartridge-crop-window img{position:absolute;display:block;max-width:none;object-fit:fill}
.cartridge-page .page-image>.cartridge-crop{height:310px}
@media(max-width:600px){.cartridge-page .page-image>.cartridge-crop{height:230px}.cartridge-photo .cartridge-crop{height:235px}}
