/* =========================================================
   DCA Panel — استایل اصلی (برگرفته از طراحی اولیه پنل DCA Detector)
   فونت وزیرمتن باید به صورت لوکال در assets/fonts قرار بگیرد (رجوع به README)
   ========================================================= */
@font-face{
  font-family:'Vazirmatn';
  src: url('../fonts/Vazirmatn-Regular.woff2') format('woff2');
  font-weight:400; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'Vazirmatn';
  src: url('../fonts/Vazirmatn-Bold.woff2') format('woff2');
  font-weight:700; font-style:normal; font-display:swap;
}
@font-face{
  font-family:'DCA Icons';
  src: url('../fonts/dca-icons.woff') format('woff'), url('../fonts/dca-icons.ttf') format('truetype');
  font-weight:normal; font-style:normal; font-display:block;
}
.icon{
  font-family:'DCA Icons' !important;
  font-style:normal; font-weight:normal;
  line-height:1; display:inline-block;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
  speak:none;
}
.icon-bell:before{ content:"\e900"; }
.icon-logout:before{ content:"\e901"; }
.icon-login:before{ content:"\e902"; }
.icon-home:before{ content:"\e903"; }
.icon-book:before{ content:"\e904"; }
.icon-plus:before{ content:"\e905"; }
.icon-cart:before{ content:"\e906"; }
.icon-user:before{ content:"\e907"; }
.icon-lock:before{ content:"\e908"; }
.icon-shield:before{ content:"\e909"; }
.icon-chat:before{ content:"\e90a"; }
.icon-faq:before{ content:"\e90b"; }
.icon-news:before{ content:"\e90c"; }
.icon-warning:before{ content:"\e90d"; }
.icon-chip:before{ content:"\e90e"; }
.icon-device:before{ content:"\e90f"; }
.icon-check:before{ content:"\e910"; }
.icon-send:before{ content:"\e911"; }
.icon-mic:before{ content:"\e912"; }
.icon-attach:before{ content:"\e913"; }
.icon-play:before{ content:"\e914"; }
.icon-pause:before{ content:"\e915"; }
.icon-back:before{ content:"\e916"; }
.icon-scan:before{ content:"\e917"; }
.icon-heart:before{ content:"\e918"; }
.icon-thumb:before{ content:"\e919"; }
.icon-flip-v{ display:inline-block; transform:scaleY(-1); }

:root{
  --bg:#0a0f0d;
  --bg-soft:#0f1613;
  --surface:#131c19;
  --surface-2:#182420;
  --line: rgba(232, 169, 61, .12);
  --line-strong: rgba(232, 169, 61, .28);
  --amber:#e8a93d;
  --amber-dim: rgba(232,169,61,.16);
  --teal:#2bd9a0;
  --teal-dim: rgba(43,217,160,.14);
  --text:#eaf2ee;
  --muted:#889a92;
  --muted-2:#5d6b64;
  --danger:#e85d4d;
  --radius:20px;
  --mono: 'JetBrains Mono', 'Courier New', monospace;
  --font: 'Vazirmatn', Tahoma, sans-serif;
}
body[data-theme="light"]{
  --bg:#f3f1ea;
  --bg-soft:#ece8dd;
  --surface:#ffffff;
  --surface-2:#f7f4ec;
  --line: rgba(120,90,20,.14);
  --line-strong: rgba(120,90,20,.28);
  --amber:#b4791a;
  --amber-dim: rgba(180,121,26,.12);
  --teal:#0f8c66;
  --teal-dim: rgba(15,140,102,.12);
  --text:#1b2320;
  --muted:#67736c;
  --muted-2:#93998f;
}
*{box-sizing:border-box; margin:0; padding:0;}
html,body{height:100%;}
body{
  font-family:var(--font);
  background:var(--bg);
  color:var(--text);
  display:flex;
  justify-content:center;
  -webkit-font-smoothing:antialiased;
  transition: background .4s ease, color .4s ease;
}
a{ color:inherit; }
.device{
  width:100%;
  max-width:430px;
  min-height:100vh;
  background:var(--bg);
  position:relative;
  overflow-x:hidden;
  display:flex;
  flex-direction:column;
}

/* ---------- Status / App bar ---------- */
.statusbar{
  display:flex; justify-content:space-between; align-items:center;
  padding:10px 22px 0; font-family:var(--mono); font-size:12px; color:var(--muted);
  letter-spacing:.5px;
}
.topbar{
  display:flex; align-items:center; justify-content:space-between;
  padding:14px 20px 6px; position:relative;
}
.brand{ display:flex; align-items:center; gap:10px; }
.brand-mark{
  width:38px; height:38px; border-radius:11px;
  background:linear-gradient(155deg, var(--amber), #b9781f);
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-weight:700; color:#0a0f0d; font-size:13px;
  box-shadow: 0 4px 14px rgba(232,169,61,.25);
}
.brand-name{ font-size:14.5px; font-weight:700; line-height:1.1; }
.brand-sub{ font-size:10.5px; color:var(--muted); font-family:var(--mono); letter-spacing:.6px; margin-top:2px;}
.top-actions{ display:flex; align-items:center; gap:8px; }
.icon-btn{
  width:38px; height:38px; border-radius:12px; background:var(--surface);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--text); position:relative; cursor:pointer; text-decoration:none;
}
.icon-btn .icon{ font-size:17px; }
.dot-badge{
  position:absolute; top:7px; left:7px; width:7px; height:7px; border-radius:50%;
  background:var(--danger); box-shadow:0 0 0 2px var(--bg);
}
.avatar{
  width:38px; height:38px; border-radius:12px; overflow:hidden; border:1px solid var(--line-strong);
  display:flex; align-items:center; justify-content:center; background:var(--surface-2);
  font-family:var(--mono); font-size:12px; color:var(--amber); font-weight:700;
}

/* ---------- Notification dropdown ---------- */
.notif-panel{
  position:absolute; top:60px; left:20px; width:min(320px, calc(100% - 40px));
  background:var(--surface); border:1px solid var(--line-strong); border-radius:16px;
  box-shadow:0 12px 30px rgba(0,0,0,.35); z-index:50; display:none; overflow:hidden;
}
.notif-panel.open{ display:block; }
.notif-panel-head{
  display:flex; justify-content:space-between; align-items:center; padding:12px 14px;
  border-bottom:1px solid var(--line); font-size:12.5px; font-weight:700;
}
.notif-panel-head button{
  background:none; border:none; color:var(--amber); font-family:var(--font); font-size:10.5px; cursor:pointer;
}
.notif-panel-body{ max-height:320px; overflow-y:auto; }
.notif-item{ display:flex; gap:10px; padding:11px 14px; border-bottom:1px solid var(--line); cursor:pointer; }
.notif-item:last-child{ border-bottom:none; }
.notif-item.is-unread{ background:var(--amber-dim); }
.notif-dot{ width:8px; height:8px; border-radius:50%; margin-top:5px; flex-shrink:0; background:var(--muted-2); }
.notif-type-warning{ background:var(--danger); }
.notif-type-success{ background:var(--teal); }
.notif-type-welcome{ background:var(--amber); }
.notif-title{ font-size:12px; font-weight:700; }
.notif-body{ font-size:11px; color:var(--muted); margin-top:2px; line-height:1.5; }
.notif-time{ font-size:9.5px; color:var(--muted-2); margin-top:4px; font-family:var(--mono); }
.notif-empty{ padding:20px; text-align:center; color:var(--muted); font-size:12px; }

.notif-list-page{ display:flex; flex-direction:column; gap:8px; }
.notif-row{
  display:flex; gap:10px; padding:13px 15px; border-radius:14px; background:var(--surface);
  border:1px solid var(--line);
}
.notif-row.is-unread{ border-color:var(--line-strong); background:var(--amber-dim); }

/* ---------- Hero / radar readout ---------- */
.hero{
  margin:10px 20px 4px;
  border-radius:26px;
  background: radial-gradient(120% 160% at 100% 0%, rgba(232,169,61,.10), transparent 55%), var(--surface);
  border:1px solid var(--line);
  padding:20px;
  position:relative;
  overflow:clip;
}
.radar-wrap{ position:absolute; left:-38px; top:-38px; width:150px; height:150px; opacity:.9; }
.radar-ring{ position:absolute; inset:0; border-radius:50%; border:1px solid var(--line-strong); }
.radar-ring.r2{ inset:20px; }
.radar-ring.r3{ inset:40px; }
.radar-sweep{
  position:absolute; inset:0; border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0deg, var(--teal) 8deg, transparent 55deg);
  animation: spin 3.6s linear infinite;
  mix-blend-mode:screen;
}
body[data-theme="light"] .radar-sweep{ mix-blend-mode:multiply; opacity:.5;}
@keyframes spin{ to{ transform: rotate(360deg);} }
.radar-blip{
  position:absolute; width:5px; height:5px; border-radius:50%; background:var(--teal);
  box-shadow:0 0 8px 2px var(--teal);
  animation: blip 2.2s ease-in-out infinite;
}
@keyframes blip{ 0%,100%{opacity:.2;} 50%{opacity:1;} }

.hero-row{ position:relative; z-index:2; display:flex; justify-content:space-between; align-items:flex-start;}
.hero-eyebrow{ font-family:var(--mono); font-size:10.5px; color:var(--amber); letter-spacing:1px; text-transform:uppercase;}
.hero-code{ font-family:var(--mono); font-size:20px; font-weight:700; margin-top:6px; letter-spacing:.5px;}
.hero-name{ font-size:13px; color:var(--muted); margin-top:4px;}
.level-chip{
  font-family:var(--mono); font-size:10.5px; font-weight:700; padding:5px 11px; border-radius:999px;
  background:var(--amber-dim); color:var(--amber); border:1px solid var(--line-strong);
  white-space:nowrap;
}
.hero-stats{ position:relative; z-index:2; display:flex; gap:8px; margin-top:16px;}
.stat{ flex:1; background:var(--surface-2); border:1px solid var(--line); border-radius:14px; padding:10px 12px; text-align:center; }
.stat-num{ font-family:var(--mono); font-size:17px; font-weight:700;}
.stat-num.warn{ color:var(--danger); }
.stat-num.ok{ color:var(--teal); }
.stat-label{ font-size:10.5px; color:var(--muted); margin-top:3px;}

/* ---------- Section labels ---------- */
.section{ padding:18px 20px 0; }
.section-head{ display:flex; justify-content:space-between; align-items:baseline; margin-bottom:12px;}
.section-title{ font-size:14.5px; font-weight:700; }
.section-more{ font-size:11.5px; color:var(--muted); font-family:var(--mono);}

/* ---------- Grid cards ---------- */
.grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:10px; }
.card{
  background:var(--surface); border:1px solid var(--line); border-radius:18px;
  padding:14px 8px; display:flex; flex-direction:column; align-items:center; gap:8px;
  text-align:center; cursor:pointer; text-decoration:none; color:var(--text);
  transition: border-color .2s ease, transform .15s ease;
}
.card:active{ transform:scale(.96); }
.card-ic{ width:38px; height:38px; border-radius:12px; display:flex; align-items:center; justify-content:center; background:var(--surface-2); color:var(--amber); }
.card-ic .icon{ font-size:19px; }
.card-label{ font-size:11.5px; font-weight:600; line-height:1.3; }
.card.accent .card-ic{ background:var(--teal-dim); color:var(--teal); }
.card.is-locked{ opacity:.5; cursor:not-allowed; }
.card.is-locked .card-ic{ color:var(--muted-2); }

/* ---------- Devices strip ---------- */
.device-strip{ display:flex; gap:10px; overflow-x:auto; padding-bottom:4px; scrollbar-width:none;}
.device-strip::-webkit-scrollbar{ display:none; }
.dev-card{ min-width:172px; background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:14px; position:relative; overflow:hidden; }
.dev-card-add{
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:8px;
  border:1px dashed var(--line-strong); background:none; text-decoration:none; color:var(--amber);
}
.dev-card-add-ic{
  width:34px; height:34px; border-radius:50%; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center;
}
.dev-card-add-ic .icon{ font-size:14px; }
.dev-card-add-label{ font-size:11px; font-weight:700; color:var(--text); }
.dev-card::after{ content:""; position:absolute; inset:0; background:linear-gradient(160deg, transparent 60%, var(--amber-dim)); }
.dev-name{ font-size:12.5px; font-weight:700; position:relative; z-index:1;}
.dev-serial{ font-family:var(--mono); font-size:10px; color:var(--muted); margin-top:4px; position:relative; z-index:1;}
.dev-status{ display:inline-flex; align-items:center; gap:5px; margin-top:10px; font-size:10px; font-family:var(--mono); color:var(--teal); position:relative; z-index:1; }
.dev-status .pulse{ width:6px; height:6px; border-radius:50%; background:var(--teal); animation: blip 1.6s infinite; }

/* ---------- Notice ---------- */
.notice{ margin:16px 20px 0; padding:13px 15px; border-radius:16px; background:var(--surface); border:1px solid var(--line-strong); display:flex; gap:11px; align-items:flex-start; }
.notice-ic{ color:var(--danger); flex-shrink:0; margin-top:1px;}
.notice-ic .icon{ font-size:18px; }
.notice-title{ font-size:12px; font-weight:700; }
.notice-body{ font-size:11.5px; color:var(--muted); margin-top:3px; line-height:1.5;}

/* ---------- Bottom nav ---------- */
.bottom-nav{
  margin-top:40px; position:sticky; bottom:0;
  display:flex; justify-content:space-around; align-items:center;
  padding:10px 10px calc(10px + env(safe-area-inset-bottom));
  background:var(--bg-soft); border-top:1px solid var(--line);
  backdrop-filter: blur(10px);
}
.nav-item{ display:flex; flex-direction:column; align-items:center; gap:4px; color:var(--muted-2); font-size:9.5px; font-weight:600; position:relative; text-decoration:none;}
.nav-item .icon{ font-size:19px; }
.nav-item.active{ color:var(--amber); }
.nav-item.active::before{ content:""; position:absolute; top:-10px; width:16px; height:2.5px; border-radius:2px; background:var(--amber); }
.nav-fab{
  width:46px; height:46px; border-radius:15px; margin-top:-24px;
  background:linear-gradient(155deg, var(--amber), #b9781f);
  display:flex; align-items:center; justify-content:center; color:#0a0f0d;
  box-shadow:0 8px 18px rgba(232,169,61,.35); text-decoration:none;
}
.nav-fab .icon{ font-size:20px; }

::selection{ background:var(--amber-dim); }

/* =========================================================
   صفحه ورود / ثبت‌نام
   ========================================================= */
.auth-wrap{ padding:40px 24px; max-width:400px; margin:0 auto; width:100%; }
.auth-brand{ text-align:center; display:flex; flex-direction:column; align-items:center; margin-bottom:28px; }
.auth-tabs{ display:flex; background:var(--surface); border:1px solid var(--line); border-radius:14px; padding:4px; margin-bottom:20px; }
.auth-tab{
  flex:1; border:none; background:none; color:var(--muted); font-family:var(--font); font-size:13px; font-weight:700;
  padding:10px; border-radius:10px; cursor:pointer;
}
.auth-tab.active{ background:var(--amber); color:#0a0f0d; }
.auth-form{ display:none; flex-direction:column; gap:14px; }
.auth-form.active{ display:flex; }
.field label{ font-size:12px; color:var(--muted); display:block; margin-bottom:6px; }
.field input{
  width:100%; padding:13px 14px; border-radius:12px; background:var(--surface); border:1px solid var(--line);
  color:var(--text); font-family:var(--font); font-size:14px;
}
.field input:focus{ outline:none; border-color:var(--amber); }
.field select{
  width:100%; padding:13px 14px; border-radius:12px; background:var(--surface); border:1px solid var(--line);
  color:var(--text); font-family:var(--font); font-size:14px;
}
.field select:focus{ outline:none; border-color:var(--amber); }
.field input[type="file"]{ padding:10px 12px; font-size:12.5px; color:var(--muted); }
.remember-row{ display:flex; align-items:center; gap:8px; font-size:12px; color:var(--muted); }
.auth-links-row{ display:flex; justify-content:space-between; margin-top:14px; font-size:11.5px; }
.auth-links-row.single{ justify-content:center; }
.auth-links-row a, .auth-back-link{ color:var(--amber); text-decoration:none; }
.otp-resend-row{ display:flex; justify-content:space-between; align-items:center; margin-top:8px; font-size:11px; color:var(--muted); }
.otp-resend-row a{ color:var(--amber); text-decoration:none; }
.otp-resend-row a.is-disabled{ color:var(--muted-2); pointer-events:none; }
.auth-submit{
  margin-top:6px; padding:14px; border:none; border-radius:12px; background:linear-gradient(155deg, var(--amber), #b9781f);
  color:#0a0f0d; font-family:var(--font); font-weight:700; font-size:14px; cursor:pointer;
}
.auth-submit:disabled{ opacity:.6; cursor:not-allowed; }
.auth-msg{ padding:11px 14px; border-radius:12px; font-size:12.5px; margin-bottom:16px; }
.auth-msg.error{ background:rgba(232,93,77,.14); color:var(--danger); border:1px solid rgba(232,93,77,.3); }
.auth-msg.success{ background:var(--teal-dim); color:var(--teal); border:1px solid rgba(43,217,160,.3); }

/* =========================================================
   آموزش‌ها
   ========================================================= */
.tutorial-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.tutorial-card{ background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden; text-decoration:none; color:var(--text); position:relative; }
.tutorial-thumb{ aspect-ratio:4/3.4; background:var(--surface-2); position:relative; overflow:hidden; }
.tutorial-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.tutorial-thumb-fallback{ width:100%; height:100%; background:linear-gradient(160deg, var(--surface-2), var(--surface)); }
.tutorial-card.is-locked .tutorial-thumb img{ filter: blur(3px) brightness(.6); }
.tutorial-lock-badge{
  position:absolute; inset:0; display:flex; align-items:center; justify-content:center; color:var(--amber);
}
.tutorial-lock-badge .icon{ font-size:26px; }
.tutorial-title{ font-size:12px; font-weight:700; padding:12px 11px 10px; line-height:1.6; min-height:2.6em; }
.tutorial-badge-special{ font-size:9.5px; color:var(--amber); font-family:var(--mono); padding:0 10px 10px; }
.pagination-wrap{ padding:16px 0 24px; text-align:center; }
.pagination-wrap a, .pagination-wrap span{ color:var(--muted); font-size:12px; margin:0 4px; text-decoration:none; }

.tutorial-single-thumb{ border-radius:18px; overflow:hidden; margin-bottom:16px; }
.tutorial-single-thumb img{ width:100%; display:block; }
.tutorial-single-title{ font-size:18px; font-weight:700; margin-bottom:12px; }
.tutorial-single-content{ font-size:13.5px; line-height:2; color:var(--text); }
.tutorial-single-content p{ margin-bottom:12px; }

.dca-locked-tutorial{ padding:10px 0; }
.dca-locked-excerpt{ font-size:13px; color:var(--muted); line-height:1.9; margin-bottom:16px; }
.dca-locked-box{ background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; padding:24px; text-align:center; }
.dca-locked-ic{ color:var(--amber); display:flex; justify-content:center; margin-bottom:10px; }
.dca-locked-ic .icon{ font-size:30px; }
.dca-locked-title{ font-size:14px; font-weight:700; margin-bottom:6px; }
.dca-locked-body{ font-size:12px; color:var(--muted); line-height:1.8; }

@media (max-width:430px){
  .tutorial-grid{ grid-template-columns:repeat(2,1fr); }
}

/* =========================================================
   کارت‌های دسته‌بندی آموزش‌ها
   ========================================================= */
.category-grid{ display:grid; grid-template-columns:repeat(2,1fr); gap:12px; }
.category-card{
  display:flex; flex-direction:column; align-items:center; text-align:center; gap:8px;
  background:var(--surface); border:1px solid var(--line); border-radius:18px; padding:22px 14px;
  text-decoration:none; color:var(--text); position:relative; overflow:hidden;
}
.category-card::before{
  content:""; position:absolute; inset:0; background:radial-gradient(120% 120% at 100% 0%, rgba(232,169,61,.10), transparent 55%);
}
.category-card-ic{
  width:46px; height:46px; border-radius:14px; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; position:relative; z-index:1;
}
.category-card-ic .icon{ font-size:20px; }
.category-card-name{ font-size:13px; font-weight:700; position:relative; z-index:1; }
.category-card-count{ font-size:10.5px; color:var(--muted); font-family:var(--mono); position:relative; z-index:1; }

/* =========================================================
   صفحه اصلی — هیرو + آخرین نوشته‌ها
   ========================================================= */
.home-hero{
  margin:10px 20px 4px;
  border-radius:26px;
  background: radial-gradient(120% 160% at 100% 0%, rgba(232,169,61,.10), transparent 55%), var(--surface);
  border:1px solid var(--line);
  padding:22px 20px;
}
.home-hero-eyebrow{ font-family:var(--mono); font-size:10.5px; color:var(--amber); letter-spacing:1.5px; }
.home-hero-title{ font-size:18px; font-weight:700; margin-top:8px; line-height:1.5; }
.home-hero-sub{ font-size:12.5px; color:var(--muted); margin-top:6px; line-height:1.8; }
.home-hero-cta{
  display:inline-block; margin-top:14px; padding:10px 16px; border-radius:12px;
  background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d; font-weight:700;
  font-size:12.5px; text-decoration:none;
}

.post-list{ display:flex; flex-direction:column; gap:12px; }
.post-card{
  display:flex; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:16px;
  padding:10px; text-decoration:none; color:var(--text);
}
.post-card-thumb{ width:96px; height:96px; flex-shrink:0; border-radius:12px; overflow:hidden; background:var(--surface-2); }
.post-card-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.post-card-body{ flex:1; min-width:0; padding:2px 2px 2px 0; }
.post-card-title{ font-size:13px; font-weight:700; line-height:1.5; }
.post-card-excerpt{ font-size:11.5px; color:var(--muted); margin-top:4px; line-height:1.7; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.post-card-meta{ font-size:10px; color:var(--muted-2); margin-top:6px; font-family:var(--mono); }

/* =========================================================
   چت پشتیبانی — استایل شبیه واتس‌آپ
   ========================================================= */
.chat-page{ display:flex; flex-direction:column; height:100dvh; height:100vh; }

.chat-header{
  display:flex; align-items:center; gap:12px; padding:12px 16px;
  border-bottom:1px solid var(--line); background:var(--bg-soft);
  position:sticky; top:0; z-index:6; flex-shrink:0;
}
.chat-back{
  width:34px; height:34px; border-radius:10px; background:var(--surface);
  border:1px solid var(--line); display:flex; align-items:center; justify-content:center;
  color:var(--text); text-decoration:none; flex-shrink:0;
}
.chat-back .icon{ font-size:15px; display:inline-block; transform:scaleX(-1); }
.chat-agent-avatar{
  width:40px; height:40px; border-radius:50%; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; font-weight:700; flex-shrink:0; font-size:13px;
}
.chat-agent-name{ font-size:13.5px; font-weight:700; }
.chat-agent-status{ font-size:10.5px; color:var(--teal); margin-top:2px; display:flex; align-items:center; gap:5px;}
.chat-agent-status .dot{ width:6px; height:6px; border-radius:50%; background:var(--teal); }

.chat-messages{
  flex:1; overflow-y:auto; padding:16px 12px 10px;
  display:flex; flex-direction:column; gap:3px;
  direction:ltr; /* ترتیب حباب‌ها همیشه شبیه واتس‌آپ (پیام خودم راست) صرف‌نظر از جهت سایت */
  background:
    radial-gradient(rgba(232,169,61,.05) 1px, transparent 1px);
  background-size:18px 18px;
}
.chat-date-sep-wrap{ display:flex; justify-content:center; direction:rtl; margin:10px 0; }
.chat-date-sep{ font-size:10.5px; color:var(--muted); background:var(--surface); border:1px solid var(--line); padding:4px 14px; border-radius:10px; }

.msg-row{ display:flex; width:100%; margin:3px 0; }
.msg-row.own{ justify-content:flex-end; }
.msg-row.other{ justify-content:flex-start; }

.bubble{
  direction:rtl; text-align:right; max-width:78%;
  padding:8px 12px 6px; border-radius:16px; position:relative; font-size:13.5px; line-height:1.8;
  word-wrap:break-word; white-space:pre-wrap;
}
.bubble.own{ background:rgba(232,169,61,.20); border:1px solid var(--line-strong); border-bottom-right-radius:4px; }
.bubble.other{ background:var(--surface-2); border:1px solid var(--line); border-bottom-left-radius:4px; }

.bubble-meta{ display:flex; align-items:center; justify-content:flex-end; gap:4px; margin-top:4px; direction:ltr; }
.bubble-time{ font-size:9.5px; color:var(--muted-2); font-family:var(--mono); }
.bubble-ticks{ display:flex; align-items:center; }
.bubble-ticks .icon{ font-size:11px; color:var(--muted-2); }
.bubble-ticks.read .icon{ color:var(--teal); }
.bubble-ticks .icon + .icon{ margin-left:-6px; }

.bubble.image{ padding:4px; }
.bubble.image img{ display:block; max-width:220px; max-height:280px; width:100%; border-radius:12px; cursor:pointer; object-fit:cover; }
.bubble.image .bubble-meta{ padding:4px 6px 2px; }

.voice-player{ display:flex; align-items:center; gap:10px; min-width:190px; padding:2px 2px 2px 0; }
.voice-play-btn{
  width:32px; height:32px; border-radius:50%; background:var(--amber); color:#0a0f0d;
  display:flex; align-items:center; justify-content:center; flex-shrink:0; cursor:pointer; border:none;
}
.voice-play-btn .icon{ font-size:12px; }
.voice-track{ flex:1; height:4px; background:var(--line-strong); border-radius:2px; position:relative; cursor:pointer; }
.voice-progress{ position:absolute; right:0; top:0; bottom:0; background:var(--amber); border-radius:2px; width:0%; }
.voice-duration{ font-size:10px; color:var(--muted); font-family:var(--mono); flex-shrink:0; min-width:30px; text-align:left;}

.chat-empty{ text-align:center; color:var(--muted); font-size:12.5px; padding:50px 20px; direction:rtl; }

.chat-input-area{ flex-shrink:0; border-top:1px solid var(--line); background:var(--bg-soft); }

.chat-preview-bar{ display:none; align-items:center; gap:10px; padding:10px 14px; border-bottom:1px solid var(--line); }
.chat-preview-bar.active{ display:flex; }
.chat-preview-thumb{ width:52px; height:52px; border-radius:10px; overflow:hidden; flex-shrink:0; background:var(--surface-2); }
.chat-preview-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.chat-preview-info{ flex:1; min-width:0; }
.chat-preview-label{ font-size:12px; color:var(--muted); }
.chat-preview-progress-track{ height:4px; background:var(--line); border-radius:2px; margin-top:8px; overflow:hidden; }
.chat-preview-progress-fill{ height:100%; width:0%; background:linear-gradient(155deg, var(--amber), #b9781f); border-radius:2px; transition:width .15s ease; }
.chat-preview-cancel{ background:none; border:none; color:var(--danger); font-size:20px; cursor:pointer; line-height:1; padding:4px; flex-shrink:0; }
.chat-preview-send{ background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d; border:none; border-radius:10px; padding:9px 16px; font-weight:700; font-size:12.5px; cursor:pointer; font-family:var(--font); flex-shrink:0; }
.chat-preview-send:disabled{ opacity:.5; cursor:not-allowed; }
.chat-preview-cancel:disabled{ opacity:.3; cursor:not-allowed; }

.chat-input-bar{ display:flex; align-items:center; gap:8px; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); }
.chat-input-wrap{
  flex:1; background:var(--surface); border:1px solid var(--line); border-radius:22px;
  padding:6px 6px 6px 14px; display:flex; align-items:center; gap:6px; min-height:44px;
}
.chat-textarea{
  flex:1; border:none; background:none; resize:none; max-height:100px; min-height:22px;
  font-family:var(--font); font-size:13.5px; color:var(--text); line-height:1.6; padding:6px 2px;
}
.chat-textarea:focus{ outline:none; }
.chat-attach-btn{
  width:34px; height:34px; border-radius:50%; background:none; border:none; color:var(--muted);
  display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0;
}
.chat-attach-btn .icon{ font-size:17px; }
.chat-send-btn, .chat-mic-btn{
  width:44px; height:44px; border-radius:50%; border:none; flex-shrink:0;
  background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d;
  display:flex; align-items:center; justify-content:center; cursor:pointer;
}
.chat-send-btn .icon{ font-size:16px; transform:scaleX(-1); }
.chat-mic-btn .icon{ font-size:17px; }
.chat-mic-btn.recording{ background:var(--danger); color:#fff; animation:recPulse 1s ease-in-out infinite; }
@keyframes recPulse{ 0%,100%{ transform:scale(1);} 50%{ transform:scale(1.1);} }

.chat-recording-bar{ display:none; align-items:center; gap:12px; flex:1; padding:6px 16px 6px 6px; }
.chat-recording-bar.active{ display:flex; }
.rec-dot{ width:9px; height:9px; border-radius:50%; background:var(--danger); animation:blip 1s infinite; flex-shrink:0;}
.rec-timer{ font-family:var(--mono); font-size:13px; flex-shrink:0; }
.rec-hint{ font-size:11px; color:var(--muted); flex:1; }
.rec-cancel{ background:none; border:none; color:var(--danger); font-size:12px; cursor:pointer; font-family:var(--font); flex-shrink:0; }

.chat-lightbox{
  position:fixed; inset:0; background:rgba(0,0,0,.9); z-index:200; display:none;
  align-items:center; justify-content:center; padding:24px;
}
.chat-lightbox.open{ display:flex; }
.chat-lightbox img{ max-width:100%; max-height:100%; border-radius:8px; }
.chat-lightbox-close{ position:absolute; top:20px; left:20px; color:#fff; font-size:28px; background:none; border:none; cursor:pointer; }

.chat-error-banner{
  display:none; direction:rtl; text-align:center; font-size:11.5px; color:var(--danger);
  background:rgba(232,93,77,.14); border-top:1px solid rgba(232,93,77,.3); padding:8px 14px;
}
.chat-error-banner.show{ display:block; }

/* =========================================================
   دستگاه‌ها و گارانتی من
   ========================================================= */
.empty-state{ text-align:center; padding:50px 20px; color:var(--muted); }
.empty-state-ic{ font-size:36px; color:var(--muted-2); margin-bottom:14px; }
.empty-state-title{ font-size:13.5px; font-weight:700; color:var(--text); margin-bottom:6px; }
.empty-state-body{ font-size:12px; line-height:1.8; }

.my-products-list{ display:flex; flex-direction:column; gap:12px; }
.product-item-card{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:14px; }
.product-item-head{ display:flex; align-items:center; gap:10px; margin-bottom:12px; }
.product-item-ic{
  width:38px; height:38px; border-radius:11px; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.product-item-ic .icon{ font-size:17px; }
.product-item-title-wrap{ flex:1; min-width:0; }
.product-item-title{ font-size:13px; font-weight:700; }
.product-item-serial{ font-size:10.5px; color:var(--muted); font-family:var(--mono); margin-top:2px; }
.status-badge{ font-size:10px; font-weight:700; padding:4px 10px; border-radius:8px; font-family:var(--mono); flex-shrink:0; }
.status-badge.ok{ background:var(--teal-dim); color:var(--teal); }
.status-badge.warn{ background:rgba(232,169,61,.16); color:var(--amber); }
.status-badge.expired{ background:rgba(232,93,77,.14); color:var(--danger); }
.product-item-grid{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.product-item-stat{ background:var(--surface-2); border-radius:10px; padding:8px 10px; }
.product-item-stat-label{ font-size:10px; color:var(--muted); }
.product-item-stat-val{ font-size:12px; font-weight:700; margin-top:3px; font-family:var(--mono); }
.product-item-note{ font-size:11.5px; color:var(--muted); margin-top:10px; padding-top:10px; border-top:1px solid var(--line); line-height:1.8; }

.request-toggle-btn{
  width:100%; display:flex; align-items:center; justify-content:center; gap:8px; margin-top:16px;
  background:var(--surface); border:1px dashed var(--line-strong); color:var(--amber); border-radius:14px;
  padding:13px; font-family:var(--font); font-weight:700; font-size:12.5px; cursor:pointer;
}
.request-toggle-btn .icon{ font-size:14px; }
.request-toggle-btn.is-active{ background:var(--amber-dim); }

.device-request-form{ background:var(--surface); border:1px solid var(--line-strong); border-radius:16px; padding:16px; margin-top:12px; }
.device-request-form .field{ margin-bottom:14px; }
.dr-date-row{ display:grid; grid-template-columns:1fr 1.3fr 1fr; gap:6px; }
.dr-date-row select{ padding:11px 6px; font-size:12.5px; }

/* =========================================================
   تجربه کاوشگران — فید Pinterest-وار
   ========================================================= */
.exp-feed{ column-count:2; column-gap:12px; }
.exp-card{
  break-inside:avoid; margin-bottom:12px; background:var(--surface); border:1px solid var(--line);
  border-radius:16px; overflow:hidden; display:inline-block; width:100%;
}
.exp-card-img img{ width:100%; display:block; cursor:pointer; }
.exp-card-body{ padding:12px; }
.exp-card-text{ font-size:12.5px; line-height:1.8; white-space:pre-wrap; color:var(--text); cursor:pointer; }
.exp-card-text.truncated{ display:-webkit-box; -webkit-line-clamp:5; -webkit-box-orient:vertical; overflow:hidden; }
.exp-card-meta{ font-size:10px; color:var(--muted-2); margin-top:9px; font-family:var(--mono); }
.exp-author{ color:var(--amber); font-weight:700; }
.exp-card-actions{ display:flex; gap:6px; margin-top:10px; }
.exp-like-btn, .exp-vote-btn{
  flex:1; display:flex; align-items:center; justify-content:center; gap:5px; background:var(--surface-2);
  border:1px solid var(--line); border-radius:10px; padding:7px 4px; font-size:11px; color:var(--muted);
  cursor:pointer; font-family:var(--mono);
}
.exp-like-btn .icon, .exp-vote-btn .icon{ font-size:13px; }
.exp-like-btn.active{ background:rgba(232,93,77,.14); border-color:rgba(232,93,77,.3); color:var(--danger); }
.exp-vote-btn.approve.active{ background:var(--teal-dim); border-color:rgba(43,217,160,.3); color:var(--teal); }
.exp-vote-btn.reject.active{ background:rgba(232,93,77,.14); border-color:rgba(232,93,77,.3); color:var(--danger); }
.exp-feed-empty{ text-align:center; padding:40px 20px; color:var(--muted); font-size:12.5px; }
.exp-feed-loading{ text-align:center; padding:16px; color:var(--muted); font-size:11.5px; }
.dr-progress-track{ height:4px; background:var(--line); border-radius:2px; margin-bottom:14px; overflow:hidden; }
.dr-progress-fill{ height:100%; width:0%; background:linear-gradient(155deg, var(--amber), #b9781f); border-radius:2px; transition:width .15s ease; }

/* =========================================================
   پروفایل کاربری
   ========================================================= */
.profile-card{ display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:14px; margin-bottom:16px; }
.profile-avatar{
  width:52px; height:52px; border-radius:50%; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:17px; flex-shrink:0;
  border:1px solid var(--line-strong);
}
.profile-name{ font-size:14px; font-weight:700; }
.profile-code{ font-size:11px; color:var(--muted); font-family:var(--mono); margin-top:2px; }

.profile-readonly-row{ display:flex; justify-content:space-between; align-items:center; padding:12px 14px; background:var(--surface); border:1px solid var(--line); border-radius:12px; margin-bottom:8px; }
.profile-readonly-label{ font-size:11.5px; color:var(--muted); }
.profile-readonly-val{ font-size:12.5px; font-weight:700; font-family:var(--mono); }

.profile-msg{ padding:11px 14px; border-radius:12px; font-size:12.5px; margin:14px 0; }
.profile-msg.error{ background:rgba(232,93,77,.14); color:var(--danger); border:1px solid rgba(232,93,77,.3); }
.profile-msg.success{ background:var(--teal-dim); color:var(--teal); border:1px solid rgba(43,217,160,.3); }

.profile-form-block{ background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:16px; margin-top:14px; }
.profile-form-title{ font-size:13px; font-weight:700; margin-bottom:14px; }
.profile-form-block .field{ margin-bottom:14px; }
.profile-form-block .auth-submit{ width:100%; }

/* =========================================================
   لیست نرم‌افزارها
   ========================================================= */
.software-list{ display:flex; flex-direction:column; gap:10px; }
.software-row{
  display:flex; align-items:center; gap:12px; background:var(--surface); border:1px solid var(--line);
  border-radius:16px; padding:12px 14px;
}
.software-ic{
  width:42px; height:42px; border-radius:12px; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; flex-shrink:0;
}
.software-ic .icon{ font-size:19px; }
.software-info{ flex:1; min-width:0; }
.software-title-row{ display:flex; align-items:baseline; gap:8px; flex-wrap:wrap; }
.software-title{ font-size:13px; font-weight:700; }
.software-version{ font-size:10px; color:var(--amber); font-family:var(--mono); background:var(--amber-dim); padding:2px 8px; border-radius:8px; }
.software-desc{ font-size:11.5px; color:var(--muted); margin-top:4px; line-height:1.7; }
.software-size{ font-size:10px; color:var(--muted-2); margin-top:4px; font-family:var(--mono); }
.software-download{
  flex-shrink:0; background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d;
  font-size:11.5px; font-weight:700; padding:9px 14px; border-radius:10px; text-decoration:none;
}
.software-download.is-disabled{ background:var(--surface-2); color:var(--muted-2); }

/* =========================================================
   فروشگاه (ووکامرس) — گرید محصولات
   ========================================================= */
.shop-toolbar{ display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px; flex-wrap:wrap; }
.woocommerce-result-count{ font-size:11.5px; color:var(--muted); margin:0; }
.woocommerce-ordering{ margin:0; }
.woocommerce-ordering select{
  background:var(--surface); color:var(--text); border:1px solid var(--line); border-radius:10px;
  padding:7px 10px; font-family:var(--font); font-size:11.5px;
}

ul.products{
  display:grid; grid-template-columns:repeat(2,1fr); gap:12px; list-style:none; margin:0; padding:0;
}
li.product-card-item{ list-style:none; }
.product-card{
  display:block; background:var(--surface); border:1px solid var(--line); border-radius:16px; overflow:hidden;
  text-decoration:none; color:var(--text);
}
.product-card-thumb{ position:relative; aspect-ratio:1/1; background:var(--surface-2); overflow:hidden; }
.product-card-thumb img{ width:100%; height:100%; object-fit:cover; display:block; }
.product-badge{
  position:absolute; top:8px; right:8px; font-size:9.5px; font-weight:700; padding:3px 9px; border-radius:8px;
  font-family:var(--mono);
}
.product-badge.sale{ background:var(--danger); color:#fff; }
.product-badge.out{ background:var(--muted-2); color:#fff; }
.product-card-body{ padding:10px 11px 4px; }
.product-card-title{ font-size:12px; font-weight:700; line-height:1.5; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.4em; }
.product-card-rating{ display:flex; align-items:center; gap:5px; margin-top:5px; }
.stars{ position:relative; display:inline-block; font-size:11px; line-height:1; color:var(--line-strong); font-family:serif; }
.stars::before{ content:"★★★★★"; letter-spacing:1px; }
.stars::after{
  content:"★★★★★"; letter-spacing:1px; position:absolute; top:0; right:0; overflow:hidden;
  width:calc(var(--rating, 0) / 5 * 100%); color:var(--amber); white-space:nowrap;
}
.rating-count{ font-size:9.5px; color:var(--muted-2); }
.product-card-price{ font-size:12.5px; font-weight:700; color:var(--amber); margin:6px 0 10px; font-family:var(--mono); }
.product-card-price ins{ text-decoration:none; }
.product-card-price del{ color:var(--muted-2); font-size:10.5px; margin-inline-end:6px; }
.product-card-cta{ padding:0 11px 11px; }
.product-card-add-btn{
  display:block; text-align:center; background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d;
  font-size:11.5px; font-weight:700; padding:9px; border-radius:10px; text-decoration:none;
}
.product-card-add-btn.added{ background:var(--teal-dim); color:var(--teal); }
.product-card-add-btn.loading{ opacity:.6; pointer-events:none; }

.shop-pagination{ padding:18px 0 8px; text-align:center; }
.shop-pagination .page-numbers{ display:inline-flex; gap:6px; list-style:none; padding:0; margin:0; }
.shop-pagination .page-numbers li{ display:inline-block; }
.shop-pagination a, .shop-pagination span{
  display:inline-block; min-width:30px; text-align:center; padding:6px 8px; border-radius:8px;
  background:var(--surface); border:1px solid var(--line); color:var(--muted); font-size:11.5px; text-decoration:none;
}
.shop-pagination .current{ background:var(--amber); color:#0a0f0d; border-color:var(--amber); }

/* =========================================================
   صفحه تک محصول
   ========================================================= */
.single-product-wrap .woocommerce-product-gallery{ border-radius:18px; overflow:hidden; background:var(--surface-2); margin-bottom:16px; }
.single-product-wrap .woocommerce-product-gallery__wrapper{ margin:0; padding:0; }
.single-product-wrap .woocommerce-product-gallery img{ width:100%; display:block; border-radius:0; }
.single-product-wrap .flex-control-nav{ display:flex; gap:8px; list-style:none; padding:8px; margin:0; overflow-x:auto; }
.single-product-wrap .flex-control-nav li{ flex-shrink:0; }
.single-product-wrap .flex-control-nav img{ width:52px; height:52px; object-fit:cover; border-radius:8px; border:1px solid var(--line); cursor:pointer; }

.single-product-wrap .product_title{ font-size:17px; font-weight:700; line-height:1.5; margin-bottom:8px; }
.single-product-wrap .price{ font-size:17px; font-weight:700; color:var(--amber); font-family:var(--mono); display:block; margin-bottom:10px; }
.single-product-wrap .price del{ color:var(--muted-2); font-size:13px; margin-inline-end:8px; font-weight:400; }
.single-product-wrap .price ins{ text-decoration:none; }

.single-product-wrap .woocommerce-product-rating{ display:flex; align-items:center; gap:8px; margin-bottom:12px; font-size:11.5px; color:var(--muted); }
.single-product-wrap .woocommerce-product-rating .stars{ font-size:13px; }
.single-product-wrap .woocommerce-review-link{ color:var(--muted); text-decoration:underline; }

.single-product-wrap .stock{ display:inline-block; font-size:11.5px; padding:5px 12px; border-radius:10px; margin-bottom:14px; font-family:var(--mono); }
.single-product-wrap .stock.in-stock{ background:var(--teal-dim); color:var(--teal); }
.single-product-wrap .stock.out-of-stock{ background:rgba(232,93,77,.14); color:var(--danger); }

.single-product-wrap .woocommerce-product-details__short-description{ font-size:13px; line-height:1.9; color:var(--text); margin-bottom:16px; }
.single-product-wrap .woocommerce-product-details__short-description p{ margin-bottom:8px; }

.single-product-wrap form.cart{ margin-bottom:20px; }
.single-product-wrap .variations{ width:100%; margin-bottom:14px; border-collapse:collapse; }
.single-product-wrap .variations tr{ display:block; margin-bottom:10px; }
.single-product-wrap .variations th{ display:block; text-align:right; font-size:12px; color:var(--muted); padding-bottom:5px; font-weight:600; }
.single-product-wrap .variations td{ display:block; }
.single-product-wrap .variations select{
  width:100%; padding:11px 12px; border-radius:12px; background:var(--surface); border:1px solid var(--line);
  color:var(--text); font-family:var(--font); font-size:13px;
}
.single-product-wrap .reset_variations{ font-size:10.5px; color:var(--muted); display:inline-block; margin-top:6px; }
.single-product-wrap .woocommerce-variation-price .price{ margin-bottom:6px; }

.single-product-wrap .quantity{ display:inline-flex; align-items:center; border:1px solid var(--line); border-radius:12px; overflow:hidden; margin-inline-end:10px; background:var(--surface); }
.single-product-wrap .quantity .qty{
  width:56px; text-align:center; border:none; background:none; color:var(--text); font-family:var(--mono);
  font-size:14px; padding:11px 4px;
}
.single-product-wrap .quantity .qty:focus{ outline:none; }

.single-product-wrap .single_add_to_cart_button{
  background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d; border:none; border-radius:12px;
  padding:13px 22px; font-family:var(--font); font-weight:700; font-size:13.5px; cursor:pointer;
}
.single-product-wrap .single_add_to_cart_button.disabled{ opacity:.5; cursor:not-allowed; }
.single-product-wrap form.cart .button.added ~ .added_to_cart{ display:inline-block; margin-top:10px; font-size:11.5px; color:var(--teal); text-decoration:underline; }

.single-product-wrap .product_meta{ font-size:11px; color:var(--muted); margin-bottom:18px; border-top:1px solid var(--line); padding-top:12px; line-height:2; }
.single-product-wrap .product_meta a{ color:var(--amber); text-decoration:none; }

.single-product-wrap .woocommerce-tabs{ margin-top:20px; }
.single-product-wrap .woocommerce-tabs ul.tabs{ display:flex; gap:6px; list-style:none; padding:0; margin:0 0 14px; border-bottom:1px solid var(--line); overflow-x:auto; }
.single-product-wrap .woocommerce-tabs ul.tabs li{ flex-shrink:0; }
.single-product-wrap .woocommerce-tabs ul.tabs li a{
  display:block; padding:9px 14px; font-size:12px; color:var(--muted); text-decoration:none; border-bottom:2px solid transparent;
}
.single-product-wrap .woocommerce-tabs ul.tabs li.active a{ color:var(--amber); border-bottom-color:var(--amber); font-weight:700; }
.single-product-wrap .woocommerce-Tabs-panel{ font-size:13px; line-height:1.9; color:var(--text); }
.single-product-wrap .woocommerce-Tabs-panel table{ width:100%; border-collapse:collapse; font-size:12.5px; }
.single-product-wrap .woocommerce-Tabs-panel table th, .single-product-wrap .woocommerce-Tabs-panel table td{ padding:8px; border-bottom:1px solid var(--line); text-align:right; }

.single-product-wrap .commentlist{ list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:10px; }
.single-product-wrap .commentlist .comment_container{
  display:flex; gap:11px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:13px;
}
.single-product-wrap .commentlist .comment_container > img{
  width:38px; height:38px; border-radius:50%; flex-shrink:0; border:1px solid var(--line-strong);
}
.single-product-wrap .commentlist .comment-text{ flex:1; min-width:0; }
.single-product-wrap .commentlist .star-rating{ position:relative; display:inline-block; font-family:serif; font-size:12px; color:var(--line-strong); margin-bottom:5px; }
.single-product-wrap .commentlist .star-rating::before{ content:"★★★★★"; letter-spacing:1px; }
.single-product-wrap .commentlist .star-rating span{ position:absolute; top:0; right:0; height:100%; overflow:hidden; font-size:0; }
.single-product-wrap .commentlist .star-rating span::before{ content:"★★★★★"; letter-spacing:1px; font-size:12px; color:var(--amber); white-space:nowrap; }
.single-product-wrap .commentlist .meta{ font-size:11px; color:var(--muted); margin:0 0 6px; }
.single-product-wrap .commentlist .woocommerce-review__author{ color:var(--text); font-weight:700; font-size:12px; }
.single-product-wrap .commentlist .woocommerce-review__dash{ color:var(--muted-2); margin:0 4px; }
.single-product-wrap .commentlist .woocommerce-review__published-date{ font-family:var(--mono); font-size:10px; }
.single-product-wrap .commentlist .description p{ font-size:12.5px; line-height:1.8; margin:0; color:var(--text); }
.single-product-wrap #review_form input[type="text"],
.single-product-wrap #review_form input[type="email"],
.single-product-wrap #review_form textarea{
  width:100%; padding:11px 12px; border-radius:12px; background:var(--surface); border:1px solid var(--line);
  color:var(--text); font-family:var(--font); font-size:13px; margin-bottom:10px;
}
.single-product-wrap #review_form .form-submit input{
  background:linear-gradient(155deg, var(--amber), #b9781f); color:#0a0f0d; border:none; border-radius:12px;
  padding:11px 20px; font-weight:700; font-family:var(--font); cursor:pointer;
}
.single-product-wrap .comment-form-rating select{ background:var(--surface); border:1px solid var(--line); color:var(--text); border-radius:8px; padding:6px; }

.single-product-wrap .related.products{ margin-top:28px; border-top:1px solid var(--line); padding-top:18px; }
.single-product-wrap .related.products > h2{ font-size:14.5px; font-weight:700; margin-bottom:14px; }

.woocommerce-notices-wrapper .woocommerce-message,
.woocommerce-notices-wrapper .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-info{
  list-style:none; padding:12px 16px; border-radius:12px; font-size:12.5px; margin-bottom:14px;
  background:var(--surface); border:1px solid var(--line-strong);
}
.woocommerce-message{ color:var(--teal); }
.woocommerce-error{ color:var(--danger); }

/* =========================================================
   دیدگاه‌های نوشته‌ها — با نام مخفی (فقط حروف اول)
   ========================================================= */
.post-comments-wrap{ margin-top:24px; padding-top:20px; border-top:1px solid var(--line); }
.comments-section .comment-list{ list-style:none; margin:0 0 20px; padding:0; display:flex; flex-direction:column; gap:10px; }
.comments-section .comment-item{ list-style:none; }
.comments-section .children{ list-style:none; margin:10px 0 0 22px; padding:0; display:flex; flex-direction:column; gap:10px; }
.comment-card{ display:flex; gap:11px; background:var(--surface); border:1px solid var(--line); border-radius:16px; padding:13px; }
.comment-avatar{
  width:36px; height:36px; border-radius:50%; background:var(--amber-dim); color:var(--amber);
  display:flex; align-items:center; justify-content:center; font-weight:700; font-size:14px; flex-shrink:0;
  border:1px solid var(--line-strong);
}
.comment-body{ flex:1; min-width:0; }
.comment-head{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; margin-bottom:5px; }
.comment-author{ font-size:12.5px; font-weight:700; }
.comment-date{ font-size:10px; color:var(--muted-2); font-family:var(--mono); }
.comment-pending{ font-size:11px; color:var(--amber); background:var(--amber-dim); padding:6px 10px; border-radius:8px; margin-bottom:8px; }
.comment-text{ font-size:12.5px; line-height:1.85; color:var(--text); }
.comment-text p{ margin-bottom:8px; }
.comments-closed{ font-size:12px; color:var(--muted); text-align:center; padding:14px; background:var(--surface); border-radius:12px; border:1px solid var(--line); }

.comments-section .comment-reply-title{ font-size:14.5px; font-weight:700; margin-bottom:6px; display:block; }
.comments-section .comment-notes{ font-size:11.5px; color:var(--muted); line-height:1.8; margin-bottom:14px; background:var(--surface); border:1px solid var(--line); border-radius:12px; padding:10px 12px; }
.comments-section .field{ margin-bottom:14px; }
.comments-section .field textarea{
  width:100%; padding:13px 14px; border-radius:12px; background:var(--surface); border:1px solid var(--line);
  color:var(--text); font-family:var(--font); font-size:13.5px; resize:vertical; min-height:90px;
}
.comments-section .field textarea:focus, .comments-section .field input:focus{ outline:none; border-color:var(--amber); }
.comment-submit-btn{ width:auto; padding:12px 24px; }
