@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700;800;900&family=JetBrains+Mono:wght@500;700&display=swap');

:root{
  --ink:#1c2a3e; --ink-2:#12192a; --vermilion:#c13b2e; --vermilion-d:#9b2e23;
  --gold:#b6903f; --paper:#f3ede1; --paper-2:#eae1cf; --charcoal:#2a251d;
  --muted:#6b6357; --line:#d8cdb6; --radius:14px; --green:#3f7d4f; --orange:#c76a1e;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--paper);color:var(--charcoal);font-family:'Vazirmatn',sans-serif;line-height:1.75;}
a{color:inherit;text-decoration:none;}
.mono{font-family:'JetBrains Mono',monospace;}
.wrap{max-width:1150px;margin:0 auto;padding-inline:clamp(16px,4vw,44px);}
img{max-width:100%;display:block;}

header.site{position:sticky;top:0;z-index:50;background:rgba(243,237,225,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);}
.nav{display:flex;align-items:center;justify-content:space-between;padding-block:12px;gap:14px;flex-wrap:wrap;}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;}
.brand-mark{width:38px;height:38px;border-radius:8px;background:var(--ink);color:var(--paper);display:flex;align-items:center;justify-content:center;font-weight:900;font-size:.8rem;transform:rotate(-3deg);}
.nav-links{display:flex;gap:18px;font-weight:600;font-size:.92rem;}
.nav-actions{display:flex;align-items:center;gap:12px;}
.icon-btn{position:relative;width:38px;height:38px;border-radius:10px;background:#fff;border:1px solid var(--line);display:flex;align-items:center;justify-content:center;}
.badge{position:absolute;top:-6px;left:-6px;background:var(--vermilion);color:#fff;font-size:.65rem;font-weight:700;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;padding:0 4px;}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-weight:700;padding:11px 20px;border-radius:10px;border:none;cursor:pointer;font-family:inherit;font-size:.92rem;}
.btn-primary{background:var(--ink);color:var(--paper);box-shadow:0 4px 0 var(--ink-2);}
.btn-primary:hover{transform:translateY(-1px);}
.btn-vermilion{background:var(--vermilion);color:#fff;box-shadow:0 3px 0 var(--vermilion-d);}
.btn-ghost{border:1.5px solid var(--charcoal);background:transparent;color:var(--charcoal);}
.btn-block{width:100%;}
.btn-sm{padding:8px 14px;font-size:.82rem;}

main{min-height:60vh;}
.page-head{padding-block:30px 16px;}
.page-head h1{font-size:clamp(1.5rem,3vw,2.1rem);margin:0 0 6px;font-weight:900;color:var(--ink-2);}
.page-head p{color:var(--muted);margin:0;}

.cat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-block:22px;}
@media (max-width:860px){.cat-grid{grid-template-columns:1fr;}}
.cat-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px 20px;display:block;}
.cat-tag{font-family:'JetBrains Mono',monospace;font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:#fff;padding:4px 10px;border-radius:999px;display:inline-block;margin-bottom:10px;font-weight:700;}

.prod-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-block:20px 40px;}
@media (max-width:980px){.prod-grid{grid-template-columns:repeat(2,1fr);}}
@media (max-width:560px){.prod-grid{grid-template-columns:1fr;}}
.prod-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;}
.prod-thumb{aspect-ratio:1;background:var(--paper-2);display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.8rem;}
.prod-body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1;}
.prod-brand{font-size:.7rem;color:var(--gold);font-weight:700;}
.prod-title{font-weight:700;font-size:.95rem;margin:0;color:var(--ink-2);}
.prod-code{font-family:'JetBrains Mono',monospace;font-size:.72rem;color:var(--muted);}
.prod-price{margin-top:auto;font-weight:800;font-family:'JetBrains Mono',monospace;color:var(--vermilion-d);}

.card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.grid-2{display:grid;grid-template-columns:1.1fr .9fr;gap:24px;}
@media (max-width:860px){.grid-2{grid-template-columns:1fr;}}

label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--ink-2);}
input,select,textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.92rem;background:#fff;color:var(--charcoal);}
input:focus,select:focus,textarea:focus{outline:2px solid var(--ink);outline-offset:1px;}
.field{margin-bottom:14px;}
.field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
@media (max-width:560px){.field-row{grid-template-columns:1fr;}}

table{width:100%;border-collapse:collapse;font-size:.9rem;}
thead th{text-align:center;font-size:.76rem;color:var(--muted);padding:10px 8px;border-bottom:1.5px solid var(--line);background:var(--paper-2);}
tbody td{text-align:center;padding:10px 8px;border-bottom:1px solid var(--line);}

.flash{padding:12px 16px;border-radius:10px;margin-bottom:16px;font-weight:600;font-size:.9rem;}
.flash-ok{background:#e6f2e9;color:#25603a;border:1px solid #bfe1c9;}
.flash-err{background:#fbe7e5;color:var(--vermilion-d);border:1px solid #f2c2bd;}

.status-pill{display:inline-block;padding:4px 12px;border-radius:999px;font-size:.72rem;font-weight:700;font-family:'JetBrains Mono',monospace;}
.st-pending_payment{background:#f4e3c2;color:#8a5a00;}
.st-awaiting_receipt_review{background:#e3e0f4;color:#4433a8;}
.st-paid{background:#d6ecdb;color:#25603a;}
.st-processing{background:#d3e6f2;color:#155a80;}
.st-shipped{background:#1c2a3e;color:#fff;}
.st-cancelled{background:#f3d6d3;color:var(--vermilion-d);}

footer.site{border-top:1px solid var(--line);padding-block:26px;margin-top:40px;color:var(--muted);font-size:.85rem;}
.foot-grid{display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px;align-items:center;}

/* ---------- ویجت چت ---------- */
#chat-launcher{position:fixed;bottom:20px;left:20px;z-index:200;width:58px;height:58px;border-radius:50%;background:var(--vermilion);color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.5rem;border:none;cursor:pointer;box-shadow:0 6px 18px rgba(193,59,46,.35);}
#chat-panel{position:fixed;bottom:88px;left:20px;z-index:200;width:min(340px,90vw);max-height:70vh;background:#fff;border:1px solid var(--line);border-radius:16px;box-shadow:0 12px 30px rgba(0,0,0,.18);display:none;flex-direction:column;overflow:hidden;}
#chat-panel.open{display:flex;}
.chat-head{background:var(--ink);color:var(--paper);padding:14px 16px;font-weight:700;font-size:.9rem;display:flex;justify-content:space-between;align-items:center;}
.chat-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:10px;background:var(--paper);}
.msg{max-width:85%;padding:9px 12px;border-radius:12px;font-size:.85rem;line-height:1.6;}
.msg.bot{background:#fff;border:1px solid var(--line);align-self:flex-start;border-bottom-right-radius:2px;}
.msg.user{background:var(--ink);color:#fff;align-self:flex-end;border-bottom-left-radius:2px;}
.chat-quick{display:flex;flex-wrap:wrap;gap:6px;padding:0 14px 10px;}
.chat-chip{background:#fff;border:1px solid var(--line);border-radius:999px;padding:6px 10px;font-size:.74rem;cursor:pointer;}
.chat-input{display:flex;border-top:1px solid var(--line);}
.chat-input input{border:none;border-radius:0;flex:1;}
.chat-input button{border:none;background:var(--vermilion);color:#fff;padding:0 18px;font-weight:700;cursor:pointer;}
