@font-face{font-family:'Vazirmatn';src:url('../../assets/fonts/Vazirmatn-Regular.ttf') format('truetype'),url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/ttf/Vazirmatn-Regular.ttf') format('truetype');font-weight:400;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../../assets/fonts/Vazirmatn-Bold.ttf') format('truetype'),url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/ttf/Vazirmatn-Bold.ttf') format('truetype');font-weight:700;font-display:swap}
@font-face{font-family:'Vazirmatn';src:url('../../assets/fonts/Vazirmatn-Black.ttf') format('truetype'),url('https://cdn.jsdelivr.net/gh/rastikerdar/vazirmatn@v33.003/fonts/ttf/Vazirmatn-Black.ttf') format('truetype');font-weight:900;font-display:swap}

*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;padding:0}
body{font-family:'Vazirmatn',Tahoma,Arial,sans-serif;background:#faf8f2;color:#142016;line-height:1.85;-webkit-text-size-adjust:100%}
a{color:inherit;text-decoration:none}
img{max-width:100%;display:block}
button,input,select{font-family:inherit}

:root{
  --green:#1F5D3B; --green-deep:#153F28; --gold:#d4a72c; --gold-deep:#c9930a;
  --bg:#faf8f2; --ink:#142016; --muted:#667064; --line:rgba(31,93,59,.14);
  --shadow-sm:0 4px 16px rgba(18,36,26,.06); --shadow-md:0 18px 44px rgba(18,36,26,.12);
  --red:#c0392b; --amber:#c9820a;
}

.wrap{max-width:720px;margin:0 auto;padding:0 20px}

/* ===== هدر ساده ===== */
.p-header{background:#fff;border-bottom:1px solid var(--line);padding:14px 0;position:sticky;top:0;z-index:20}
.p-header .row{display:flex;align-items:center;justify-content:space-between;gap:12px}
.p-brand{display:flex;align-items:center;gap:10px;font-weight:800;color:var(--green-deep);font-size:15px}
.p-brand img{width:34px;height:34px;border-radius:50%}
.p-header .actions{display:flex;align-items:center;gap:8px}
.p-logout{font-size:12.5px;color:var(--muted);border:1px solid var(--line);border-radius:8px;padding:6px 12px}
.cart-fab{position:relative;background:var(--green);color:#fff;border-radius:12px;padding:8px 14px;font-weight:800;font-size:13.5px;display:flex;align-items:center;gap:6px}
.cart-fab .badge{background:var(--gold);color:#2b2205;border-radius:999px;min-width:18px;height:18px;display:flex;align-items:center;justify-content:center;font-size:11px;padding:0 4px}

/* ===== بخش‌ها ===== */
.p-section{padding:22px 0}
.p-title{font-size:18px;font-weight:800;color:var(--green-deep);margin:0 0 4px}
.p-subtitle{font-size:13.5px;color:var(--muted);margin:0 0 16px}

/* ===== کارت‌ها ===== */
.p-card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:18px;box-shadow:var(--shadow-sm)}
.p-card + .p-card{margin-top:12px}

/* ===== فرم‌ها ===== */
.p-field{margin-bottom:14px}
.p-field label{display:block;font-weight:700;font-size:13.5px;color:var(--green-deep);margin-bottom:6px}
.p-field input,.p-field select{width:100%;border:1.5px solid var(--line);border-radius:10px;padding:12px 14px;font-size:16px;background:#fbfff8}
.p-field input:focus,.p-field select:focus{outline:none;border-color:var(--green)}
.p-hint{font-size:12px;color:var(--muted);margin-top:6px}

/* ===== دکمه‌ها ===== */
.p-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;font-weight:800;font-size:14.5px;cursor:pointer;border:0;padding:13px 20px;width:100%;transition:.2s}
.p-btn-primary{background:linear-gradient(135deg,var(--green),var(--green-deep));color:#fff;box-shadow:0 10px 22px rgba(31,93,59,.24)}
.p-btn-primary:hover{transform:translateY(-1px)}
.p-btn-accent{background:linear-gradient(135deg,#ffcc33,var(--gold));color:#2b2205;box-shadow:0 10px 22px rgba(212,167,44,.3)}
.p-btn-ghost{background:#fff;border:1.5px solid var(--line);color:var(--ink)}
.p-btn-sm{width:auto;padding:8px 14px;font-size:13px}
.goal-btn{background:#fff;border:1.5px solid var(--line);color:var(--muted)}
.goal-btn.active{background:rgba(31,93,59,.1);border-color:var(--green);color:var(--green-deep)}
.p-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}

/* ===== پیام‌ها ===== */
.p-alert{border-radius:10px;padding:12px 14px;font-size:13.5px;margin-bottom:14px}
.p-alert-error{background:#fdeceb;border:1px solid #f2a9a4;color:#8a1f1a}
.p-alert-ok{background:#eaf7ee;border:1px solid #a8dbb5;color:#1f5d3b}
.p-alert-warn{background:#fff8e2;border:1px solid #eecf7a;color:#7a5c05}

/* ===== بج‌ها ===== */
.p-badge{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;font-weight:800;border-radius:999px;padding:3px 9px}
.p-badge-green{background:rgba(31,93,59,.1);color:var(--green-deep)}
.p-badge-gold{background:rgba(212,167,44,.15);color:var(--gold-deep)}
.p-badge-red{background:rgba(192,57,43,.1);color:var(--red)}

/* ===== محصول ===== */
.p-item{display:flex;align-items:center;gap:12px}
.p-item .ic{flex:none;width:44px;height:44px;border-radius:12px;background:rgba(31,93,59,.08);display:flex;align-items:center;justify-content:center;font-size:20px}
.p-item .info{flex:1;min-width:0}
.p-item .info b{display:block;font-size:14.5px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p-item .info span{font-size:12px;color:var(--muted)}
.p-qty{display:flex;align-items:center;gap:6px;flex:none}
.p-qty button{width:30px;height:30px;border-radius:8px;border:1px solid var(--line);background:#fff;font-size:16px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center}
.p-qty span{min-width:22px;text-align:center;font-weight:800}

.p-search{position:relative;margin-bottom:16px}
.p-search input{width:100%;border:1.5px solid var(--line);border-radius:12px;padding:13px 42px 13px 14px;font-size:15px;background:#fff}
.p-search svg{position:absolute;top:50%;right:14px;transform:translateY(-50%);color:var(--muted)}

.p-loading{text-align:center;padding:30px 0;color:var(--muted);font-size:14px}
.p-empty{text-align:center;padding:30px 0;color:var(--muted);font-size:14px}

.cat-chip-row{display:flex;gap:8px;overflow-x:auto;padding:2px 0 14px;margin:0 -2px;-webkit-overflow-scrolling:touch}
.cat-chip-row::-webkit-scrollbar{display:none}
.cat-chip{flex:none;background:#fff;border:1.5px solid var(--line);border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:var(--muted);cursor:pointer;white-space:nowrap;transition:.2s}
.cat-chip.active{background:var(--green);border-color:var(--green);color:#fff}
.cat-hint{text-align:center;padding:26px 16px;color:var(--muted);font-size:13.5px;background:var(--bg);border:1px dashed var(--line);border-radius:14px}

footer.p-footer{text-align:center;padding:22px 0 36px;font-size:12.5px;color:var(--muted)}
footer.p-footer a{color:var(--green-deep);font-weight:700}

/* ===== سبد کشویی ===== */
.cart-drawer{position:fixed;inset:0;z-index:50;display:none}
.cart-drawer.open{display:block}
.cart-drawer .backdrop{position:absolute;inset:0;background:rgba(18,36,26,.45)}
.cart-drawer .panel{position:absolute;bottom:0;right:0;left:0;background:#fff;border-radius:20px 20px 0 0;max-height:82vh;display:flex;flex-direction:column;box-shadow:0 -20px 50px rgba(0,0,0,.2)}
.cart-drawer .panel-head{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid var(--line)}
.cart-drawer .panel-head h3{margin:0;font-size:16px}
.cart-drawer .close-btn{width:32px;height:32px;border-radius:50%;border:0;background:var(--bg);font-size:16px;cursor:pointer}
.cart-drawer .panel-body{overflow-y:auto;padding:14px 20px;flex:1}
.cart-drawer .panel-foot{padding:14px 20px;border-top:1px solid var(--line)}
.cart-line{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--line)}
.cart-line:last-child{border-bottom:0}
.cart-line .rm{flex:none;color:var(--red);font-size:12px;cursor:pointer;background:none;border:0;padding:4px}

@media(min-width:640px){
  .cart-drawer .panel{right:20px;left:auto;bottom:20px;width:400px;border-radius:20px;max-height:min(600px,80vh)}
}
