/*
 * Daryani — components.css
 * دکمه‌ها، کارت‌ها، بج‌ها، چیپ‌ها، هدر، نوار پایین، سایدبار، فرم‌ها
 */

/* ════════ BUTTONS ════════ */
.daryani-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  border: none; border-radius: var(--radius-md);
  font-family: var(--font-family); font-weight: 600; cursor: pointer;
  transition: all var(--dur-base) var(--ease-out);
  -webkit-tap-highlight-color: transparent; user-select: none;
  text-decoration: none; position: relative; overflow: hidden; white-space: nowrap;
}
.daryani-btn:active { transform: scale(0.97); }
.daryani-btn--primary {
  background: var(--color-primary); color: #fff;
  font-size: var(--font-base); padding: 13px 24px;
  box-shadow: var(--shadow-primary);
}
.daryani-btn--primary:hover { background: var(--color-primary-2); }
.daryani-btn--gold {
  background: linear-gradient(135deg, var(--color-accent), var(--color-accent-2));
  color: #fff; font-size: var(--font-base); padding: 13px 24px;
  box-shadow: var(--shadow-accent);
}
.daryani-btn--gold:hover { background: linear-gradient(135deg, var(--color-accent-3), var(--color-accent)); }
.daryani-btn--outline {
  background: transparent; border: 1.5px solid var(--color-border-2);
  color: var(--color-on-surface); font-size: var(--font-sm); padding: 11px 20px;
}
.daryani-btn--outline:hover { border-color: var(--color-primary); color: var(--color-primary); }
.daryani-btn--ghost {
  background: var(--color-surface-2); color: var(--color-on-surface);
  font-size: var(--font-sm); padding: 10px 18px;
}
.daryani-btn--ghost:hover { background: var(--color-surface-3); }
.daryani-btn--icon {
  width: 44px; height: 44px; padding: 0; border-radius: var(--radius-md);
  background: var(--color-surface-2); color: var(--color-on-surface); font-size: 20px;
}
.daryani-btn--sm { font-size: var(--font-sm); padding: 9px 16px; border-radius: var(--radius-sm); }
.daryani-btn--lg { font-size: var(--font-lg); padding: 15px 32px; border-radius: var(--radius-lg); }
.daryani-btn--full { width: 100%; }
.daryani-btn--loading { pointer-events: none; opacity: .7; }
.daryani-btn--loading::after {
  content: ''; width: 16px; height: 16px; border: 2px solid rgba(255,255,255,.4);
  border-top-color: #fff; border-radius: 50%; animation: spin .7s linear infinite;
}

/* ════════ BADGE / CHIP ════════ */
.daryani-badge {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 18px; height: 18px; padding: 0 5px; border-radius: var(--radius-full);
  font-size: 10px; font-weight: 700; line-height: 1;
  background: var(--color-accent); color: #fff;
}
.daryani-badge--primary { background: var(--color-primary); }
.daryani-badge--danger  { background: var(--color-danger); }
.daryani-badge--success { background: var(--color-success); }

.daryani-chip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: 8px 15px; border-radius: var(--radius-full);
  font-size: var(--font-sm); font-weight: 600;
  border: 1.5px solid var(--color-border-2);
  background: var(--color-surface); color: var(--color-on-surface);
  cursor: pointer; white-space: nowrap;
  transition: all var(--dur-base) var(--ease-out);
  -webkit-tap-highlight-color: transparent;
}
.daryani-chip:hover { border-color: var(--color-primary); color: var(--color-primary); }
.daryani-chip:active { transform: scale(.95); }
.daryani-chip--active { background: var(--color-primary); border-color: var(--color-primary); color: #fff; box-shadow: var(--shadow-primary); }

.tag-discount {
  display: inline-flex; align-items: center;
  padding: 3px 8px; border-radius: var(--radius-sm);
  font-size: 11px; font-weight: 700;
  background: var(--color-accent); color: #fff;
}

/* ════════ CARDS ════════ */
.daryani-card {
  background: var(--color-surface); border-radius: var(--radius-lg);
  border: 1px solid var(--color-border); overflow: hidden;
  transition: all var(--dur-base) var(--ease-out);
}
.daryani-card:hover { box-shadow: var(--shadow-md); transform: translateY(-2px); }
.daryani-card--elevated { box-shadow: var(--shadow-sm); border: none; }
.daryani-card--gold-border { border-color: var(--color-accent); }

/* ════════ SECTION HEADER ════════ */
.daryani-section-head {
  display: flex; justify-content: space-between; align-items: center;
  margin-bottom: 14px;
}
.daryani-section-title { font-size: var(--font-md); font-weight: 800; }
.daryani-see-all {
  font-size: var(--font-sm); font-weight: 700; color: var(--color-primary);
  cursor: pointer; padding: 4px 8px; border-radius: var(--radius-sm);
  transition: background var(--dur-fast);
}
.daryani-see-all:hover { background: var(--color-primary-light); }

/* ════════ HERO BANNER ════════ */
.daryani-hero {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-2) 55%, var(--color-primary-3) 100%);
  border-radius: var(--radius-xl); padding: 28px 24px;
  position: relative; overflow: hidden; min-height: 160px;
}
.daryani-hero::before {
  content: ''; position: absolute; top: -40px; inset-inline-end: -30px;
  width: 200px; height: 200px; background: rgba(255,255,255,.07); border-radius: 50%;
}
.daryani-hero::after {
  content: ''; position: absolute; bottom: -50px; inset-inline-start: 20px;
  width: 140px; height: 140px; background: rgba(255,255,255,.04); border-radius: 50%;
}
.daryani-hero__badge {
  display: inline-flex; align-items: center; gap: 5px;
  background: rgba(255,255,255,.22); border-radius: var(--radius-full);
  padding: 5px 13px; font-size: var(--font-xs); color: #fff; font-weight: 700; margin-bottom: 10px;
}
.daryani-hero__title {
  font-size: var(--font-2xl); font-weight: 900; color: #fff; line-height: 1.3;
  margin-bottom: 14px; position: relative; z-index: 2;
}
.daryani-hero__emoji {
  position: absolute; inset-inline-end: 20px; bottom: 16px; font-size: 62px;
  opacity: .9; z-index: 1; animation: float 3s ease-in-out infinite; pointer-events: none;
}
/* نوار ویژه (آبی آسمانی) */
.daryani-hero--gold {
  background: linear-gradient(135deg, var(--color-accent-3), var(--color-accent), var(--color-accent-2));
}

/* ════════ HEADER ════════ */
.daryani-header {
  position: sticky; top: 0; z-index: 100;
  background: var(--header-bg);
  backdrop-filter: blur(20px) saturate(1.8);
  -webkit-backdrop-filter: blur(20px) saturate(1.8);
  border-bottom: 1px solid var(--color-border);
  height: var(--header-h);
  display: flex; align-items: center;
}
.daryani-header__inner {
  width: 100%; max-width: var(--max-w); margin: 0 auto;
  padding: 0 20px; display: flex; align-items: center; gap: 14px;
}
.daryani-brand { display: flex; align-items: center; gap: 10px; flex-shrink: 0; }
.daryani-brand__mark {
  width: 42px; height: 42px; border-radius: 13px; flex-shrink: 0;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-3));
  display: flex; align-items: center; justify-content: center;
  color: #fff; font-weight: 900; font-size: 19px; box-shadow: var(--shadow-primary);
}
.daryani-brand__text { display: flex; flex-direction: column; text-align: start; gap: 2px; }
.daryani-brand__name { font-weight: 800; font-size: var(--font-md); line-height: 1.1; color: var(--color-on-surface); }
.daryani-brand__sub  { font-size: var(--font-xs); color: var(--color-on-surface-3); font-weight: 500; }

/* آیکون‌دکمه هدر */
.daryani-icon-btn {
  width: 44px; height: 44px; padding: 0; border-radius: var(--radius-md);
  background: var(--color-surface-2); border: 1px solid var(--color-border);
  display: flex; align-items: center; justify-content: center; font-size: 20px;
  position: relative; flex-shrink: 0;
  transition: all var(--dur-base) var(--ease-spring); cursor: pointer;
}
/* padding:0 حیاتی: <button>ها padding گلدن‌ریشنِ پوستهٔ مادر (Storefront ~۲۸px) را ارث می‌برند
   و چون flex-shrink:0 هستند زیرِ محتوا+padding کوچک نمی‌شوند → آیکونِ ۴۴px به ۵۸px باد می‌کرد و
   با <a> سبد (بی‌padding) ناهم‌اندازه می‌شد. صفرکردنِ padding = آیکن‌های یک‌اندازه (دسکتاپ+موبایل). */
.daryani-icon-btn:hover  { background: var(--color-surface-3); }
.daryani-icon-btn:active { transform: scale(.9); }
.daryani-icon-btn .daryani-badge { position: absolute; top: -4px; inset-inline-start: -4px; }

/* ════════ SIDEBAR ════════ */
.daryani-sidebar {
  width: var(--sidebar-w); flex-shrink: 0;
  display: flex; flex-direction: column;
  padding: 20px 12px;
  border-inline-end: 1px solid var(--color-border);
  background: var(--color-surface);
  /* ارتفاع واقعی هدر (بار + ctx-bar + subnav) با JS در --daryani-header-h ست می‌شود؛ fallback به --header-h. */
  position: sticky; top: var(--daryani-header-h, var(--header-h));
  height: calc(100dvh - var(--daryani-header-h, var(--header-h))); overflow-y: auto;
}
.daryani-sidebar__label {
  font-size: var(--font-xs); color: var(--color-on-surface-3);
  padding: 4px 14px 8px; font-weight: 700; letter-spacing: .03em; text-transform: uppercase;
}
.daryani-sidebar__item {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 14px; border-radius: var(--radius-md);
  font-size: var(--font-sm); font-weight: 500;
  color: var(--color-on-surface-2); cursor: pointer;
  transition: all var(--dur-base) var(--ease-out);
  width: 100%; text-align: start; background: none;
}
.daryani-sidebar__item:hover { background: var(--color-surface-2); color: var(--color-on-surface); }
.daryani-sidebar__item--active {
  background: var(--color-primary-light); color: var(--color-primary-2); font-weight: 700;
}
.daryani-sidebar__icon { font-size: 20px; width: 24px; text-align: center; }

/* ════════ FORM FIELDS ════════ */
.daryani-field { display: flex; flex-direction: column; gap: 6px; }
.daryani-field__label { font-size: var(--font-xs); font-weight: 700; color: var(--color-on-surface-2); }
.daryani-field__input {
  width: 100%; padding: 12px 15px;
  border-radius: var(--radius-md); border: 1.5px solid var(--color-border-2);
  background: var(--color-surface); font-size: var(--font-sm);
  color: var(--color-on-surface); font-family: var(--font-family); outline: none;
  transition: all var(--dur-base) var(--ease-out);
}
.daryani-field__input:focus { border-color: var(--color-primary); box-shadow: 0 0 0 4px var(--color-primary-glow); }
.daryani-field__input::placeholder { color: var(--color-on-surface-3); }
.daryani-field textarea.daryani-field__input { resize: vertical; min-height: 90px; line-height: 1.6; }

/* ════════ TOAST ════════ */
.daryani-toast-wrap {
  position: fixed; bottom: 24px; inset-inline-start: 50%;
  transform: translateX(50%); z-index: 999;
  display: flex; flex-direction: column; gap: 8px; align-items: center;
  pointer-events: none;
}
@media (min-width: 1024px) {
  .daryani-toast-wrap { inset-inline-start: auto; inset-inline-end: 28px; transform: none; align-items: flex-end; }
}
.daryani-toast {
  background: var(--toast-bg); color: var(--toast-color);
  padding: 12px 20px; border-radius: var(--radius-md);
  font-size: var(--font-sm); font-weight: 600; box-shadow: var(--shadow-lg);
  animation: slideUp .3s var(--ease-spring) both; white-space: nowrap;
  display: flex; align-items: center; gap: 8px; pointer-events: auto;
}

/* ════════ QUICK ACCESS GRID ════════ */
.daryani-quick-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; }
/* تبلت: ۸ آیتم در یک ردیف (مطابقِ مرجع) به‌جای ۴×۲ */
@media (min-width: 768px) and (max-width: 1023.98px) {
  .daryani-quick-grid { grid-template-columns: repeat(8, 1fr); }
}
.daryani-quick-item {
  display: flex; flex-direction: column; align-items: center; gap: 6px;
  cursor: pointer; padding: 4px; border-radius: var(--radius-sm);
  transition: all var(--dur-fast) var(--ease-spring);
  -webkit-tap-highlight-color: transparent; background: none; border: none;
}
.daryani-quick-item:active { transform: scale(.88); }
.daryani-quick-icon {
  width: 58px; height: 58px; border-radius: 18px;
  display: flex; align-items: center; justify-content: center; font-size: 26px;
  transition: transform var(--dur-base) var(--ease-spring);
}
.daryani-quick-icon svg { width: 27px; height: 27px; }
.daryani-quick-item:hover .daryani-quick-icon { transform: scale(1.08) translateY(-2px); }
.daryani-quick-label { font-size: 11px; font-weight: 600; color: var(--color-on-surface-2); text-align: center; }

/* رنگ‌بندی آیکون‌های quick access — آبی + آبی آسمانی */
.qi-blue   { background: linear-gradient(145deg, var(--color-primary-light), #d8e4ff); color: var(--color-primary-2); }
.qi-gold   { background: linear-gradient(145deg, var(--color-accent-light), #bfe6fb); color: var(--color-accent-3); }
.qi-navy   { background: linear-gradient(145deg, #e0e8ff, #c8d4f8); color: #2a3a78; }
.qi-teal   { background: linear-gradient(145deg, #e0f8f5, #bdf0ea); color: #0f766e; }
.qi-purple { background: linear-gradient(145deg, #f0ebff, #ddd0ff); color: #6d28d9; }
.qi-rose   { background: linear-gradient(145deg, #fff0f3, #ffd5de); color: #be123c; }
.qi-amber  { background: linear-gradient(145deg, #fffbe8, #fef0bb); color: #b45309; }
.qi-sky    { background: linear-gradient(145deg, #e8f8ff, #c4ecff); color: #0369a1; }
/* آیکونِ SVG داخلِ چیپِ دسته (درخواستِ G) */
.daryani-chip svg { width: 15px; height: 15px; vertical-align: -3px; margin-inline-end: 5px; color: var(--color-primary-2); }
.daryani-chip--active svg { color: currentColor; }

/* ════════ PROFILE SECTION ════════ */
.daryani-profile-hero {
  display: flex; align-items: center; gap: 16px;
  padding: 22px 20px;
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-3));
  border-radius: var(--radius-xl); color: #fff; margin-bottom: 16px;
}
.daryani-profile-avatar {
  width: 66px; height: 66px; border-radius: 50%;
  background: rgba(255,255,255,.2); border: 2.5px solid rgba(255,255,255,.35);
  display: flex; align-items: center; justify-content: center; font-size: 32px; flex-shrink: 0;
}

/* ════════ STEPS BAR ════════ */
.daryani-steps { display: flex; align-items: center; justify-content: center; gap: 6px; padding: 18px 0 10px; }
.daryani-step  { display: flex; flex-direction: column; align-items: center; gap: 6px; flex: 1; max-width: 110px; }
.daryani-step__circle {
  width: 36px; height: 36px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center;
  font-weight: 800; font-size: var(--font-sm);
  background: var(--color-surface-3); color: var(--color-on-surface-3);
  transition: all var(--dur-base) var(--ease-spring); border: 2px solid transparent;
}
.daryani-step--active .daryani-step__circle { background: var(--color-primary); color: #fff; box-shadow: var(--shadow-primary); }
.daryani-step--done   .daryani-step__circle { background: var(--color-primary-light); color: var(--color-primary); border-color: var(--color-primary); }
.daryani-step__line   { height: 2px; flex: 1; background: var(--color-surface-3); max-width: 55px; }
.daryani-step__line--done { background: var(--color-primary); }
.daryani-step__label  { font-size: 11px; font-weight: 700; color: var(--color-on-surface-3); text-align: center; }
.daryani-step--active .daryani-step__label,
.daryani-step--done   .daryani-step__label { color: var(--color-on-surface); }

/* ════════ ORDER TRACKING ════════ */
.daryani-track { display: flex; align-items: flex-start; gap: 0; }
.daryani-track__step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 5px; position: relative; }
.daryani-track__bullet {
  width: 28px; height: 28px; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; font-size: 12px;
  background: var(--color-surface-3); color: var(--color-on-surface-3); z-index: 2;
  transition: all var(--dur-base);
}
.daryani-track__step--done .daryani-track__bullet { background: var(--color-primary); color: #fff; }
.daryani-track__line {
  position: absolute; top: 14px; height: 3px;
  background: var(--color-surface-3); width: 100%; z-index: 1;
}
.daryani-track__step--done .daryani-track__line { background: var(--color-primary); }
.daryani-track__label { font-size: 9px; font-weight: 700; color: var(--color-on-surface-3); text-align: center; }
.daryani-track__step--done .daryani-track__label { color: var(--color-on-surface); }

/* ════════ LIVE SEARCH DROPDOWN ════════ */
.daryani-search-wrap { position: relative; width: 100%; }
.daryani-search-panel {
  position: absolute; top: calc(100% + 8px); inset-inline: 0; z-index: 200;
  background: var(--color-surface); border: 1px solid var(--color-border);
  border-radius: var(--radius-md); box-shadow: var(--shadow-lg);
  overflow: hidden; max-height: 60vh; overflow-y: auto;
  opacity: 0; pointer-events: none; transform: translateY(-6px);
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-out);
}
.daryani-search-panel.open { opacity: 1; pointer-events: all; transform: translateY(0); }
.daryani-search-status { padding: 16px; text-align: center; font-size: var(--font-sm); color: var(--color-on-surface-3); }
.daryani-search-item {
  display: flex; align-items: center; gap: 12px; padding: 10px 14px;
  border-bottom: 1px solid var(--color-border); transition: background var(--dur-fast);
}
.daryani-search-item:last-child { border-bottom: none; }
.daryani-search-item:hover { background: var(--color-surface-2); }
.daryani-search-thumb {
  width: 44px; height: 44px; border-radius: var(--radius-sm); overflow: hidden;
  background: var(--color-surface-2); display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; font-size: 22px;
}
.daryani-search-thumb img { width: 100%; height: 100%; object-fit: cover; }
.daryani-search-info { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.daryani-search-name { font-size: var(--font-sm); font-weight: 700; color: var(--color-on-surface); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.daryani-search-price { font-size: var(--font-xs); font-weight: 800; color: var(--color-primary); }
.daryani-search-out { color: var(--color-danger); font-weight: 700; margin-inline-start: 6px; }

/* ════════ FABِ ادغام‌شده (speed-dial) — خواستهٔ مالک #۵: یک ورودی → دو UIِ مجزا (صوتی/متنی) ════════ */
.daryani-fab {
  position: fixed; bottom: 24px; inset-inline-start: 24px; z-index: 9000;
  display: flex; flex-direction: column; align-items: center; gap: 12px;
}
.daryani-fab__main {
  width: 60px; height: 60px; padding: 0; border: none; border-radius: 20px; cursor: pointer; position: relative;
  background: linear-gradient(140deg, #7C3AED, #2E5BE8); color: #fff;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 10px 26px rgba(99,67,237,.34), 0 3px 10px rgba(0,0,0,.18);
  transition: transform var(--dur-base) var(--ease-spring), border-radius var(--dur-base) var(--ease-spring);
}
.daryani-fab__main::after {
  content: ''; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  box-shadow: 0 0 0 0 rgba(124,58,237,.5); animation: dcbPulse 3s ease-out infinite;
}
.daryani-fab__main:hover { transform: translateY(-2px) scale(1.05); }
.daryani-fab__main:active { transform: scale(.93); }
.daryani-fab__main svg { width: 28px; height: 28px; }
.daryani-fab__close { display: none; font-size: 24px; font-weight: 700; line-height: 1; }
.daryani-fab.is-open .daryani-fab__main { border-radius: 50%; }
.daryani-fab.is-open .daryani-fab__main::after { animation: none; }
.daryani-fab.is-open .daryani-fab__ic { display: none; }
.daryani-fab.is-open .daryani-fab__close { display: block; }
@keyframes dcbPulse { 0% { box-shadow: 0 0 0 0 rgba(124,58,237,.5); } 70% { box-shadow: 0 0 0 13px rgba(0,0,0,0); } 100% { box-shadow: 0 0 0 0 rgba(0,0,0,0); } }
@media (prefers-reduced-motion: reduce) { .daryani-fab__main::after { animation: none; } }
/* گروهِ گزینه‌ها بالای دکمهٔ اصلی — تا باز نشده پنهان است. */
.daryani-fab__actions {
  display: flex; flex-direction: column; align-items: center; gap: 12px;
  opacity: 0; visibility: hidden; transform: translateY(10px) scale(.92); pointer-events: none;
  transition: opacity var(--dur-base) var(--ease-out), transform var(--dur-base) var(--ease-spring), visibility var(--dur-base);
}
.daryani-fab.is-open .daryani-fab__actions { opacity: 1; visibility: visible; transform: none; pointer-events: auto; }
/* مینی‌فب‌ها: استاتیک درونِ dial (نه fixed)، کمی کوچک‌تر از اصلی؛ استایل/آیکونِ خودشان حفظ می‌شود. */
.daryani-fab__act { position: static; inset: auto; margin: 0; width: 52px; height: 52px; z-index: auto; flex: 0 0 auto; }

/* مینیِ صوتی (بنفش، میکروفون+اکولایزر — مالک پسندید) */
.daryani-voice-fab {
  border-radius: 50%; background: linear-gradient(140deg, #7C3AED, #2E5BE8);
  border: none; color: #fff; cursor: pointer; padding: 0; position: relative;
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 8px 20px rgba(99,67,237,.34), 0 3px 8px rgba(0,0,0,.16);
  transition: transform var(--dur-base) var(--ease-spring);
}
.daryani-voice-fab[hidden] { display: none; }
.daryani-voice-fab svg { width: 26px; height: 26px; position: relative; z-index: 1; }
.daryani-voice-fab:hover { transform: scale(1.08); }
.daryani-voice-fab:active { transform: scale(.93); }
.daryani-voice-fab .dvf-ring {
  position: absolute; inset: 0; border-radius: 50%; pointer-events: none;
  box-shadow: 0 0 0 0 rgba(124,58,237,.5); animation: dvfPulse 2.6s ease-out infinite;
}
@keyframes dvfPulse { 0% { box-shadow: 0 0 0 0 rgba(124,58,237,.5); } 70% { box-shadow: 0 0 0 11px rgba(124,58,237,0); } 100% { box-shadow: 0 0 0 0 rgba(124,58,237,0); } }
.daryani-voice-fab .dvf-bar { transform-box: fill-box; transform-origin: center; animation: dvfBar 1s ease-in-out infinite; }
.daryani-voice-fab .dvf-bar--2 { animation-delay: .25s; }
.daryani-voice-fab .dvf-bar--3 { animation-delay: .5s; }
@keyframes dvfBar { 0%, 100% { transform: scaleY(.5); } 50% { transform: scaleY(1); } }

/* مینیِ متنی (آبی، چتِ تمیز — جایگزینِ آیکونِ قبلی که پسندیده نشد) */
.daryani-chat-bubble {
  border-radius: 50%; background: linear-gradient(140deg, var(--color-primary), var(--color-primary-3));
  border: none; display: flex; align-items: center; justify-content: center; color: #fff; cursor: pointer; padding: 0;
  box-shadow: 0 8px 20px var(--color-primary-glow), 0 3px 8px rgba(0,0,0,.16);
  transition: transform var(--dur-base) var(--ease-spring);
}
.daryani-chat-bubble:hover { transform: scale(1.08); }
.daryani-chat-bubble:active { transform: scale(.93); }
.daryani-chat-bubble .dcb-ic svg { width: 26px; height: 26px; display: block; }
@media (prefers-reduced-motion: reduce) { .daryani-voice-fab .dvf-ring, .daryani-voice-fab .dvf-bar { animation: none; } }
/* فرمِ ثبت‌نامِ فروشنده (#۳۹) + پیامِ سقفِ آدرس (#۳۸) */
.daryani-seller-form { max-width: 520px; }
.daryani-seller-form p { margin: 0 0 12px; }
.daryani-seller-form label { display: block; font-weight: 700; font-size: var(--font-sm); }
.daryani-seller-form input, .daryani-seller-form textarea, .daryani-seller-form select {
  width: 100%; box-sizing: border-box; margin-top: 5px; padding: 9px 12px;
  border: 1.5px solid var(--color-border-2, #d8dee9); border-radius: 10px; font-family: inherit; font-size: var(--font-sm);
  background: var(--color-surface); color: var(--color-on-surface);
}
.daryani-seller-ok, .daryani-seller-status, .daryani-seller-note { background: var(--color-primary-light, #eef2ff); border-radius: 10px; padding: 10px 14px; }
.daryani-addr-cap { background: var(--color-surface-2); border-radius: 10px; padding: 10px 14px; color: var(--color-on-surface-2); font-size: var(--font-sm); }
/* پنلِ ورود/ثبت‌نامِ پیامکی روی صفحهٔ حساب (P1) */
.daryani-account-auth { max-width: 460px; margin: 0 auto 22px; padding: 22px; text-align: center; background: var(--color-primary-light, #eef2ff); border: 1px solid var(--color-border); border-radius: var(--radius-lg, 16px); }
.daryani-account-auth__mark { width: 54px; height: 54px; margin: 0 auto 10px; border-radius: 50%; background: var(--color-primary); color: #fff; display: flex; align-items: center; justify-content: center; }
.daryani-account-auth__title { font-size: var(--font-lg, 20px); font-weight: 900; margin: 0 0 6px; }
.daryani-account-auth__sub { font-size: var(--font-sm); color: var(--color-on-surface-2); margin: 0 0 14px; }
.daryani-account-auth__or { font-size: var(--font-xs); color: var(--color-on-surface-3); margin: 14px 0 0; }
@media (max-width: 1023.98px) {
  /* #۴۴ — FAB روی موبایل/تبلت بالایِ نوارِ ناوبریِ پایین بنشیند (نه روی دکمه‌هایش). */
  .daryani-fab { bottom: calc(var(--bottom-nav-h, 64px) + 16px); }
}
.daryani-chat-panel {
  position: fixed; bottom: 92px; inset-inline-start: 24px;
  width: min(360px, calc(100vw - 32px)); background: var(--color-surface);
  border-radius: 20px; box-shadow: 0 12px 48px rgba(0,0,0,.20); z-index: 9001;
  display: flex; flex-direction: column; overflow: hidden;
  transform: scale(.9) translateY(20px); opacity: 0; pointer-events: none;
  transform-origin: bottom left;
  transition: transform var(--dur-slow) var(--ease-spring), opacity var(--dur-base) var(--ease-out);
}
.daryani-chat-panel.open { transform: scale(1) translateY(0); opacity: 1; pointer-events: all; }
/* موبایل + تبلت (#۳ و #۵ خواستهٔ مالک): پنلِ چت (متنی و صوتی) = شیتِ تمام‌عرضِ پایین، نه پنلِ کوچکِ شناور. */
@media (max-width: 1023.98px) {
  .daryani-chat-panel {
    inset-inline: 0; bottom: 0; width: 100%; max-width: none;
    max-height: 86vh; border-radius: 22px 22px 0 0;
    transform: translateY(100%); transform-origin: bottom center;
  }
  .daryani-chat-panel.open { transform: translateY(0); }
  .daryani-chat-body { max-height: none; flex: 1 1 auto; }
  /* قفلِ اسکرولِ بدنه وقتی شیتِ تمام‌صفحهٔ چت باز است (assistant.js کلاس را می‌زند). */
  body.daryani-chat-open { overflow: hidden; }
}
.daryani-chat-header {
  background: linear-gradient(135deg, var(--color-primary), var(--color-primary-2));
  padding: 14px 16px; display: flex; align-items: center; gap: 10px; flex-shrink: 0;
}
.daryani-chat-av {
  width: 38px; height: 38px; border-radius: 50%; background: rgba(255,255,255,.2);
  display: flex; align-items: center; justify-content: center; font-size: 20px; border: 2px solid rgba(255,255,255,.3);
}
.daryani-chat-hinfo { flex: 1; }
.daryani-chat-hname { font-weight: 800; font-size: var(--font-sm); color: #fff; }
.daryani-chat-hstatus { font-size: var(--font-xs); color: rgba(255,255,255,.85); display: flex; align-items: center; gap: 5px; }
.daryani-chat-hstatus::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: #4ade80; }
/* ── حالتِ صوتیِ پنل (#۵۲/#۷۶) — مثلِ ChatGPT: اوربِ میکروفونِ مرکزی + نمودارِ صوتی ──
   در حالتِ صوتی، گفتگوی متنی پنهان و «صحنهٔ صوتی» جایگزین می‌شود. کاربر روی اورب
   می‌زند، صحبت می‌کند، پاسخ پخش می‌شود و نمودار همگام با شنیدن/پاسخ می‌رقصد. */
.daryani-chat-panel--voice .daryani-chat-body,
.daryani-chat-panel--voice .daryani-chat-suggestions,
.daryani-chat-panel--voice .daryani-chat-input-row { display: none; }
.daryani-chat-panel--voice .daryani-chat-hname::after { content: ' — گفتگوی صوتی'; color: var(--color-accent, #e09816); font-weight: 700; }

.daryani-voice-stage { display: none; }
.daryani-chat-panel--voice .daryani-voice-stage {
  flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: center;
  gap: 18px; padding: 28px 20px; text-align: center; min-height: 300px;
}
/* نمودارِ صوتی (اکولایزر): شنیدن=قرمز، پاسخ=آبی */
.daryani-voice-wave { display: flex; align-items: center; gap: 5px; height: 48px; }
.daryani-voice-wave span {
  width: 5px; height: 14px; border-radius: 3px; background: var(--color-border-2);
  transform-origin: center; transition: background var(--dur-base) var(--ease-out);
}
.daryani-voice-stage.is-listening .daryani-voice-wave span,
.daryani-voice-stage.is-speaking  .daryani-voice-wave span { animation: dvWave .9s ease-in-out infinite; }
.daryani-voice-stage.is-listening .daryani-voice-wave span { background: var(--color-danger); }
.daryani-voice-stage.is-speaking  .daryani-voice-wave span { background: var(--color-primary); animation-duration: .7s; }
.daryani-voice-wave span:nth-child(1) { animation-delay: 0s; }
.daryani-voice-wave span:nth-child(2) { animation-delay: .12s; }
.daryani-voice-wave span:nth-child(3) { animation-delay: .24s; }
.daryani-voice-wave span:nth-child(4) { animation-delay: .36s; }
.daryani-voice-wave span:nth-child(5) { animation-delay: .24s; }
.daryani-voice-wave span:nth-child(6) { animation-delay: .12s; }
.daryani-voice-wave span:nth-child(7) { animation-delay: 0s; }
@keyframes dvWave { 0%, 100% { transform: scaleY(.4); } 50% { transform: scaleY(2.4); } }

.daryani-voice-orb {
  width: 108px; height: 108px; border-radius: 50%; border: none; cursor: pointer; color: #fff;
  background: linear-gradient(140deg, var(--color-primary), var(--color-primary-2));
  display: flex; align-items: center; justify-content: center;
  box-shadow: 0 12px 34px var(--color-primary-glow);
  transition: transform var(--dur-base) var(--ease-spring), background var(--dur-base);
}
.daryani-voice-orb svg { width: 46px; height: 46px; }
.daryani-voice-orb:hover { transform: scale(1.05); }
.daryani-voice-stage.is-listening .daryani-voice-orb { background: linear-gradient(140deg, #ef4444, #dc2626); animation: dvOrbPulse 1.5s ease-out infinite; }
.daryani-voice-stage.is-speaking  .daryani-voice-orb { animation: dvOrbBreath 1.6s ease-in-out infinite; }
@keyframes dvOrbPulse { 0% { box-shadow: 0 0 0 0 rgba(220,38,38,.5); } 70% { box-shadow: 0 0 0 24px rgba(220,38,38,0); } 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); } }
@keyframes dvOrbBreath { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.07); } }

.daryani-voice-state { font-size: var(--font-sm); font-weight: 700; color: var(--color-on-surface-2); }
.daryani-voice-caption { font-size: var(--font-xs); color: var(--color-on-surface-3); line-height: 1.8; max-height: 84px; overflow-y: auto; white-space: pre-wrap; max-width: 280px; }
.daryani-voice-totext { background: none; border: none; cursor: pointer; font-family: var(--font-family); font-size: var(--font-xs); font-weight: 700; color: var(--color-primary); padding: 4px 8px; }
.daryani-voice-totext:hover { text-decoration: underline; }
@media (prefers-reduced-motion: reduce) {
  .daryani-voice-wave span { animation: none !important; }
  .daryani-voice-orb { animation: none !important; }
}
/* padding:0 روی دکمه‌های آیکونیِ چت: <button>ها padding گلدن‌ریشنِ پوستهٔ مادر را ارث می‌برند →
   باکسِ ۳۰×۳۰ به بیضیِ ~۴۱×۲۷ بدل می‌شد (باگِ زندهٔ مالک #۳). صفرکردن = دایره/مربعِ درست. */
.daryani-chat-close, .daryani-chat-voicetoggle, .daryani-chat-send, .daryani-chat-mic, .daryani-chat-bubble { padding: 0; }
.daryani-chat-close {
  width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.15);
  border: none; color: #fff; font-size: 16px; display: flex; align-items: center; justify-content: center; cursor: pointer;
}
.daryani-chat-close:hover { background: rgba(255,255,255,.25); }
.daryani-chat-body { flex: 1; overflow-y: auto; padding: 16px; display: flex; flex-direction: column; gap: 10px; max-height: 340px; min-height: 200px; }
.daryani-bubble { max-width: 84%; padding: 10px 14px; border-radius: 16px; font-size: var(--font-sm); line-height: 1.7; animation: slideUp var(--dur-base) var(--ease-out) both; }
.daryani-bubble.bot { align-self: flex-start; background: var(--color-surface-2); border: 1px solid var(--color-border); border-bottom-inline-end-radius: 4px; }
.daryani-bubble.me { align-self: flex-end; background: var(--color-primary); color: #fff; border-bottom-inline-start-radius: 4px; }
.daryani-chat-suggestions { display: flex; gap: 6px; flex-wrap: wrap; padding: 8px 14px; border-top: 1px solid var(--color-border); }
.daryani-chat-sug { display: inline-flex; align-items: center; gap: 6px; font-size: var(--font-xs); font-weight: 600; background: var(--color-surface-2); border: 1px solid var(--color-border-2); border-radius: var(--radius-full); padding: 5px 11px; cursor: pointer; font-family: var(--font-family); color: var(--color-on-surface-2); transition: all var(--dur-base); white-space: nowrap; }
.daryani-chat-sug:hover { border-color: var(--color-primary); color: var(--color-primary); }
/* آیکونِ چیپ‌ها واضح‌تر: رنگِ primary + اندازهٔ ثابت (قبلاً خاکستریِ کم‌رنگ و ظاهراً «لودنشده» بود). */
.daryani-chat-sug .daryani-ic { width: 15px; height: 15px; color: var(--color-primary); flex: 0 0 auto; }
.daryani-chat-sug:hover .daryani-ic { color: var(--color-primary); }
.daryani-chat-input-row { display: flex; gap: 8px; padding: 10px 12px; border-top: 1px solid var(--color-border); background: var(--color-surface); }
.daryani-chat-input { flex: 1; border: 1.5px solid var(--color-border-2); border-radius: var(--radius-md); padding: 9px 13px; font-size: var(--font-sm); font-family: var(--font-family); outline: none; background: var(--color-surface); color: var(--color-on-surface); transition: border-color var(--dur-base); }
.daryani-chat-input:focus { border-color: var(--color-primary); }
.daryani-chat-send { width: 38px; height: 38px; border-radius: var(--radius-md); background: var(--color-primary); border: none; color: #fff; font-size: 17px; display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; box-shadow: var(--shadow-primary); transition: background var(--dur-base); }
.daryani-chat-send:hover { background: var(--color-primary-2); }
/* ── لایهٔ صوتی (L2): دکمهٔ میکروفون + کلیدِ صدا ── */
.daryani-chat-mic { width: 38px; height: 38px; border-radius: var(--radius-md); background: var(--color-surface-2); border: 1.5px solid var(--color-border-2); color: var(--color-on-surface-2); display: flex; align-items: center; justify-content: center; cursor: pointer; flex-shrink: 0; transition: background var(--dur-base), border-color var(--dur-base), color var(--dur-base); }
.daryani-chat-mic svg { width: 20px; height: 20px; }
.daryani-chat-mic:hover { border-color: var(--color-primary); color: var(--color-primary); }
.daryani-chat-mic.is-listening { background: var(--color-danger); border-color: var(--color-danger); color: #fff; animation: micPulse 1.3s ease-out infinite; }
@keyframes micPulse { 0% { box-shadow: 0 0 0 0 rgba(220,38,38,.5); } 70% { box-shadow: 0 0 0 10px rgba(220,38,38,0); } 100% { box-shadow: 0 0 0 0 rgba(220,38,38,0); } }
@media (prefers-reduced-motion: reduce) { .daryani-chat-mic.is-listening { animation: none; } }
.daryani-chat-voicetoggle { width: 30px; height: 30px; border-radius: 50%; background: rgba(255,255,255,.15); border: none; color: #fff; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: background var(--dur-base); }
.daryani-chat-voicetoggle svg { width: 18px; height: 18px; }
.daryani-chat-voicetoggle:hover { background: rgba(255,255,255,.28); }
.daryani-chat-voicetoggle .spk-slash { opacity: 0; }
.daryani-chat-voicetoggle.is-muted .spk-wave { opacity: 0; }
.daryani-chat-voicetoggle.is-muted .spk-slash { opacity: 1; }
.daryani-typing { display: inline-flex; gap: 3px; align-items: center; padding: 2px 4px; }
.daryani-typing span { width: 6px; height: 6px; border-radius: 50%; background: var(--color-on-surface-3); animation: typedot 1.2s infinite; }
.daryani-typing span:nth-child(2) { animation-delay: .2s; }
.daryani-typing span:nth-child(3) { animation-delay: .4s; }
@keyframes typedot { 0%,60%,100% { opacity: .3; transform: translateY(0); } 30% { opacity: 1; transform: translateY(-4px); } }
/* FABِ پروفایل + پنلِ حساب حذف شد — تک‌منبع: دراپ‌داونِ پروفایل در هدر (chrome.css). */

/* ════════ خروجیِ شورت‌کدهای علاقه‌مندی/مقایسه + empty-state (TD-55) ════════
   اینجا (components.css = همیشه‌بار) است نه woocommerce.css (گیت‌شده به صفحاتِ WC)،
   چون شورت‌کدِ [daryani_compare] روی صفحهٔ مستقلِ غیر-WC هم رندر می‌شود. */
.daryani-empty{text-align:center;padding:48px;color:var(--color-on-surface-3);}
.daryani-empty__emoji{font-size:56px;}
.daryani-compare-wrap{overflow-x:auto;}
.daryani-compare-table{inline-size:100%;}
.daryani-compare-table td{text-align:center;}

/* ════════ AUTH MODAL (SMS / OTP) ════════ */
.daryani-auth-overlay{position:fixed;inset:0;z-index:9100;background:rgba(15,23,42,.55);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;padding:18px;opacity:0;pointer-events:none;transition:opacity .25s;}
.daryani-auth-overlay.open{opacity:1;pointer-events:all;}
.daryani-auth-modal{width:min(420px,100%);background:var(--color-surface);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;transform:scale(.9) translateY(20px);transition:transform .35s var(--ease-spring);}
.daryani-auth-overlay.open .daryani-auth-modal{transform:scale(1) translateY(0);}
/* موبایل: مودالِ ورود/ثبت‌نام بوتم‌شیت می‌شود (از پایین به بالا، تمام‌عرض). */
@media (max-width:600px){
  .daryani-auth-overlay{align-items:flex-end;padding:0;}
  .daryani-auth-modal{width:100%;max-width:none;border-radius:18px 18px 0 0;max-height:92vh;overflow-y:auto;transform:translateY(100%);}
  .daryani-auth-overlay.open .daryani-auth-modal{transform:translateY(0);}
}
.daryani-auth-hero{background:linear-gradient(135deg,var(--color-primary),var(--color-primary-3));padding:28px 24px;text-align:center;position:relative;overflow:hidden;}
.daryani-auth-hero::before{content:'';position:absolute;top:-50px;inset-inline-end:-30px;width:140px;height:140px;background:rgba(255,255,255,.08);border-radius:50%;}
.daryani-auth-mark{width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.18);border:1.5px solid rgba(255,255,255,.3);display:flex;align-items:center;justify-content:center;margin:0 auto 10px;position:relative;z-index:2;}
.daryani-auth-mark svg{width:28px;height:28px;}
.daryani-auth-hero h2{color:#fff;font-size:20px;font-weight:900;position:relative;z-index:2;}
.daryani-auth-hero p{color:rgba(255,255,255,.82);font-size:13px;margin-top:4px;position:relative;z-index:2;}
.daryani-auth-close{position:absolute;top:14px;inset-inline-start:14px;width:32px;height:32px;border-radius:50%;background:rgba(255,255,255,.18);color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;z-index:3;}
.daryani-auth-body{padding:24px;}
.daryani-auth-step{display:none;flex-direction:column;gap:14px;}
.daryani-auth-step.active{display:flex;animation:slideUp .3s var(--ease-out) both;}
.daryani-auth-body label{font-size:11px;font-weight:700;color:var(--color-on-surface-2);}
.daryani-auth-body input[type=tel],.daryani-auth-body input[type=text]{width:100%;padding:12px 14px;border-radius:var(--radius-md);border:1.5px solid var(--color-border-2);background:var(--color-surface);font-size:14px;color:var(--color-on-surface);outline:none;font-family:var(--font-family);transition:all .2s;}
.daryani-auth-body input:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);}
.daryani-otp-row{display:flex;gap:10px;justify-content:center;}
.daryani-otp-box{width:48px;height:56px;border:1.8px solid var(--color-border-2);border-radius:var(--radius-md);text-align:center;font-size:22px;font-weight:900;color:var(--color-on-surface);outline:none;transition:all .2s;background:var(--color-surface);}
.daryani-otp-box:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);}
.daryani-otp-box.filled{border-color:var(--color-primary);background:var(--color-primary-light);}
.daryani-auth-resend{text-align:center;font-size:12px;color:var(--color-on-surface-3);}
.daryani-auth-resend b{color:var(--color-primary);cursor:pointer;}
.daryani-auth-back{font-size:12px;color:var(--color-on-surface-3);background:none;border:none;cursor:pointer;align-self:center;}
.daryani-auth-back:hover{color:var(--color-primary);}
.daryani-auth-err{font-size:12px;color:var(--color-danger);text-align:center;min-height:16px;font-weight:600;}
.daryani-auth-ok{text-align:center;padding:10px 0;}
.daryani-auth-check{width:72px;height:72px;border-radius:50%;background:var(--color-success);color:#fff;font-size:40px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;animation:scaleIn .4s var(--ease-spring) both;}
.daryani-auth-ok h3{font-size:18px;font-weight:900;margin-bottom:6px;}
.daryani-btn--loading{pointer-events:none;opacity:.75;position:relative;}

/* ════════ SOCIAL ICONS ════════ */
.daryani-social{display:flex;gap:8px;align-items:center;}
.daryani-soc{width:36px;height:36px;border-radius:var(--radius-sm);background:var(--color-surface-2);color:var(--color-on-surface-2);display:flex;align-items:center;justify-content:center;transition:all .2s var(--ease-out);}
.daryani-soc:hover{transform:translateY(-2px);color:#fff;}
.daryani-soc--instagram:hover{background:#E1306C;}
.daryani-soc--telegram:hover{background:#0088cc;}
.daryani-soc--whatsapp:hover{background:#25D366;}

/* ════════ NOTIFICATIONS BELL ════════ */
.daryani-notif{position:relative;display:inline-flex;}
.daryani-notif-btn{position:relative;width:44px;height:44px;padding:0;border-radius:var(--radius-md);background:var(--color-surface-2);border:1px solid var(--color-border);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-on-surface);transition:background .2s;}
.daryani-notif-btn:hover{background:var(--color-surface-3);}
.daryani-notif-btn svg{width:20px;height:20px;}
.daryani-notif-badge{position:absolute;top:-3px;inset-inline-start:-3px;min-width:17px;height:17px;padding:0 4px;border-radius:var(--radius-full);font-size:9px;font-weight:800;color:#fff;background:#F43F5E;display:flex;align-items:center;justify-content:center;}
.daryani-notif-panel{position:absolute;top:calc(100% + 10px);inset-inline-start:auto;inset-inline-end:0;width:320px;max-width:90vw;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:9001;overflow:hidden;opacity:0;pointer-events:none;transform:translateY(-8px) scale(.97);transform-origin:top left;transition:opacity .2s,transform .2s var(--ease-spring);}
.daryani-notif-panel.open{opacity:1;pointer-events:all;transform:translateY(0) scale(1);}
.daryani-notif-head{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;border-bottom:1px solid var(--color-border);font-weight:800;font-size:14px;}
.daryani-notif-readall{font-size:12px;font-weight:700;color:var(--color-primary);background:none;border:none;cursor:pointer;}
.daryani-notif-list{max-height:360px;overflow-y:auto;}
.daryani-notif-empty{padding:30px;text-align:center;color:var(--color-on-surface-3);font-size:13px;}
.daryani-notif-item{display:flex;gap:11px;padding:12px 16px;border-bottom:1px solid var(--color-border);transition:background .15s;}
.daryani-notif-item:hover{background:var(--color-surface-2);}
.daryani-notif-item.unread{background:var(--color-primary-light);}
.daryani-notif-item .dn-ic{font-size:20px;flex-shrink:0;}
.daryani-notif-item .dn-tx{display:flex;flex-direction:column;gap:2px;min-width:0;}
.daryani-notif-item .dn-title{font-size:13px;font-weight:700;color:var(--color-on-surface);}
.daryani-notif-item .dn-body{font-size:12px;color:var(--color-on-surface-2);}
.daryani-notif-item .dn-time{font-size:11px;color:var(--color-on-surface-3);margin-top:2px;}

/* ════ CONTACT FORM ════ */
.daryani-contact{display:flex;flex-direction:column;gap:14px;max-width:560px;}
.daryani-contact .dc-row{display:flex;gap:14px;flex-wrap:wrap;}
.daryani-contact .dc-row .dc-field{flex:1;min-width:160px;}
.daryani-contact .dc-field{display:flex;flex-direction:column;gap:6px;}
.daryani-contact .dc-field label{font-size:12px;font-weight:700;color:var(--color-on-surface-2);}
.daryani-contact input,.daryani-contact select,.daryani-contact textarea{width:100%;padding:11px 13px;border:1.5px solid var(--color-border-2);border-radius:var(--radius-md);font-family:var(--font-family);font-size:13px;background:var(--color-surface);color:var(--color-on-surface);outline:none;transition:border-color .2s;}
.daryani-contact input:focus,.daryani-contact select:focus,.daryani-contact textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-glow);}
/* هانی‌پات: مخفی‌سازیِ امن با clip (نه left:-9999px که اسکرولِ افقیِ صفحه را می‌ساخت). */
.daryani-contact .dc-hp{position:absolute !important;width:1px !important;height:1px !important;padding:0 !important;margin:-1px !important;overflow:hidden !important;clip:rect(0 0 0 0) !important;clip-path:inset(50%) !important;white-space:nowrap !important;border:0 !important;}
.daryani-contact .dc-result{font-size:13px;line-height:1.7;}
.daryani-contact .dc-result.ok{background:var(--color-primary-light);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:14px;}
.daryani-contact .dc-result.err{color:var(--color-danger);font-weight:700;}
.daryani-contact .dc-ok{color:var(--color-success);font-weight:700;}
