.products-main{
  min-height:100vh;
  overflow-x:clip;
  background:var(--dc-bg);
  color:var(--dc-text);
}
.products-container{width:min(var(--dc-max),calc(100% - 48px));margin-inline:auto}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[hidden]{display:none!important}

.products-hero{position:relative;overflow:hidden;padding:132px 0 112px}
.products-grid-bg{position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--dc-text) 3%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--dc-text) 3%,transparent) 1px,transparent 1px);background-size:54px 54px;mask-image:linear-gradient(to right,transparent,#000 10%,#000 90%,transparent),linear-gradient(to bottom,transparent,#000 14%,#000 76%,transparent);mask-composite:intersect}
.products-hero-inner{position:relative;z-index:1;text-align:center}
.products-kicker{margin:0 0 12px;color:var(--dc-accent);font:500 9px var(--dc-mono);letter-spacing:.18em;text-transform:uppercase}
.products-title{margin:0;color:var(--dc-text);font-size:clamp(38px,4.4vw,58px);font-weight:720;line-height:1.08;letter-spacing:-.05em}
.products-subtitle{max-width:680px;margin:14px auto 0;color:var(--dc-muted);font-size:clamp(14px,1.35vw,17px);line-height:1.75}

.summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:38px;text-align:left}
.summary-card{display:flex;min-width:0;align-items:center;gap:14px;padding:17px 18px;border:1px solid var(--dc-line);border-radius:14px;background:color-mix(in srgb,var(--dc-panel) 92%,transparent);box-shadow:0 10px 30px color-mix(in srgb,#000 13%,transparent);transition:transform .25s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s}
.summary-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--dc-accent) 28%,var(--dc-line));box-shadow:0 15px 36px color-mix(in srgb,#000 18%,transparent)}
.summary-icon{flex:none;display:grid;width:46px;height:46px;place-items:center;border-radius:11px;background:color-mix(in srgb,var(--dc-accent) 12%,var(--dc-soft));color:var(--dc-accent)}
.summary-icon svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round}
.summary-card h2{margin:0 0 4px;color:var(--dc-text);font-size:15px;font-weight:680}.summary-card p{margin:0;color:var(--dc-muted);font-size:12px}

.products-list-section{position:relative;z-index:2;min-height:60vh;margin-top:-64px;padding-bottom:112px}
.catalog-toolbar{overflow:hidden;border:1px solid var(--dc-line);border-radius:14px;background:color-mix(in srgb,var(--dc-panel) 96%,transparent);box-shadow:var(--dc-shadow);backdrop-filter:blur(18px)}
.toolbar-row{display:flex;min-height:64px;align-items:center;justify-content:space-between;gap:18px;padding:12px 15px}
.toolbar-row-secondary{min-height:56px;border-top:1px solid var(--dc-line)}
.filter-cluster{display:flex;min-width:0;align-items:center;gap:6px;overflow-x:auto;scrollbar-width:none}.filter-cluster::-webkit-scrollbar{display:none}.filter-options{display:flex;align-items:center;gap:6px}
.filter-label{flex:none;margin-right:2px;color:var(--dc-muted);font-size:11px}
.filter-chip{flex:none;min-height:32px;padding:0 11px;border:1px solid transparent;border-radius:8px;background:transparent;color:var(--dc-muted);font-size:11px;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.filter-chip:hover{background:color-mix(in srgb,var(--dc-text) 6%,transparent);color:var(--dc-text)}
.filter-chip.is-active{border-color:color-mix(in srgb,var(--dc-accent) 24%,transparent);background:color-mix(in srgb,var(--dc-accent) 12%,transparent);color:color-mix(in srgb,var(--dc-accent) 78%,var(--dc-text))}
.filter-chip:focus-visible{outline:2px solid var(--dc-accent);outline-offset:2px}

.product-search{position:relative;flex:0 0 272px;display:flex;height:38px;align-items:center;border-radius:9px;background:var(--dc-soft)}
.product-search svg{position:absolute;left:11px;width:16px;height:16px;fill:none;stroke:var(--dc-muted);stroke-width:1.7}
.product-search input{width:100%;height:100%;padding:0 12px 0 35px;border:1px solid transparent;border-radius:inherit;outline:0;background:transparent;color:var(--dc-text);font-size:12px;transition:border-color .2s,background .2s}
.product-search input::placeholder{color:var(--dc-muted)}.product-search input:focus{border-color:color-mix(in srgb,var(--dc-accent) 42%,transparent);background:var(--dc-panel)}
.catalog-count{flex:none;margin:0;color:var(--dc-muted);font-size:11px}.catalog-count strong{color:var(--dc-text);font:600 12px var(--dc-mono)}

.catalog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;gap:18px;margin-top:26px}
.product-list-card{display:flex;min-width:0;min-height:306px;overflow:hidden;border:1px solid var(--dc-line);border-radius:12px;background:var(--dc-panel);box-shadow:0 8px 24px color-mix(in srgb,#000 11%,transparent);transition:transform .28s cubic-bezier(.16,1,.3,1),border-color .25s,box-shadow .25s}
.product-list-card:hover{transform:translateY(-4px);border-color:color-mix(in srgb,var(--dc-accent) 28%,var(--dc-line));box-shadow:0 18px 42px color-mix(in srgb,#000 19%,transparent)}
.product-card-body{display:flex;width:100%;min-width:0;flex-direction:column;padding:20px}
.product-card-head{display:flex;min-width:0;align-items:center;gap:12px}
.product-logo{position:relative;flex:none;display:grid;width:48px;height:48px;place-items:center;overflow:hidden;border:1px solid var(--dc-line);border-radius:12px;background:linear-gradient(145deg,color-mix(in srgb,var(--dc-accent) 7%,var(--dc-soft)),color-mix(in srgb,var(--dc-text) 3%,var(--dc-panel)));color:color-mix(in srgb,var(--dc-text) 24%,transparent);text-decoration:none}
.product-logo img{position:absolute;inset:0;z-index:1;width:100%;height:100%;object-fit:cover}.product-logo img:not([src]){display:none}.product-logo svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round;stroke-linejoin:round}.product-logo.has-image svg{visibility:hidden}
.product-name{min-width:0;flex:1}.product-name h2{margin:0;overflow:hidden;font-size:18px;font-weight:680;line-height:1.25;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.product-name h2 a{color:var(--dc-text);text-decoration:none;transition:color .2s}.product-name h2 a:hover{color:var(--dc-accent)}
.product-price{flex:none;display:flex;max-width:118px;align-items:baseline;justify-content:flex-end;gap:2px;text-align:right;white-space:nowrap}.product-price-currency{color:var(--dc-muted);font-size:12px}.product-price strong{color:var(--dc-accent);font:700 20px var(--dc-font);letter-spacing:-.03em}.product-price-suffix{color:var(--dc-muted);font-size:10px}.product-price-label{padding:4px 7px;border-radius:6px;background:color-mix(in srgb,var(--dc-accent) 10%,transparent);color:color-mix(in srgb,var(--dc-accent) 72%,var(--dc-text));font-size:10px}.product-price.is-label .product-price-currency,.product-price.is-label strong,.product-price.is-label .product-price-suffix{display:none}
.product-meta{display:flex;min-height:23px;flex-wrap:wrap;align-items:center;gap:6px;margin-top:12px;color:var(--dc-muted);font-size:10px}.product-meta>i{opacity:.35;font-style:normal}.product-author{display:inline-flex;align-items:center;gap:5px}.product-author svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.55;stroke-linecap:round}.product-meta-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 6px;border-radius:5px;background:color-mix(in srgb,var(--dc-text) 5%,transparent);color:color-mix(in srgb,var(--dc-text) 58%,transparent);font-size:9px}.product-meta-status{background:color-mix(in srgb,var(--dc-accent) 9%,transparent);color:color-mix(in srgb,var(--dc-accent) 70%,var(--dc-text))}.product-meta-status>i{width:5px;height:5px;border-radius:50%;background:var(--dc-accent);animation:product-status-pulse 1.8s ease-in-out infinite}.product-meta-status.is-muted{background:color-mix(in srgb,var(--dc-text) 5%,transparent);color:var(--dc-muted)}.product-meta-status.is-muted>i{background:var(--dc-muted);animation:none}.product-meta-license{background:color-mix(in srgb,var(--dc-accent) 7%,transparent);color:color-mix(in srgb,var(--dc-accent) 65%,var(--dc-text))}
@keyframes product-status-pulse{50%{opacity:.35}}
.product-description{display:-webkit-box;min-height:42px;margin:12px 0 0;overflow:hidden;color:var(--dc-muted);font-size:12px;line-height:1.7;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.product-features{display:flex;flex-wrap:wrap;gap:6px 15px;margin:16px 0 0;padding:12px 0 0;border-top:1px solid color-mix(in srgb,var(--dc-line) 72%,transparent);list-style:none}.product-features li{position:relative;padding-left:13px;color:var(--dc-muted);font-size:10px}.product-features li::before{content:"✓";position:absolute;left:0;color:var(--dc-accent);font-weight:700}
.product-actions{display:flex;gap:8px;margin-top:auto;padding-top:16px}.product-actions a{position:relative;display:flex;min-width:0;min-height:36px;flex:1;align-items:center;justify-content:center;gap:7px;border:1px solid transparent;border-radius:999px;background:transparent;color:color-mix(in srgb,var(--dc-text) 72%,transparent);text-decoration:none;font-size:10px;transition:background .2s,border-color .2s,color .2s,transform .2s}.product-actions svg{width:15px;height:15px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.product-actions a:hover{background:color-mix(in srgb,var(--dc-text) 5%,transparent);color:var(--dc-text);transform:translateY(-1px)}.product-actions .action-primary{border-color:color-mix(in srgb,var(--dc-text) 14%,var(--dc-line));background:color-mix(in srgb,var(--dc-text) 88%,var(--dc-panel));color:var(--dc-bg);font-weight:650}.product-actions .action-primary:hover{background:var(--dc-text);color:var(--dc-bg)}.product-actions .action-download{border-color:color-mix(in srgb,var(--dc-accent) 24%,var(--dc-line));background:color-mix(in srgb,var(--dc-accent) 10%,var(--dc-soft));color:color-mix(in srgb,var(--dc-accent) 72%,var(--dc-text));font-weight:650}

.catalog-pagination{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:30px}.catalog-pagination:empty{display:none}.catalog-pagination button{min-width:40px;height:40px;padding:0 12px;border:1px solid var(--dc-line);border-radius:9px;background:var(--dc-panel);color:var(--dc-muted);font:600 11px var(--dc-font);cursor:pointer}.catalog-pagination button:hover:not(:disabled){border-color:color-mix(in srgb,var(--dc-accent) 36%,var(--dc-line));color:var(--dc-text)}.catalog-pagination button[aria-current="page"]{border-color:var(--dc-accent);background:var(--dc-accent);color:var(--dc-accent-ink)}.catalog-pagination button:disabled{opacity:.38;cursor:default}
.catalog-empty{margin-top:26px;padding:66px 24px;border:1px solid var(--dc-line);border-radius:14px;background:var(--dc-panel);text-align:center}.catalog-empty>span{display:block;color:var(--dc-muted);font-size:40px}.catalog-empty h2{margin:12px 0 7px;color:var(--dc-text);font-size:18px}.catalog-empty p{margin:0;color:var(--dc-muted);font-size:12px}.catalog-empty button{margin-top:18px;padding:10px 16px;border:1px solid var(--dc-line);border-radius:999px;background:var(--dc-soft);color:var(--dc-text);cursor:pointer}

@media(max-width:900px){
  .products-container{width:calc(100% - 32px)}
  .products-hero{padding:122px 0 104px}
  .summary-grid{grid-template-columns:1fr;gap:10px}
  .summary-card{min-height:80px}
  .products-list-section{margin-top:-56px}
  .toolbar-row{align-items:stretch;flex-direction:column}
  .product-search{flex-basis:44px;width:100%}
  .filter-chip{min-height:44px;padding-inline:14px}
  .catalog-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-actions a,.catalog-pagination button{min-height:44px}
}
@media(max-width:620px){
  .products-hero{padding:112px 0 92px}.products-title{font-size:38px}.products-subtitle{font-size:14px}
  .summary-grid{margin-top:30px}.summary-card{padding:15px 16px}
  .products-list-section{margin-top:-44px;padding-bottom:78px}
  .catalog-toolbar{border-radius:13px}.toolbar-row{gap:10px;padding:12px}.toolbar-row-secondary{min-height:0}
  .filter-cluster{width:100%}.catalog-grid{grid-template-columns:1fr;gap:13px;margin-top:17px}
  .product-list-card{min-height:306px}.product-card-body{padding:18px}.product-actions a{min-height:44px}
}
@media(prefers-reduced-motion:reduce){.summary-card,.product-list-card,.product-actions a{transition:none}.product-meta-status>i{animation:none}}
