
  :root{
    --bg:#fafafa;--surface:#fff;--text:#1a1a1a;
    --muted:#5c5c5c;--line:#e5e5e5;--accent:#2d2d2d;--nav-h:64px;
  }
  *{margin:0;padding:0;box-sizing:border-box}
  body{font-family:'Vazirmatn',sans-serif;background:var(--bg);color:var(--text);line-height:1.7}

  main{
    max-width:1100px;margin:0 auto;
    padding:calc(var(--nav-h) + 40px) clamp(20px,5vw,48px) 80px;
  }
  .page-title{font-size:28px;font-weight:600;margin-bottom:8px}
  .page-sub{font-size:14px;color:var(--muted);margin-bottom:8px}
  .page-meta{font-size:13px;color:var(--muted);margin-bottom:32px}

  .filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:28px}
  .filter-btn{
    padding:8px 18px;font-size:13px;font-family:inherit;
    border:1px solid var(--line);background:var(--surface);
    border-radius:6px;cursor:pointer;color:var(--muted);
  }
  .filter-btn.active{background:var(--accent);color:#fff;border-color:var(--accent)}

  .grid{
    display:grid;
    grid-template-columns:repeat(auto-fill,minmax(280px,1fr));
    gap:20px;
  }
  .card{
    background:var(--surface);
    border:1px solid var(--line);
    border-radius:12px;
    overflow:hidden;
    text-decoration:none;color:inherit;
    transition:box-shadow .2s,border-color .2s;
    display:flex;flex-direction:column;
  }
  .card:hover{
    border-color:#ccc;
    box-shadow:0 8px 24px rgba(0,0,0,.06);
  }
  .card-body{padding:18px 20px 20px;flex:1;display:flex;flex-direction:column}
  .card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:8px;margin-bottom:10px}
  .badge{font-size:11px;padding:4px 10px;background:var(--bg);border-radius:4px;color:var(--muted)}
  .card-name{font-size:15px;font-weight:600;line-height:1.4}
  .card-code{font-size:12px;color:var(--muted);margin-top:4px;direction:ltr;text-align:left}
  .price-rows{margin-top:auto;padding-top:14px;border-top:1px solid var(--line)}
  .price-row{
    display:flex;justify-content:space-between;align-items:baseline;
    font-size:12px;padding:5px 0;
  }
  .price-row span:first-child{color:var(--muted)}
  .price-row span:last-child{
    font-weight:500;direction:ltr;font-variant-numeric:tabular-nums;
    font-size:11px;
  }
  .price-row .empty{color:#ccc}

  .note{
    margin-top:40px;padding:20px 24px;
    background:var(--surface);border:1px solid var(--line);
    border-radius:10px;font-size:14px;color:var(--muted);
  }
  .note strong{color:var(--text)}

  footer{
    text-align:center;padding:32px;font-size:12px;color:var(--muted);
    border-top:1px solid var(--line);margin-top:20px;
  }

.filter-btn {text-decoration:none;display:inline-block}
