/* catalog-discovery.css — additive styles for catalog filter UI */

/* ---- Filter bar ---- */
.discovery-bar {
  display: grid;
  grid-template-columns: 1fr;
  gap: .75rem;
  margin-bottom: 1.5rem;
  padding: 1.1rem 1.25rem;
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--r-card);
}
@media (min-width: 48rem) {
  .discovery-bar {
    grid-template-columns: 1fr auto auto;
    align-items: end;
    gap: .75rem 1rem;
  }
  .discovery-selects {
    display: contents;
  }
}

.discovery-selects {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: .75rem;
}
@media (min-width: 48rem) {
  .discovery-selects {
    display: contents;
  }
}

.discovery-label {
  display: block;
  margin-bottom: .3rem;
  color: var(--ink-2);
  font-size: .8125rem;
  font-weight: 600;
  line-height: 1.3;
}

.discovery-input,
.discovery-select {
  display: block;
  width: 100%;
  padding: .55rem .75rem;
  background: var(--bg, #f6f6f3);
  border: 1px solid var(--line);
  border-radius: var(--r-btn, 6px);
  font-family: var(--sans);
  font-size: .9375rem;
  line-height: 1.4;
  color: var(--ink);
}
.discovery-input:focus,
.discovery-select:focus {
  outline: 2px solid var(--p, #8b3a3a);
  outline-offset: 1px;
  border-color: var(--p, #8b3a3a);
}
.discovery-input::placeholder {
  color: var(--ink-2);
  opacity: .65;
}

.discovery-select {
  cursor: pointer;
  min-width: 0;
}
@media (min-width: 48rem) {
  .discovery-select { width: auto; min-width: 10rem; }
  .discovery-input { min-width: 14rem; }
}

.discovery-reset {
  padding: .5rem .85rem;
  background: transparent;
  border: 1px solid var(--line);
  border-radius: var(--r-btn, 6px);
  font-family: var(--sans);
  font-size: .8125rem;
  font-weight: 600;
  color: var(--ink-2);
  cursor: pointer;
  white-space: nowrap;
  align-self: end;
}
.discovery-reset:hover {
  border-color: var(--ink);
  color: var(--ink);
}
.discovery-reset:focus-visible {
  outline: 2px solid var(--p, #8b3a3a);
  outline-offset: 1px;
}

/* ---- Status line ---- */
.discovery-status {
  margin: 0 0 .25rem;
  min-height: 1.3em;
  color: var(--ink-2);
  font-size: .875rem;
  line-height: 1.4;
}
.discovery-status:empty {
  margin: 0;
}

/* ---- Empty state ---- */
.discovery-empty {
  padding: 2.5rem 1.5rem;
  text-align: center;
}
.discovery-empty-heading {
  margin: 0 0 .5rem;
  font-family: var(--serif);
  font-size: 1.25rem;
  line-height: 1.3;
}
.discovery-empty-hint {
  margin: 0;
  color: var(--ink-2);
  font-size: .9375rem;
}

/* ---- Category groups: hidden when empty ---- */
.catalog-group[hidden] {
  display: none;
}

/* ---- Card runtime badge ---- */
.card-runtime {
  display: inline-block;
  padding: .1em .55em;
  border: 1px solid var(--line-strong, var(--line));
  border-radius: 999px;
  color: var(--ink-2);
  font-size: .75rem;
  font-weight: 600;
  line-height: 1.4;
  white-space: nowrap;
  letter-spacing: .01em;
}

/* ---- Hidden cards ---- */
.paid-card[hidden] {
  display: none;
}

/* ---- Images: safe on mobile ---- */
.paid-card img,
.catalog-group img {
  max-width: 100%;
  height: auto;
}

/* ---- Respect reduced motion ---- */
@media (prefers-reduced-motion: reduce) {
  .discovery-input,
  .discovery-select,
  .discovery-reset {
    transition: none;
  }
}

/* ---- Transitions when motion is OK ---- */
@media (prefers-reduced-motion: no-preference) {
  .discovery-input,
  .discovery-select,
  .discovery-reset {
    transition: border-color .15s ease, color .15s ease;
  }
}

/* ---- Print: show all, hide filters ---- */
@media print {
  #catalog-filters,
  .discovery-status,
  .discovery-empty {
    display: none;
  }
  .paid-card[hidden] {
    display: flex;
  }
  .catalog-group[hidden] {
    display: block;
  }
}

/* Buyer journey: shared, scoped corrections for catalogue, products and guides. */
[hidden]{display:none!important}
.catalog-intro{padding:2rem 0 1rem}
.catalog-intro h1{font-size:clamp(2rem,4.5vw,3.5rem);max-width:24ch}
.catalog-intro .lede{max-width:60ch;margin-bottom:1.25rem}
.discovery-bar{border-radius:12px;margin-bottom:0}
.discovery-bar{grid-template-columns:minmax(0,1fr) auto;padding:.8rem;gap:.6rem}
.discovery-search-wrap{grid-column:1;grid-row:1}
.discovery-reset{grid-column:2;grid-row:1}
.discovery-selects{grid-column:1/-1;grid-row:2}
@media(min-width:48rem){
 .discovery-bar{grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,.8fr) auto}
 .discovery-selects{display:contents}
 .discovery-select{width:100%;min-width:0}
 .discovery-reset{grid-column:4}
}
.discovery-input,.discovery-select,.discovery-reset{min-height:44px;min-width:0}
.discovery-search-wrap,.discovery-select-wrap{min-width:0}
.discovery-status{min-height:1.5em}
.catalog-categories summary{cursor:pointer;min-height:44px;padding:.7rem 0;font-weight:600}
.catalog-categories nav{display:flex;gap:.5rem 1.2rem;flex-wrap:wrap;padding:.75rem 0}
.catalog-categories nav a{padding:.35rem 0}
.catalog-assurance{font-size:.88rem;color:var(--ink-2);padding-bottom:1rem}
.catalog-group{padding-top:1.5rem;padding-bottom:2rem}
.catalog-group .shelf-head{margin-bottom:1.3rem}
.catalog-group .tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.paid-card{min-width:0}
.paid-card-heading{padding:1.2rem 1.35rem .9rem}
.real-detail{display:block;max-width:100%;width:100%;height:auto;overflow:hidden}
.paid-card-screen .real-detail{max-height:20rem;object-fit:contain}
.paid-card h3,.paid-card h4{font-size:1.45rem;line-height:1.22}
.paid-card .eyebrow{font-size:.78rem;line-height:1.5;margin-bottom:.6rem}
.card-runtime{display:inline-block;font-size:.8rem!important;padding:.25rem .55rem;background:var(--surface-2);border-radius:5px;margin:.6rem 0!important}
.card-links{display:flex;flex-wrap:wrap;gap:.7rem 1rem;align-items:center}
.card-links a{font-size:.87rem;min-height:32px;display:inline-flex;align-items:center}
.product-copy[data-align="start"]{align-self:start}
.product-hero .product-name{font-size:clamp(2.2rem,4vw,3.4rem);line-height:1.1;max-width:22ch}
.buyer-setup{font-size:.94rem;background:var(--surface);padding:.8rem 1rem;border:1px solid var(--line);border-radius:8px;margin:1rem 0;overflow-wrap:anywhere}
.buyer-setup p+p{margin-top:.5rem}
.product-grid>*,.manual-grid>*,.doc-grid>*,.intro-grid>*{min-width:0}
.real-screen img,.manual-screen img,.doc img,.manual-content img{max-width:100%;height:auto}
.intro.home-intro{padding:2.5rem 0 2rem}
.home-intro .display{font-size:clamp(2.6rem,5vw,4.6rem);max-width:16ch}
.home-intro .lede{font-size:1.12rem;max-width:48ch}
.intro-visual{min-width:0;align-self:center}
.intro-visual .real-screen{margin:0}
.intro-visual figcaption{font-size:.8rem;line-height:1.45}
.intro-visual>.eyebrow{margin-bottom:.6rem}
.intro-visual>p:last-child{margin-top:.8rem}
.buyer-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.5rem;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-top:1rem;padding-bottom:1rem;font-size:.88rem;color:var(--ink-2)}
.buyer-trust strong{display:block;color:var(--ink)}
.home-projects{border-bottom:1px solid var(--line);padding:1rem 0}
.home-projects summary{cursor:pointer;min-height:44px;padding:.65rem 0;font-size:1.1rem;font-weight:600}
.home-projects summary span{color:var(--ink-2);font-weight:400}
.preview-links{list-style:none;padding:0;margin-top:1rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem 2rem}
.preview-links li{display:grid;gap:.3rem;font-size:.88rem}
.preview-links li>a{font-weight:600;font-size:1rem;padding:.4rem 0}
.preview-links li>span{color:var(--ink-2)}
.visual-overview,.doc-grid,.manual-grid{min-width:0}
@media(max-width:950px){.catalog-group .tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.catalog-intro{padding-top:1.35rem}.catalog-intro h1{font-size:2.15rem}.discovery-bar{padding:1rem}.catalog-group .tool-grid{grid-template-columns:minmax(0,1fr)}.catalog-group .shelf-head{display:block}.catalog-group .shelf-head p{margin-top:.6rem}.intro.home-intro{padding-top:1.5rem}.home-intro .display{font-size:2.8rem}.intro-visual{margin-top:.5rem}.buyer-trust{grid-template-columns:1fr;gap:.7rem}.buyer-trust strong{display:inline}.preview-links{grid-template-columns:1fr}}

/* Guide overview media: original renderer CSS, now allowed by CSP. */
.visual-overview{margin:2rem 0;padding:1.5rem;border:1px solid #d4d8cf;border-radius:12px;background:#f7f7f1}.visual-overview h2{margin-top:0}.visual-overview .overview-item{padding:1rem 0;border-top:1px solid #d4d8cf}.visual-overview summary{cursor:pointer;font-weight:650;line-height:1.45;padding:.4rem 0}.visual-overview p{overflow-wrap:anywhere}.visual-overview video{display:block;width:100%;height:auto;border-radius:6px;background:#f5f3ed}.visual-overview img{display:block;width:100%;height:auto;max-width:720px}.visual-overview figure{margin:1rem 0}.visual-overview .overview-note{font-size:.95rem}.visual-overview summary:focus-visible{outline:3px solid #a94728;outline-offset:4px}@media(max-width:500px){.visual-overview{padding:1rem}}@media print{.visual-overview{display:none}}
