/* Blackwire software catalog preview (v1.79 TEST).
   Page-scoped and separate from the production shared stylesheet. */
.catalog-preview .catalog-hero {
  padding: 56px 0 50px;
  border-bottom: 1px solid rgba(94,178,255,.1);
  background:
    radial-gradient(circle at top right, rgba(24,116,184,.22), transparent 34%),
    linear-gradient(180deg, rgba(8,22,37,.95), rgba(5,15,26,.84));
}
.catalog-preview .catalog-hero-grid {
  display: grid;
  grid-template-columns: minmax(0,1.28fr) minmax(290px,.72fr);
  align-items: center;
  gap: 56px;
}
.catalog-preview .catalog-hero-copy { min-width: 0; }
.catalog-preview .catalog-hero h1 {
  max-width: 760px;
  margin: 17px 0 18px;
  font-size: clamp(2.65rem,5.4vw,4.85rem);
  line-height: 1.05;
}
.catalog-preview .catalog-hero .hero-lead {
  max-width: 680px;
  font-size: 1.055rem;
  line-height: 1.7;
}
.catalog-preview .catalog-hero-link {
  display:inline-flex;
  align-items:center;
  gap:10px;
  margin-top:25px;
  color:#b9ecff;
  font-weight:800;
}
.catalog-preview .catalog-hero-link:hover {color:#fff;}
.catalog-preview .catalog-hero-link span { font-size:1.3rem; }
.catalog-preview .catalog-hero-summary {
  min-width:0;
  padding:27px 29px 22px;
  border:1px solid rgba(94,178,255,.25);
  border-radius:20px;
  background:
    radial-gradient(circle at 100% 0%,rgba(18,183,255,.13),transparent 57%),
    linear-gradient(145deg,rgba(15,36,58,.93),rgba(7,20,35,.86));
  box-shadow:0 22px 55px rgba(0,0,0,.19);
}
.catalog-preview .catalog-hero-summary img { display:block; max-width:170px; width:100%; height:auto; }
.catalog-preview .catalog-summary-heading { margin:18px 0 18px; color:#e8f4ff; font-size:1.1rem; font-weight:750; }
.catalog-preview .catalog-summary-stats { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.catalog-preview .catalog-summary-stats > div { padding:13px 12px; border:1px solid rgba(148,190,232,.15); border-radius:11px; background:rgba(255,255,255,.026); }
.catalog-preview .catalog-summary-stats strong { display:block; color:#8de2ff; font-size:2rem; line-height:1.12; }
.catalog-preview .catalog-summary-stats span { display:block; margin-top:6px; font-size:.8rem; color:#bbcbdc; }
.catalog-preview .catalog-summary-foot { margin:16px 0 0; color:#91a7bb; font-size:.83rem; }
.catalog-preview .catalog-browser { padding-top:48px; padding-bottom:60px; }
.catalog-preview #products, .catalog-preview .catalog-category { scroll-margin-top:105px; }
.catalog-preview .catalog-browser-heading { display:flex; align-items:end; justify-content:space-between; gap:30px; margin-bottom:23px; }
.catalog-preview .catalog-browser-heading h2 { margin:0; font-size:clamp(1.95rem,3.5vw,2.7rem); }
.catalog-preview .catalog-browser-heading > p { max-width:440px; margin:0; color:var(--muted); font-size:.93rem; }
.catalog-preview .catalog-filter-panel {
  padding:20px 20px 18px;
  border:1px solid rgba(94,178,255,.22);
  border-radius:18px;
  background:
    linear-gradient(120deg, rgba(18,183,255,.09), rgba(255,255,255,.02) 58%),
    rgba(8,22,37,.76);
  box-shadow:0 18px 42px rgba(0,0,0,.16);
}
.catalog-preview .catalog-filter-heading { display:flex; flex-wrap:wrap; justify-content:space-between; gap:8px 24px; margin-bottom:14px; }
.catalog-preview .catalog-filter-heading strong { color:#edf8ff; font-size:.92rem; }
.catalog-preview .catalog-filter-heading > span { color:#a2b8cb; font-size:.83rem; }
.catalog-preview .catalog-filter-buttons { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:9px; }
.catalog-preview .catalog-filter {
  display:flex; align-items:center; justify-content:space-between; gap:12px;
  min-height:49px; padding:10px 13px;
  border:1px solid rgba(148,190,232,.17);
  border-radius:11px;
  color:#cad7e6; background:rgba(255,255,255,.024);
  text-align:left; font-size:.89rem; font-weight:760; cursor:pointer;
  transition:background .15s ease,border-color .15s ease,color .15s ease;
}
.catalog-preview .catalog-filter:hover { color:#fff; background:rgba(94,178,255,.09); border-color:rgba(94,178,255,.43); }
.catalog-preview .catalog-filter.is-active,
.catalog-preview .catalog-filter[aria-pressed="true"] { border-color:#5ac9ff; color:#eaf8ff; background:rgba(16,112,171,.27); box-shadow:inset 0 0 0 1px rgba(90,201,255,.08); }
.catalog-preview .catalog-filter-count { display:grid; flex:0 0 auto; place-items:center; min-width:26px; height:26px; padding:0 5px; border:1px solid rgba(148,190,232,.12); border-radius:8px; color:#d5e3f2; background:rgba(0,0,0,.17); font-size:.77rem; }
.catalog-preview .catalog-category-list { display:grid; gap:27px; padding-top:34px; }
.catalog-preview [hidden] {display:none !important;}
.catalog-preview .catalog-category {
  min-width:0;
  padding:30px;
  border:1px solid rgba(94,178,255,.14);
  border-radius:24px;
  background:
    linear-gradient(180deg, rgba(11,28,45,.66), rgba(5,16,27,.88));
  box-shadow:0 18px 44px rgba(0,0,0,.12);
}
.catalog-preview .catalog-category + .catalog-category { padding-top:30px; border-top:0; }
.catalog-preview .catalog-category-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px 30px;
  margin-bottom:22px;
  padding-bottom:16px;
  border-bottom:1px solid rgba(148,190,232,.12);
}
.catalog-preview .catalog-category-label { display:block; min-width:0; }
.catalog-preview .catalog-category-copy { min-width:0; }
.catalog-preview .catalog-category-number { display:none; }
.catalog-preview .catalog-category-label .kicker { margin-bottom:8px; font-size:.72rem; letter-spacing:.1em; color:#8fb6d5; }
.catalog-preview .catalog-category-title-row { display:flex; align-items:center; gap:14px; flex-wrap:wrap; }
.catalog-preview .catalog-category h2 { margin:0; font-size:clamp(1.95rem,3vw,2.55rem); }
.catalog-preview .catalog-category-count {
  display:inline-flex;
  align-items:center;
  min-height:32px;
  padding:6px 12px;
  border:1px solid rgba(94,178,255,.25);
  border-radius:999px;
  color:#c9ebff;
  background:rgba(94,178,255,.08);
  font-size:.8rem;
  font-weight:760;
}
.catalog-preview .catalog-category-heading > p { max-width:360px; margin:0; color:#b3c5d7; font-size:.94rem; text-align:right; }
.catalog-preview .catalog-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.catalog-preview .catalog-product-card {
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  border:1px solid rgba(94,178,255,.18);
  border-radius:18px;
  background:linear-gradient(180deg, rgba(18,37,56,.86), rgba(8,19,31,.98));
  box-shadow:0 14px 34px rgba(0,0,0,.18);
  transition:border-color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.catalog-preview .catalog-product-card:hover {
  border-color:rgba(94,178,255,.42);
  transform:translateY(-3px);
  box-shadow:0 22px 42px rgba(0,0,0,.22);
}
.catalog-preview .catalog-product-image { display:flex; align-items:center; justify-content:center; overflow:hidden; min-width:0; width:100%; aspect-ratio:16/10; padding:10px; border-bottom:1px solid rgba(148,190,232,.12); background:linear-gradient(180deg,#08111b,#040b14); }
.catalog-preview .catalog-product-image img { display:block; max-width:100%; max-height:100%; width:100%; height:100%; object-fit:contain; }
.catalog-preview .catalog-product-content { display:flex; flex:1; flex-direction:column; min-width:0; padding:21px 21px 22px; }
.catalog-preview .catalog-product-topline { display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-height:28px; }
.catalog-preview .catalog-platform { color:#92b5d0; font-size:.75rem; font-weight:730; }
.catalog-preview .catalog-product-content h3 { margin:14px 0 11px; font-size:clamp(1.21rem,1.65vw,1.45rem); line-height:1.2; }
.catalog-preview .catalog-product-description { margin:0; color:#b7c6d6; font-size:.9rem; line-height:1.62; }
.catalog-preview .catalog-product-bottom { margin-top:auto; padding-top:19px; }
.catalog-preview .catalog-editions { display:flex; flex-wrap:wrap; gap:6px; min-height:28px; }
.catalog-preview .catalog-edition { display:inline-flex; align-items:center; padding:5px 8px; border:1px solid rgba(148,190,232,.14); border-radius:7px; background:rgba(255,255,255,.022); color:#c8d5e2; font-size:.74rem; font-weight:690; }
.catalog-preview .catalog-product-cta { justify-content:space-between; width:100%; min-height:45px; margin-top:16px; padding:10px 13px; font-size:.86rem; }
.catalog-preview .catalog-product-cta span { font-size:1.1rem; }
/* Single-product categories use wide cards so they do not leave two empty desktop columns. */
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-grid,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-grid { grid-template-columns:minmax(0,1fr); }
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-card,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-card { display:grid; grid-template-columns:minmax(0,.43fr) minmax(0,.57fr); }
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-image,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-image { height:100%; min-height:272px; aspect-ratio:auto; border-bottom:0; border-right:1px solid rgba(148,190,232,.12); }
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-content,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-content { padding:24px 27px; }
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-cta,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-cta { width:auto; min-width:225px; }
.catalog-preview .catalog-development { padding-top:44px; border-top:1px solid rgba(94,178,255,.1); }
.catalog-preview .catalog-development-panel { padding:31px; border:1px solid rgba(94,178,255,.22); border-radius:20px; background:linear-gradient(105deg,rgba(12,40,64,.56),rgba(7,19,32,.89)); }
.catalog-preview .catalog-development-top { display:flex; align-items:center; justify-content:space-between; gap:24px; margin-bottom:23px; }
.catalog-preview .catalog-development-top h2 { margin:0 0 8px; font-size:clamp(1.9rem,3vw,2.45rem); }
.catalog-preview .catalog-development-top p:last-child { max-width:560px; margin:0; color:#aebfd1; font-size:.91rem; }
.catalog-preview .catalog-development-top .btn { flex-shrink:0; font-size:.88rem; }
.catalog-preview .catalog-development-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:11px; }
.catalog-preview .catalog-development-list > a { display:flex; flex-direction:column; align-items:flex-start; position:relative; gap:13px; min-width:0; padding:17px 17px 18px; border:1px solid rgba(148,190,232,.14); border-radius:12px; color:#e4eef7; background:rgba(255,255,255,.02); }
.catalog-preview .catalog-development-list > a:hover { border-color:rgba(94,178,255,.42); background:rgba(94,178,255,.07); }
.catalog-preview .catalog-development-list strong { display:block; padding-right:18px; font-size:.92rem; line-height:1.4; }
.catalog-preview .catalog-development-list small { display:block; margin-top:6px; color:#a5b5c5; font-size:.79rem; line-height:1.45; }
.catalog-preview .catalog-development-list .pill { margin-top:auto; font-size:.66rem; }
.catalog-preview .catalog-dev-arrow { position:absolute; top:14px; right:15px; color:#80d9ff; }
.catalog-preview .catalog-about-note { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:19px 5px 0; }
.catalog-preview .catalog-about-note p { margin:0; color:#a8b8c9; font-size:.88rem; }
.catalog-preview .catalog-about-note p strong { color:#e5f3ff; }
.catalog-preview .catalog-about-note a { white-space:nowrap; font-size:.86rem; font-weight:800; }
@media (max-width:1000px) {
  .catalog-preview .catalog-hero-grid { grid-template-columns:minmax(0,1.2fr) minmax(250px,.8fr); gap:26px; }
  .catalog-preview .catalog-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-card,
  .catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-card { grid-template-columns:minmax(0,.45fr) minmax(0,.55fr); }
}
@media (max-width:780px) {
  .catalog-preview .catalog-hero { padding:35px 0; }
  .catalog-preview .catalog-hero-grid { grid-template-columns:1fr; gap:22px; }
  .catalog-preview .catalog-hero-summary { padding:18px 21px; }
  .catalog-preview .catalog-summary-heading { margin:12px 0; }
  .catalog-preview .catalog-browser { padding-top:37px; }
  .catalog-preview .catalog-browser-heading { display:block; }
  .catalog-preview .catalog-browser-heading > p { margin-top:9px; }
  .catalog-preview .catalog-category-heading { display:block; }
  .catalog-preview .catalog-category-heading > p { margin:12px 0 0 65px; max-width:none; text-align:left; }
  .catalog-preview .catalog-development-top { display:block; }
  .catalog-preview .catalog-development-top .btn { margin-top:17px; }
  .catalog-preview .catalog-development-list { grid-template-columns:1fr; }
  .catalog-preview .catalog-development-list > a { flex-direction:row; align-items:center; }
  .catalog-preview .catalog-development-list .pill { margin:0 20px 0 auto; }
}
@media (max-width:660px) {
  .catalog-preview .catalog-hero h1 { font-size:clamp(2.35rem,9vw,3.35rem); }
  .catalog-preview .catalog-filter-panel { padding:14px; }
  .catalog-preview .catalog-filter-buttons { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .catalog-preview .catalog-category-list { gap:34px; padding-top:27px; }
  .catalog-preview .catalog-category + .catalog-category { padding-top:28px; }
  .catalog-preview .catalog-product-grid { grid-template-columns:1fr; }
  .catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-card,
  .catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-card { display:flex; }
  .catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-image,
  .catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-image { min-height:0; height:auto; aspect-ratio:16/10; border-right:0; border-bottom:1px solid rgba(148,190,232,.12); }
  .catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-content,
  .catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-content { padding:21px; }
  .catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-cta,
  .catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-cta { width:100%; }
  .catalog-preview .catalog-development-panel { padding:20px; }
  .catalog-preview .catalog-about-note { align-items:flex-start; flex-direction:column; }
}
@media (max-width:410px) {
  .catalog-preview .catalog-filter { gap:5px; padding:9px 10px; font-size:.81rem; }
  .catalog-preview .catalog-filter-heading > span { font-size:.77rem; }
  .catalog-preview .catalog-category-label .kicker { font-size:.61rem; }
  .catalog-preview .catalog-development-list > a { align-items:flex-start; flex-direction:column; }
  .catalog-preview .catalog-development-list .pill { margin:0; }
}
@media (prefers-reduced-motion:reduce) {
  .catalog-preview .catalog-product-card,.catalog-preview .catalog-filter { transition:none; }
  .catalog-preview .catalog-product-card:hover { transform:none; }
}

.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-card,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-card {
  border-radius:20px;
}
.catalog-preview .catalog-category[data-catalog-category="repair"] .catalog-product-description,
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-description {
  max-width:44rem;
}
.catalog-preview .catalog-product-cta {
  box-shadow:none;
}
.catalog-preview .catalog-product-cta:hover {
  filter:brightness(1.03);
}
@media (max-width:780px) {
  .catalog-preview .catalog-category { padding:22px; }
  .catalog-preview .catalog-category-heading { display:block; padding-bottom:14px; }
  .catalog-preview .catalog-category-heading > p { margin:12px 0 0 0; max-width:none; text-align:left; }
}
@media (max-width:660px) {
  .catalog-preview .catalog-category-list { gap:20px; padding-top:24px; }
  .catalog-preview .catalog-category { padding:18px; border-radius:18px; }
  .catalog-preview .catalog-category + .catalog-category { padding-top:18px; }
}

/* v1.81: Storage now contains two released products; use matching side-by-side cards. */
@media(min-width:661px){
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-card{display:flex;flex-direction:column}
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-image{height:auto;min-height:0;aspect-ratio:16/10;border-right:0;border-bottom:1px solid rgba(148,190,232,.12)}
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-content{padding:21px 21px 22px}
.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-cta{width:100%;min-width:0}
}
@media(max-width:780px) and (min-width:661px){.catalog-preview .catalog-category[data-catalog-category="storage"] .catalog-product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
