/* Catalog styles stay within the reusable block. Search and pagination need no JavaScript. */
.ddqx-library-catalog { --ddqx-catalog-ink:#104a56; --ddqx-catalog-teal:#16697a; --ddqx-catalog-line:#bed1d6; color:#183d47; font-family:Montserrat,Arial,sans-serif; font-size:1rem; line-height:1.65; margin-block:2rem; max-width:100%; overflow-wrap:anywhere; scroll-margin-top:6rem; }
.ddqx-library-catalog, .ddqx-library-catalog * { box-sizing:border-box; }
.ddqx-library-catalog h2,.ddqx-library-catalog h3 { color:var(--ddqx-catalog-ink); font-family:inherit; line-height:1.3; }
.ddqx-library-catalog h2 { font-size:clamp(1.5rem,3vw,2rem); margin:0 0 1.25rem; }
.ddqx-library-catalog h3 { font-size:1.12rem; margin:0 0 .8rem; }
.ddqx-library-catalog a { color:var(--ddqx-catalog-teal); text-decoration:underline; text-underline-offset:.2em; }
.ddqx-catalog-filters { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,11rem),1fr)); gap:1rem; align-items:end; background:#f4f8f9; border:1px solid var(--ddqx-catalog-line); border-radius:.75rem; padding:clamp(.85rem,2vw,1.25rem); }
.ddqx-catalog-filters > div { min-width:0; }
.ddqx-catalog-filters label { display:block; font-size:.86rem; font-weight:650; margin:0 0 .35rem; color:var(--ddqx-catalog-ink); }
.ddqx-catalog-filters input,.ddqx-catalog-filters select { display:block; width:100%; max-width:100%; min-width:0; min-height:44px; padding:.65rem .7rem; border:1px solid #69858d; border-radius:.4rem; background:#fff; color:#183d47; font:inherit; font-size:.9rem; line-height:1.5; }
.ddqx-catalog-actions { display:flex; flex-wrap:wrap; align-items:center; gap:.55rem .85rem; }
.ddqx-catalog-actions button { min-height:44px; padding:.65rem .9rem; background:var(--ddqx-catalog-ink); color:#fff; border:2px solid var(--ddqx-catalog-ink); border-radius:.4rem; font:inherit; font-size:.9rem; font-weight:650; line-height:1.4; cursor:pointer; white-space:normal; }
.ddqx-catalog-actions a { display:inline-flex; align-items:center; min-height:44px; font-size:.86rem; }
.ddqx-library-catalog .ddqx-catalog-help { color:#455f67; font-size:.85rem; margin:.75rem 0; }
.ddqx-library-catalog .ddqx-catalog-count { font-size:.9rem; font-weight:650; margin:1.25rem 0; }
.ddqx-library-catalog .ddqx-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:1rem; padding:0; margin:0; list-style:none; }
.ddqx-library-catalog .ddqx-catalog-card { margin:0; padding:1.2rem; min-width:0; border:1px solid var(--ddqx-catalog-line); border-radius:.75rem; background:#fff; }
.ddqx-library-catalog .ddqx-catalog-format { color:var(--ddqx-catalog-teal); font-size:.75rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase; margin:0 0 .65rem; }
.ddqx-library-catalog .ddqx-catalog-summary { font-size:.9rem; margin:0 0 .75rem; }
.ddqx-library-catalog .ddqx-catalog-stages { color:#455f67; font-size:.78rem; margin:1rem 0 0; padding-top:.75rem; border-top:1px solid #dce7ea; }
.ddqx-catalog-empty { padding:1.2rem; border:1px solid var(--ddqx-catalog-line); border-left:.3rem solid #e3c565; border-radius:.5rem; background:#fff; }
.ddqx-catalog-empty p { margin:.7rem 0 0; }
.ddqx-catalog-pagination { display:flex; flex-wrap:wrap; align-items:center; justify-content:center; gap:1rem; margin-top:1.5rem; }
.ddqx-catalog-pagination a { display:inline-flex; align-items:center; min-height:44px; padding:.5rem .8rem; border:1px solid var(--ddqx-catalog-line); border-radius:.4rem; }
.ddqx-library-catalog :is(a,button,input,select):focus-visible { outline:3px solid #104a56; outline-offset:3px; box-shadow:0 0 0 6px #fff; }
@media(max-width:900px) { .ddqx-library-catalog .ddqx-catalog-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:580px) { .ddqx-library-catalog .ddqx-catalog-grid { grid-template-columns:minmax(0,1fr); } .ddqx-catalog-filters { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { .ddqx-library-catalog * { scroll-behavior:auto; } }
