    :root{
      --bg:#f6f6f7;
      --card:#ffffff;
      --text:#111827;
      --muted:#6b7280;
      --line:#e5e7eb;
      --shadow:0 10px 22px rgba(0,0,0,.06);
      --accent:#f6c14b;
      --accent2:#f2b232;
      --danger:#ef4444;
    }
    *{box-sizing:border-box}
    body{margin:0;font-family: "Kalameh", sans-serif, IRANSans, Vazirmatn; background:var(--bg); color:var(--text)}
    a{color:inherit}

    /* top bar */
    .topbar{position:sticky;top:0;z-index:30;background:rgba(246,246,247,.92);backdrop-filter:blur(10px);border-bottom:1px solid var(--line)}
    .topbar-inner{display:flex;align-items:center;gap:10px;padding:12px 14px}
    .title{font-size:15px;font-weight:800;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .title small{font-weight:700;color:var(--muted)}
    .btn{border:1px solid var(--line);background:var(--card);border-radius:12px;padding:10px 12px;font-size:14px}
    .btn-primary{border:none;background:#111827;color:white}

    .container{padding:12px 14px 96px}
    .meta{font-size:12px;color:var(--muted);margin:8px 2px 12px}

    /* cards */
    .grid{display:grid;grid-template-columns:1fr;gap:12px}
    /* .grid{display:grid;grid-template-columns:1fr;gap:12px} */
    .card{display:block;background:var(--card);border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow);overflow:hidden;text-decoration:none}
    .thumb{position:relative;height:110px;background:#f3f4f6}
    .thumb img{width:100%;height:100%;object-fit:cover;display:block}
    .thumb-ph{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:12px}

    .dots{position:absolute;left:10px;bottom:10px;display:flex;gap:5px;padding:6px 8px;border-radius:999px;background:rgba(17,24,39,.35);backdrop-filter:blur(6px)}
    .dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.55)}
    .dot.is-on{background:#fff}

    .card-body{padding:10px}
    .card-title{font-weight:800;font-size:14px;line-height:1.5;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

    .info-row{display:flex;align-items:center;justify-content:space-between;border-radius:9px;background:#fafafa;padding:1px 10px;margin:3px 0}
    .info-col{flex:1;min-width:0;text-align:center}
    .info-val{font-weight:800;font-size:13px;color:#111827;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
    .info-lbl{font-size:11px;color:var(--muted);margin-top:2px}
    .sep{width:1px;align-self:stretch;background:var(--line);margin:0 8px}

    .price{background:linear-gradient(180deg,var(--accent),var(--accent2));border-radius:14px;padding:9px 12px;text-align:center;font-weight:800;font-size:15px}
    .price-unit{font-weight:800;font-size:13px;opacity:.9}

    /* suggestion chips */
    .chips{display:flex;flex-wrap:wrap;gap:8px}
    .chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 11px;font-size:12px;cursor:pointer}

    /* load more */
    .load-wrap{margin-top:14px;display:flex;flex-direction:column;gap:10px;align-items:center}
    .spinner{display:none;color:var(--muted);font-size:12px}
    .spinner.is-on{display:block}
    .retry{display:none;border:1px solid #fecaca;background:#fff;border-radius:14px;padding:10px 12px;width:100%}
    .retry.is-on{display:block}
    .retry .row{display:flex;align-items:center;justify-content:space-between;gap:10px}
    .retry .msg{color:#991b1b;font-size:12px;line-height:1.6}
    .retry button{border:none;background:#111827;color:#fff;border-radius:12px;padding:10px 12px;font-size:13px;white-space:nowrap}

    /* bottom sheet */
    .overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);display:none;z-index:50}
    .sheet{position:fixed;left:0;right:0;bottom:70px;transform:translateY(110%);transition:transform .22s ease;z-index:60}
    .sheet-inner{background:var(--card);border-radius:18px 18px 0 0;border:1px solid var(--line);box-shadow:var(--shadow);max-height:86vh;overflow:auto}
    .sheet-head{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
    .sheet-title{font-weight:900}
    .sheet-close{margin-right:auto}
    .section{padding:12px 14px;border-bottom:1px solid var(--line)}
    .section:last-child{border-bottom:none}
    .section h3{margin:0 0 10px;font-size:13px}
    .field{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}
    label{font-size:12px;color:var(--muted)}
    select,input{height:44px;border:1px solid var(--line);border-radius:12px;padding:0 10px;font-size:14px;outline:none;background:white}
    input{direction:ltr;text-align:left}
    .help{font-size:12px;color:var(--muted);line-height:1.7}
    .bottom-actions{position:sticky;bottom:0;background:rgba(255,255,255,.95);backdrop-filter:blur(10px);border-top:1px solid var(--line);padding:10px 14px;display:flex;gap:10px}
    .bottom-actions .btn{flex:1;height:44px}

    /* floating filter button */
    .fab{position:fixed;left:14px;bottom:18px;z-index:40}
    .fab .btn{border:none;background:#111827;color:#fff;border-radius:999px;padding:12px 14px;box-shadow:var(--shadow)}

    @media (min-width: 900px){
      .container{max-width:760px;margin:0 auto}
      .topbar-inner{max-width:760px;margin:0 auto}
      .fab{left:calc(50% - 380px)}
      .sheet{left:calc(50% - 380px);right:calc(50% - 380px)}
    }

    .seller-card {
        background: var(--card);
        border-radius: 18px;
        box-shadow: var(--shadow);
        overflow: hidden;
    }
    .seller-card__header {
        display: flex;
        align-items: center;
        gap: 7px;
        padding: 3px 13px;
    }
    .seller-card__avatar {
        flex-shrink: 0;
        width: 45px;
        height: 45px;
        border-radius: 50%;
        background-color: var(--line); /* Placeholder color */
        overflow: hidden;
    }    
    .seller-card__avatar img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }    
    .seller-card__details {
        display: flex;
        flex-direction: row;
        gap: 5px;
        /* Prevent long text from breaking layout */
        overflow: hidden;
    }    

    .seller-card__name {
        font-size: 10px;
        font-weight: 600;
        color: var(--text);
        margin: 0;
        white-space: nowrap;
        /*overflow: hidden;*/
        /*text-overflow: ellipsis;*/
    }
    .seller-card__meta {
        display: flex;
        align-items: center;
        gap: 6px;
        font-size: 12px;
        color: var(--muted);
        margin: 0;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .seller-card__meta svg {
        flex-shrink: 0;
        width: 14px;
        height: 14px;
    }
