/* ===== Global font (Vazirmatn) ===== */
@font-face{
  font-family: 'PermitUI';
  src: url('./fonts/vazirmatn/Vazirmatn-Regular.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face{
  font-family: 'PermitUI';
  src: url('./fonts/vazirmatn/Vazirmatn-Bold.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face{
  font-family: 'PermitUI';
  src: url('./fonts/vazirmatn/Vazirmatn-ExtraBold.woff2') format('woff2');
  font-weight: 800; font-style: normal; font-display: swap;
}

/* متغیر سراسری فونت */
:root{
  --pf-font: 'PermitUI', Tahoma, Arial, sans-serif;
}

/* اعمال سراسری */
html, body, .pps-wizard, .pps-card,
.pps-input, .pps-select, .pps-textarea, .pps-static,
.pps-btn, .pps-step, .pps-sec-head,
.pps-review-table, .pps-wallet-mini, .pps-value-pill {
  font-family: var(--pf-font);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* خواناتر کردن اعداد و تراز فاکتور */
.pps-invoice, .pps-review-table, .pps-wallet-value, .pps-wallet-mini-amount {
  font-variant-numeric: tabular-nums;
}


/* =========================
   Theme variables
========================= */
:root{
  --pf-primary:#1976D2;
  --pf-primary-600:#1565C0;
  --pf-primary-50:#E3F2FD;
  --pf-accent:#FF8C00;
  --pf-text:#111827;
  --pf-muted:#6B7280;
  --pf-border:#E5E7EB;
  --pf-bg:#F8FAFC;
  --pf-warn:#B91C1C;
  --pf-warn-bg:#FEF2F2;
  --pf-warn-border:#FECACA;
  --pf-info:#0B5CAD;
  --pf-info-bg:#EEF6FF;
  --pf-info-border:#BFE0FF;
  --pf-success:#16A34A;

  /* Center notice vars */
  --pps-cn-maxw: 520px;
  --pps-cn-bg: #ffffff;
  --pps-cn-text: #1b1b1b;
  --pps-cn-shadow: 0 16px 48px rgba(0,0,0,.18);
  --pps-cn-radius: 16px;
  --pps-cn-pad: 16px 18px;
  --pps-cn-fs: 16px;
  --pps-cn-gap: 12px;
  --pps-cn-info: #1976D2;
  --pps-cn-ok:   #2e7d32;
  --pps-cn-warn: #f9a825;
  --pps-cn-err:  #c62828;
}

/* =========================
   Center Notice (Minimal)
========================= */
.pps-cn-mask{
  position:fixed; inset:0; background:rgba(0,0,0,.36);
  display:flex; align-items:center; justify-content:center;
  z-index:100000; animation:ppsCnFade .12s ease-out both;
}
.pps-cn{
  direction:rtl; background:var(--pps-cn-bg); color:var(--pps-cn-text);
  width:min(calc(100% - 40px), var(--pps-cn-maxw));
  border-radius:var(--pps-cn-radius); box-shadow:var(--pps-cn-shadow);
  padding:var(--pps-cn-pad); display:flex; align-items:flex-start; gap:var(--pps-cn-gap);
  font-family:tahoma, Arial, sans-serif; font-size:var(--pps-cn-fs);
  border:1px solid #eee; animation:ppsCnPop .14s ease-out both;
}
.pps-cn .ic{ font-size:20px; line-height:1; margin-top:2px; flex:0 0 auto; }
.pps-cn .msg{ flex:1; }
.pps-cn .close{ border:0; background:transparent; cursor:pointer; font-size:20px; opacity:.75; padding:0 4px; margin:-2px 0 0; line-height:1; }

.pps-cn.info .ic{ color:var(--pps-cn-info) }
.pps-cn.ok   .ic{ color:var(--pps-cn-ok) }
.pps-cn.warn .ic{ color:var(--pps-cn-warn) }
.pps-cn.err  .ic{ color:var(--pps-cn-err) }

.pps-cn .spinner{
  width:22px;height:22px;border:3px solid #E3F2FD;border-top-color:var(--pps-cn-info);
  border-radius:50%; animation:ppsSpin .8s linear infinite; flex:0 0 auto; margin-top:2px;
}

/* Animations */
@keyframes ppsSpin { from{transform:rotate(0)} to{transform:rotate(360deg)} }
@keyframes ppsCnFade { from{opacity:.0} to{opacity:1} }
@keyframes ppsCnPop { from{transform:translateY(4px); opacity:.0} to{transform:translateY(0); opacity:1} }

/* =========================
   Layout & Cards
========================= */
.pps-wizard{font-family:Tahoma, sans-serif;max-width:980px;margin:24px auto;padding:0 12px}
.pps-card{background:#fff;border:1px solid var(--pf-border);border-radius:14px;box-shadow:0 10px 28px rgba(0,0,0,.06);padding:18px}

/* Stepper (desktop) */
.pps-stepper{display:flex;gap:24px;margin:0 0 16px 0}
.pps-step{display:flex;align-items:center;gap:10px;color:var(--pf-muted)}
.pps-step-num{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--pf-border);font-weight:800;color:var(--pf-text)}
.pps-step-main{font-size:14px}
.pps-step-sub{font-size:12px;color:var(--pf-muted)}
.pps-step.is-active .pps-step-num{background:var(--pf-primary);color:#fff}
.pps-step.is-active .pps-step-main{color:var(--pf-primary);font-weight:800}

/* Stepper (mobile: only active) */
@media (max-width:768px){
  .pps-stepper{gap:12px;justify-content:center}
  .pps-step{display:none}
  .pps-step.is-active{display:flex}
  .pps-step-num{width:22px;height:22px;font-size:12px}
  .pps-step-main{font-size:12px;font-weight:700;color:var(--pf-primary)}
  .pps-step-sub{display:block;font-size:11px;color:var(--pf-muted)}
}

/* Section header */
.pps-sec-sub--warn{color:var(--pf-warn);font-weight:700}
.pps-sec-head{display:flex;align-items:baseline;gap:8px;margin:0 0 12px 0;border-bottom:2px solid var(--pf-primary);padding-bottom:6px}
.pps-sec-main{font-weight:800;font-size:18px;color:var(--pf-primary)}
.pps-sec-sub{font-size:14px;color:var(--pf-muted)}

/* =========================
   Forms & Grid
========================= */
.pps-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media (max-width:820px){.pps-grid{grid-template-columns:1fr}}
.pps-field>label{display:block;margin-bottom:6px;color:#374151;font-weight:700}
.pps-static{padding:12px 14px;border:1px solid var(--pf-border);border-radius:10px;background:#FAFAFA}
.pps-input,.pps-select,.pps-textarea{width:100%;padding:12px 14px;border:1px solid var(--pf-border);border-radius:10px;box-sizing:border-box;max-width:100%}
.pps-textarea{min-height:110px}

/* Allow grid items to shrink (fix overflow in mobile) */
#pps-start-field,#pps-end-field,.pps-grid > .pps-field{min-width:0}

/* Step 2: time row responsiveness */
@media (max-width: 520px){
  #pps-grid-time{display:grid;grid-template-columns:1fr;gap:10px}
  #pps-grid-time .pps-field > label{
    font-size:13px;margin-bottom:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis
  }
  #pps-start,#pps-end{direction:ltr;text-align:left;font-size:14px;padding:10px 12px}
  .pps-card{padding:14px}
}
@media (min-width: 521px) and (max-width: 768px){
  #pps-grid-time{display:grid;grid-template-columns:1fr 1fr;gap:12px}
}

/* days>1 layout */
#pps-grid-time.pps-days-multi{display:grid;gap:12px}
@media (min-width:821px){
  #pps-grid-time.pps-days-multi #pps-fee-field{grid-column:1/-1}
  #pps-grid-time.pps-days-multi #pps-start-field{grid-column:1/2}
  #pps-grid-time.pps-days-multi #pps-end-field{grid-column:2/3}
}
@media (max-width:820px){
  #pps-grid-time.pps-days-multi #pps-fee-field,
  #pps-grid-time.pps-days-multi #pps-start-field,
  #pps-grid-time.pps-days-multi #pps-end-field{grid-column:1/-1}
}
#pps-grid-time.pps-days-multi #pps-start-field,
#pps-grid-time.pps-days-multi #pps-end-field{min-width:0}

/* Placeholder look for coords */
.pps-input.is-placeholder{color:#9CA3AF}
#pps-coords-1.is-placeholder,#pps-coords-2.is-placeholder{color:#9CA3AF}

/* =========================
   Drone list
========================= */
.pps-drone-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
@media (max-width:600px){.pps-drone-list{grid-template-columns:1fr}}
.pps-drone-item{display:flex;align-items:center;gap:10px;border:1px solid var(--pf-border);border-radius:10px;padding:10px 12px;background:#fff;cursor:pointer}
.pps-drone-item:hover{border-color:var(--pf-primary)}
.pps-drone-item input[type="checkbox"]{width:18px;height:18px;accent-color:var(--pf-primary)}
.pps-drone-title{font-weight:700;color:var(--pf-text);overflow:hidden;text-overflow:ellipsis}

/* =========================
   Buttons
========================= */
.pps-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px;flex-wrap:wrap}
.pps-btn{display:inline-flex;align-items:center;justify-content:center;border-radius:8px;padding:10px 16px;font-weight:800;cursor:pointer;border:1px solid transparent;text-decoration:none}
.pps-btn,.pps-btn:link,.pps-btn:visited,.pps-btn:hover,.pps-btn:active{color:#fff !important;text-decoration:none !important}
.pps-btn[aria-disabled="true"]{opacity:.5;pointer-events:none}
.pps-btn-primary{background:var(--pf-primary);border-color:var(--pf-primary)}
.pps-btn-primary:hover{background:var(--pf-primary-600);border-color:var(--pf-primary-600)}
.pps-btn-next{background:var(--pf-primary);border-color:var(--pf-primary)}
.pps-btn-next:hover{background:var(--pf-primary-600);border-color:var(--pf-primary-600)}
.pps-btn-next:active,.pps-btn-next[aria-current="true"]{background:#00075f;border-color:#00075f}
.pps-btn-gray{background:#E5E7EB;border-color:#D1D5DB}
.pps-btn-gray:hover{background:var(--pf-primary);border-color:var(--pf-primary)}
.pps-btn-full{width:100%;justify-content:center}
#pps-contact{color:#fff !important} #pps-contact:hover{color:#fff !important}

/* Accessible focus */
.pps-btn:focus-visible,a.pps-btn:focus-visible{outline:3px solid var(--pf-primary-50);outline-offset:2px;box-shadow:0 0 0 3px var(--pf-primary-50)}

/* Phone icon helper */
.pps-icon-phone::before{content:"\260E";display:inline-block;font-size:22px;color:#fff;margin-left:6px}

/* =========================
   Alerts
========================= */
.pps-alert{display:flex;gap:10px;align-items:flex-start;margin:10px 0;padding:12px 14px;border-radius:10px;border:1px solid var(--pf-border);background:var(--pf-bg)}
.pps-alert--warn{border-color:var(--pf-warn-border);background:var(--pf-warn-bg);color:var(--pf-warn)}
.pps-alert--info{border-color:var(--pf-info-border);background:var(--pf-info-bg);color:var(--pf-info)}
.pps-alert-icon{font-size:20px;line-height:1}
.pps-alert-text{line-height:1.8;font-size:14px}

/* Multiline warning line */
.pps-warn-line{display:flex;align-items:flex-start;gap:8px;color:var(--pf-warn);font-weight:800;white-space:normal;word-break:break-word;line-height:1.8}

/* =========================
   Step visibility
========================= */
.pps-section{display:none}
.pps-section.is-active{display:block}

/* =========================
   Preloader (Splash)
========================= */
.pps-preloader{position:fixed; inset:0; background:rgba(255,255,255,.96); display:flex; align-items:center; justify-content:center; z-index:99999; transition:opacity .25s ease;}
.pps-preloader.is-hide{opacity:0; pointer-events:none;}
.pps-pre-box{background:#fff; border:1px solid var(--pf-border); border-radius:16px; padding:16px 18px; min-width:240px; box-shadow:0 12px 32px rgba(0,0,0,.08); display:flex; align-items:center; gap:12px; direction:rtl;}
.pps-pre-spinner{width:26px; height:26px; border:3px solid var(--pf-primary-50); border-top-color: var(--pf-primary); border-radius:50%; animation: ppsSpin .9s linear infinite;}
.pps-pre-text{font-weight:800; color:#1f2937;}
.pps-pre-noscript{color:var(--pf-warn); font-weight:700; margin-top:8px;}
.pps-prelock{overflow:hidden !important;}
html.pps-prelock, body.pps-prelock{height:100%; overflow:hidden !important;}

/* =========================
   Inline helpers (Step 3)
========================= */
.pps-inline{display:grid; gap:12px;}
.pps-inline--1{grid-template-columns:1fr;}
.pps-inline--2{grid-template-columns:1fr;}
.pps-inline--3{grid-template-columns:1fr;}
@media (min-width:821px){
  .pps-inline--2{grid-template-columns:1fr 1fr;}
  .pps-inline--3{grid-template-columns:1fr 1fr 1fr;}
}
.pps-row-radio{display:flex; gap:16px; align-items:center; flex-wrap:wrap;}
.pps-radio{display:flex; align-items:center; gap:6px; cursor:pointer;}
.pps-location-card{scroll-margin-top:90px;}

/* =========================
   Grid-3 helper
========================= */
.pps-grid-3{display:grid; gap:12px; grid-template-columns:1fr;}
@media (min-width:768px){ .pps-grid-3{ grid-template-columns: repeat(3, minmax(0,1fr)); } }

/* =========================
   Review Table (Step 4)
========================= */
.pps-review-table{width:100%; border-collapse:collapse; font-size:14px; direction:rtl;}
.pps-review-table th,.pps-review-table td{border:1px solid #cfd8dc; padding:10px 12px; vertical-align:middle; background:#fff;}
.pps-review-title{font-weight:900; background:#eef2f7; text-align:right; font-size:18px; padding:12px 14px; border:1px solid #cfd8dc; border-bottom:none; margin-top:14px; border-radius:10px 10px 0 0;}
.pps-review-wrap{border:1px solid #cfd8dc; border-top:none; border-radius:0 0 10px 10px; overflow:hidden; margin-bottom:14px;}
@media (max-width:720px){ .pps-review-table th,.pps-review-table td{padding:8px} }

/* Review grid + invoice */
.pps-review-grid{display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:8px;}
.pps-review-col{display:flex; flex-direction:column; gap:8px;}
.pps-review-item{display:flex; justify-content:space-between; gap:8px; padding:8px 12px; border:1px solid var(--pf-border,#e6e6e6); border-radius:10px; background:#fafafa;}
.pps-review-item .pps-rlabel{opacity:.75;}
.pps-hr{border:none; border-top:1px dashed #ddd; margin:16px 0;}
@media (max-width:720px){ .pps-review-grid{ grid-template-columns:1fr; } }

.pps-invoice{border:1px solid #e6e6e6; border-radius:12px; overflow:hidden;}
.pps-inv-row,.pps-inv-total{display:flex; justify-content:space-between; padding:10px 14px; background:#fff;}
.pps-inv-row:not(:last-child){border-bottom:1px solid #f0f0f0;}
.pps-inv-total{background:#f9fbff; font-weight:700;}

/* Step 4 specifics */
#pps-step-4 .pps-card{padding-top:10px;}
#pps-review-body{width:100%;}
#pps-review-body .pps-rw-title td{background:#f6f9fc; color:#2a2f3a; font-weight:700; border-radius:8px; padding:10px 12px; border:1px solid #e6eef5; margin:8px 0;}
#pps-review-body .pps-rw td{background:#fff; border:1px solid #e9edf3; padding:10px 12px;}
#pps-review-body .pps-rw td.pps-rw-lbl{width:34%; color:#39424e; font-weight:600;}
#pps-review-body .pps-rw td.pps-rw-val{color:#111827;}
#pps-review-body .pps-rw-sep td{padding:6px 0 !important; border:0;}
#pps-review-body [data-group="p3a"] + .pps-rw-sep td{border:0; height:12px;}
#pps-accept-4 + label, label[for="pps-accept-4"]{color:#c62828 !important; font-weight:700;}
#pps-step-4 .pps-actions{display:flex; gap:10px; justify-content:flex-end; margin-top:14px;}

.pps-wallet-row{
  display:flex; align-items:center; justify-content:space-between;
  background:#f7f9fc; border:1px solid #e6ebf2; border-radius:12px;
  padding:10px 14px; color:#223;
}
.pps-wallet-label{ font-weight:700; color:#607d8b; }
.pps-wallet-value{
  font-weight:800; font-size:16px; letter-spacing:.3px;
}

/* ردیف ابزارها (۲ ستون مساوی، فول-ویدث) */
.pps-row-tools{ grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 720px){ .pps-row-tools{ grid-template-columns: 1fr; } }

.pps-field-inline{ display:flex; flex-direction:column; gap:6px; }
.pps-inline-label{ font-size:13px; color:#607d8b; font-weight:700; }
.pps-inline-group{ display:flex; gap:8px; align-items:center; }
.pps-flex{ flex:1 1 auto; min-width: 0; }    /* ← این باعث می‌شه ورودی/پیل پهن شوند */
.pps-mini-msg{ font-size:12px; color:#90a4ae; }

/* نمایش مقدار به سبک آیتم‌ها (کشیده) */
.pps-value-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#f7f9fc; border:1px solid #e6ebf2; border-radius:12px;
  padding:8px 12px; font-weight:700; color:#223; width:100%;
  justify-content:space-between;
}
.pps-pill-label{ color:#607d8b; font-weight:700; }
.pps-pill-value{ font-weight:800; }
.pps-pill-unit{ font-size:12px; color:#90a4ae; }

/* دکمه آبی */
.pps-btn-blue{
  background:#1976d2; color:#fff; border-radius:12px; padding:10px 14px;
  display:inline-flex; align-items:center; gap:6px; text-decoration:none; white-space:nowrap;
}
.pps-btn-blue:hover{ filter:brightness(1.05); }

/* پاپ‌آپ کیف پول از استایل‌های عمومی استفاده می‌کند؛ در صورت نیاز: */
#pps-wallet-prompt .pps-wallet-modal .pps-btn { min-width: 96px; }

/* چیپ‌های مبلغ پیشنهادی */
.pps-chip{
  display:inline-flex; align-items:center; justify-content:center;
  padding:8px 10px; border:1px solid #e6ebf2; border-radius:999px;
  background:#f7f9fc; color:#223; text-decoration:none; font-weight:700;
}
.pps-chip:hover{ filter:brightness(1.03); }

/* گروه‌های inline */
.pps-inline-group{ display:flex; gap:8px; align-items:center; flex-wrap:wrap; }

/* مقدار نمایشی شکیل */
.pps-value-pill{
  display:inline-flex; align-items:center; gap:6px;
  background:#f7f9fc; border:1px solid #e6ebf2; border-radius:12px;
  padding:8px 12px; font-weight:700; color:#223;
}
.pps-pill-label{ color:#607d8b; font-weight:700; }
.pps-pill-value{ font-weight:800; }
.pps-pill-unit{ font-size:12px; color:#90a4ae; }

/* ===== Wallet Mini Widget (Step 1) ===== */
.pps-step1-card{ position: relative; } /* برای قراردهی مطلق ویجت */

#pps-wallet-open.pps-wallet-mini{
  position: absolute;
  left: 14px;           /* گوشهٔ چپ بالا */
  top: 12px;
  display: inline-flex; align-items: center; gap: 10px;
  padding: 8px 10px;
  border: 1px solid #e6ebf2; border-radius: 12px;
  background: #fff; text-decoration: none;
  box-shadow: 0 6px 18px rgba(0,0,0,.06);
}
#pps-wallet-open.pps-wallet-mini:hover{ filter: brightness(1.02); }

.pps-wallet-mini-icon{ display:inline-flex; }
.pps-wallet-mini-texts{ display:flex; flex-direction: column; line-height: 1.2; }
.pps-wallet-mini-label{ color:#607d8b; font-weight:700; font-size:12px; }
.pps-wallet-mini-amount{ color:#111; font-weight:800; font-size:14px; }
.pps-wallet-mini-unit{ color:#90a4ae; font-weight:700; font-size:11px; margin-inline-start:4px; }

/* کارت مرحله ۱ باید موقعیت مرجع بده */
.pps-step1-card {
  position: relative;
}

/* ویجت کیف‌پول */
#pps-wallet-open.pps-wallet-mini {
  position: absolute;
  top: 4px;   /* ⬅️ مقدار منفی آوردنش بالای خط آبی */
  left: 14px;  /* کمی بیرون بیاد برای زیبایی */
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 12px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 6px;
  box-shadow: 0 4px 12px rgba(0,0,0,.06);
  text-decoration: none;
}

#pps-wallet-open .pps-wallet-mini-icon {
  flex: 0 0 auto;
}

#pps-wallet-open .pps-wallet-mini-texts {
  display: flex;
  flex-direction: column;
  font-size: 13px;
  line-height: 1.2;
}

#pps-wallet-open .pps-wallet-mini-label {
  font-weight: 700;
  color: #37474f;
}

#pps-wallet-open .pps-wallet-mini-amount {
  font-weight: 800;
  color: #d32f2f;
}

#pps-wallet-open .pps-wallet-mini-unit {
  font-size: 11px;
  color: #78909c;
  margin-inline-start: 2px;
}
/* ===== Step 2: Time row – robust responsive ===== */

/* کانتینر ردیف زمان: اجازه‌ی جمع‌شدن آیتم‌ها و شکست درست */
#pps-grid-time{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr)); /* start / end / fee */
  gap:12px;
}
@media (max-width: 820px){
  #pps-grid-time{
    grid-template-columns: 1fr;   /* موبایل: تک‌ستونه */
    gap:10px;
  }
}

/* هر فیلد در گرید باید بتونه کوچک بشه (جلوگیری از overflow) */
#pps-grid-time .pps-field{ min-width:0 }

/* باکس‌های ساعت: LTR و اعداد هم‌عرض */
#pps-start, #pps-end{
  width:100%;
  box-sizing:border-box;
  direction:ltr;
  text-align:left;
  font-variant-numeric: tabular-nums;
  letter-spacing:.02em;
}

/* بهبود ظاهر time در موبایل‌های WebKit */
input[type="time"].pps-input{
  -webkit-appearance: none;
  appearance: none;
  height:auto;
}

/* placeholder و skeleton داخل کارتِ ساعت که گاهی بیرون می‌زند */
#pps-start-field .pps-static,
#pps-end-field .pps-static{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* وقتی تعداد روزها > 1 است، ردیف‌ها جدا شوند و مبلغ در یک خط کامل بیاید */
#pps-grid-time.pps-days-multi{
  grid-template-columns: 1fr 1fr;
}
@media (max-width: 820px){
  #pps-grid-time.pps-days-multi{
    grid-template-columns: 1fr;   /* موبایل باز هم تک‌ستونه */
  }
}
/* در دسکتاپ: مبلغ روی تمام عرض، شروع/پایان دو ستونه */
@media (min-width:821px){
  #pps-grid-time.pps-days-multi #pps-fee-field{ grid-column:1 / -1; }
  #pps-grid-time.pps-days-multi #pps-start-field{ grid-column:1 / 2; }
  #pps-grid-time.pps-days-multi #pps-end-field{   grid-column:2 / 3; }
}

/* سایز/پدینگ کوچیک‌تر در موبایل */
@media (max-width:520px){
  #pps-start, #pps-end{
    font-size:14px;
    padding:10px 12px;
  }
  #pps-grid-time .pps-field > label{
    font-size:13px;
    margin-bottom:6px;
    white-space:nowrap; overflow:hidden; text-overflow:ellipsis;
  }
}

/* تم بخش مجوزها  */
.pps-license-card{
  border:1px solid #e5e7eb;
  border-radius:14px;
  padding:12px;
  margin:12px 0;
  background:#fff;
}

.pps-license-top{
  display:flex;
  gap:8px;
  align-items:center;
  flex-wrap:wrap;
}

.pps-chip{
  background:#e5e7eb;
  border-radius:999px;
  padding:4px 10px;
  font-size:12px;
  font-weight:700;
}

.pps-chip.green{
  background:#e6f7ee;
  color:#065f46;
}

.pps-license-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-top:12px;
}

.pps-license-grid small{
  font-size:11px;
  color:#6b7280;
}

.pps-license-details{
  display:none;
  margin-top:12px;
  border-top:1px dashed #e5e7eb;
  padding-top:12px;
}

.pps-loc-card{
  background:#f9fafb;
  border:1px solid #e5e7eb;
  border-radius:12px;
  padding:10px;
  margin-bottom:10px;
}

.pps-loc-card iframe{
  width:100%;
  height:260px;
  border:0;
  border-radius:10px;
  margin-top:8px;
}

/* ===== Step 1 – Dashboard Row (SAFE MODE) ===== */

.pps-step1-dashboard{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-bottom:18px;
}

@media (max-width:768px){
  .pps-step1-dashboard{
    grid-template-columns:1fr 1fr;
  }
}
@media (max-width:420px){
  .pps-step1-dashboard{
    grid-template-columns:1fr;
  }
}

.pps-step1-item{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 14px;
  border:1px solid var(--pf-border);
  border-radius:14px;
  background:#fff;
  text-decoration:none;
  color:var(--pf-text);
  transition:.15s ease;
}

.pps-step1-item:hover{
  box-shadow:0 6px 18px rgba(0,0,0,.06);
  transform:translateY(-1px);
}

.pps-step1-icon{
  width:40px;
  height:40px;
  display:flex;
  align-items:center;
  justify-content:center;
  border-radius:10px;
  background:#f1f5f9;
  flex-shrink:0;
}

.pps-step1-text{
  display:flex;
  flex-direction:column;
  line-height:1.2;
}

.pps-step1-title{
  font-size:14px;
  font-weight:800;
}

.pps-step1-sub{
  font-size:12px;
  color:var(--pf-muted);
  font-weight:700;
}

/* =========================
   PDF Buttons – Admin Style
========================= */

.pps-pdf-btn{
  background: #1e40af;          /* آبی اداری */
  color: #ffffff;
  border: 1px solid #1e3a8a;
  box-shadow: 0 4px 10px rgba(30,64,175,.18);
  transition: all .18s ease;
}

.pps-pdf-btn svg{
  stroke: #ffffff;
}

/* شماره داخل دکمه */
.pps-pdf-num{
  background: rgba(255,255,255,.22);
  color: #ffffff;
  font-weight: 800;
}

/* Hover */
.pps-pdf-btn:hover{
  background: #0f172a;          /* سرمه‌ای */
  border-color: #0f172a;
  color: #ffffff;
  box-shadow: 0 6px 16px rgba(15,23,42,.35);
}

/* Hover number */
.pps-pdf-btn:hover .pps-pdf-num{
  background: rgba(255,255,255,.28);
}

/* Focus (دسترسی‌پذیر) */
.pps-pdf-btn:focus-visible{
  outline: 3px solid #93c5fd;
  outline-offset: 2px;
}

/* =========================
   Contact Buttons (Admin theme)
========================= */

.pps-actions-center{
  justify-content: center;
  gap: 12px;
}

.pps-btn-contact{
  background: #1976D2 !important;      /* آبی اداری */
  border: 1px solid #1565C0 !important;
  color: #fff !important;

  font-weight: 800;
  padding: 10px 18px;
  border-radius: 12px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  transition: background-color .15s ease, border-color .15s ease, transform .12s ease;
}

.pps-btn-contact:hover{
  background: #0D47A1 !important;      /* سرمه‌ای رسمی */
  border-color: #0D47A1 !important;
  color: #fff !important;
  transform: translateY(-1px);
}

.pps-btn-contact:active{
  transform: translateY(0);
}

/* موبایل: دکمه‌ها کشیده‌تر و مرتب‌تر */
@media (max-width: 520px){
  .pps-actions-center{
    flex-direction: column;
    align-items: stretch;
  }
  .pps-btn-contact{
    width: 100%;
  }
}

/* ======================================
   Modern Admin Back Button (Icon Only)
   ====================================== */

.pps-back-modern{
  display:inline-flex;
  align-items:center;
  justify-content:center;

  width:42px;
  height:42px;

  background:#D1D5DB;          /* خاکستری اداری روشن */
  color:#ffffff;               /* فلش سفید */

  border:none;
  border-radius:12px;
  cursor:pointer;

  transition:
    background-color .2s ease,
    box-shadow .2s ease,
    transform .12s ease;
}

/* hover: آبی سازمانی */
.pps-back-modern:hover{
  background:#1976D2;
  box-shadow:0 6px 14px rgba(25,118,210,.35);
}

/* active: سرمه‌ای */
.pps-back-modern:active{
  background:#0D47A1;
  transform:translateY(1px);
  box-shadow:0 4px 10px rgba(13,71,161,.4);
}

/* SVG تنظیم دقیق */
.pps-back-modern svg{
  width:20px;
  height:20px;
  display:block;
}

/* فوکوس دسترسی‌پذیر */
.pps-back-modern:focus-visible{
  outline:none;
  box-shadow:0 0 0 3px rgba(25,118,210,.35);
}

/* ======================================
   HARD OVERRIDE — REMOVE ORANGE COMPLETELY
   Back Button (Issued Panel)
   ====================================== */

#pps-issued-panel .pps-back-modern,
#pps-issued-panel .pps-lic-iconBtn.pps-back-modern{
  background-color:#D1D5DB !important; /* خاکستری روشن */
  color:#FFFFFF !important;
  border:none !important;
}

/* hover: آبی سازمانی */
#pps-issued-panel .pps-back-modern:hover,
#pps-issued-panel .pps-lic-iconBtn.pps-back-modern:hover{
  background-color:#1976D2 !important;
  color:#FFFFFF !important;
}

/* active: سرمه‌ای */
#pps-issued-panel .pps-back-modern:active{
  background-color:#0D47A1 !important;
  color:#FFFFFF !important;
}

/* SVG */
#pps-issued-panel .pps-back-modern svg{
  color:#FFFFFF !important;
}

#pps-licenses-panel .pps-back-modern,
#pps-licenses-panel .pps-lic-iconBtn.pps-back-modern{
  background-color:#D1D5DB !important; /* خاکستری روشن */
  color:#FFFFFF !important;
  border:none !important;
}

/* hover: آبی سازمانی */
#pps-licenses-panel .pps-back-modern:hover,
#pps-licenses-panel .pps-lic-iconBtn.pps-back-modern:hover{
  background-color:#1976D2 !important;
  color:#FFFFFF !important;
}

/* active: سرمه‌ای */
#pps-licenses-panel .pps-back-modern:active{
  background-color:#0D47A1 !important;
  color:#FFFFFF !important;
}

/* SVG */
#pps-licenses-panel .pps-back-modern svg{
  color:#FFFFFF !important;
}


/* ======================================
   License Details Button (Admin Style)
   ====================================== */

.pps-license-toggle{
  background-color:#D1D5DB !important;   /* خاکستری روشن */
  color:#FFFFFF !important;
  border:none !important;
  border-radius:10px;
  padding:6px 12px;
  font-size:12px;
  font-weight:800;
  line-height:1;
  cursor:pointer;
  transition:background-color .15s ease, color .15s ease;
}

/* hover */
.pps-license-toggle:hover{
  background-color:#1976D2 !important;   /* آبی سازمانی */
  color:#FFFFFF !important;
}

/* active */
.pps-license-toggle:active{
  background-color:#0D47A1 !important;   /* سرمه‌ای */
  color:#FFFFFF !important;
}

/* focus (دسترسی‌پذیری) */
.pps-license-toggle:focus-visible{
  outline:3px solid rgba(25,118,210,.35);
  outline-offset:2px;
}

/* ======================================
   CSV Export Button (Admin / Official)
   ====================================== */

.pps-lic-csv{
  display:inline-flex;
  align-items:center;
  gap:6px;

  background-color:#88b5ff !important; /* خاکستری روشن */
  color:#FFFFFF !important;

  border:none !important;
  border-radius:10px;
  padding:8px 12px;

  font-size:12px;
  font-weight:900;
  line-height:1;

  cursor:pointer;
  text-decoration:none;
  transition:background-color .15s ease, color .15s ease;
}

/* hover: آبی سازمانی */
.pps-lic-csv:hover{
  background-color:#1976D2 !important;
  color:#FFFFFF !important;
}

/* active: سرمه‌ای */
.pps-lic-csv:active{
  background-color:#0D47A1 !important;
  color:#FFFFFF !important;
}

/* focus (دسترسی‌پذیری) */
.pps-lic-csv:focus-visible{
  outline:3px solid rgba(25,118,210,.35);
  outline-offset:2px;
}

/* آیکن */
.pps-lic-csv svg{
  color:#FFFFFF !important;
  flex:0 0 auto;
}

.pps-leaflet-map{
  width:100%;
  height:300px;
  border-radius:14px;
}

/* All MAP */

/* ================================
   ALL LOCATIONS MAP – ADMIN STYLE
   ================================ */

#pps-all-locations-panel {
  width: 100%;
}

/* کارت اصلی نقشه */
#pps-all-locations-panel .pps-map-wrap {
  position: relative;
  width: 100%;
  height: 520px;
  border-radius: 14px;
  overflow: hidden;
  background: #f3f4f6; /* skeleton background */
  border: 1px solid #e5e7eb;
}

/* خود نقشه */
#pps-allmap {
  width: 100%;
  height: 100%;
  background: #e5e7eb;
}

/* لود سریع‌تر (blur تا آماده‌شدن) */
#pps-allmap.leaflet-container {
  font-family: Vazirmatn, Vazir, sans-serif;
  filter: saturate(1.05);
}

/* ================================
   Leaflet UI – Professional
   ================================ */

/* کنترل زوم */
.leaflet-control-zoom {
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 6px 18px rgba(0,0,0,.15);
}
.leaflet-control-zoom a {
  background: #ffffff;
  color: #111827;
  font-weight: 900;
}
.leaflet-control-zoom a:hover {
  background: #005BCE;
  color: #fff;
}

/* کنترل لایه‌ها (تم نقشه) */
.leaflet-control-layers {
  border-radius: 12px;
  box-shadow: 0 8px 24px rgba(0,0,0,.18);
  border: 0;
}
.leaflet-control-layers-expanded {
  padding: 10px 12px;
  background: #ffffff;
}
.leaflet-control-layers label {
  font-weight: 800;
  font-size: 13px;
}

/* ================================
   Marker Popup – Admin Clean
   ================================ */

.leaflet-popup-content-wrapper {
  border-radius: 14px;
  padding: 6px;
  background: #ffffff;
  box-shadow: 0 12px 32px rgba(0,0,0,.25);
}
.leaflet-popup-content {
  margin: 8px 10px;
  font-size: 13px;
  line-height: 1.7;
  color: #111827;
}
.leaflet-popup-tip {
  background: #ffffff;
}

/* عنوان پاپ‌آپ */
.pps-map-popup-title {
  font-weight: 900;
  margin-bottom: 6px;
  color: #005BCE;
}

/* متن‌های پاپ‌آپ */
.pps-map-popup-line {
  font-weight: 700;
  color: #374151;
}
.pps-map-popup-line span {
  font-weight: 900;
  color: #111827;
}

/* ================================
   Hide Leaflet Branding (UI only)
   ================================ */

/* لوگو و attribution مخفی */
.leaflet-control-attribution {
  display: none !important;
}

#pps-allmap {
  width: 100%;
  height: 100%;
  min-height: 480px;
}

#pps-allmap {
  width: 100%;
  height: 100%;
  min-height: 480px;
}

/* Map container safety */
#pps-allmap{
  width: 100%;
  height: 100%;
  min-height: 480px;
}

/* Leaflet popup RTL + right aligned */
#pps-allmap .leaflet-popup-content,
#pps-allmap .leaflet-popup-content-wrapper{
  direction: rtl;
  text-align: right;
}

.pps-map-popup{
  direction: rtl;
  text-align: right;
  line-height: 1.75;
}

.pps-map-popup-title{
  font-weight: 700;
  margin-bottom: 6px;
}

.pps-map-popup-line{
  margin: 4px 0;
}

.pps-map-popup-line span{
  font-weight: 600;
}

.pps-price-announcement{
  width:100%;
  text-align:right;
  font-size:14px;
  line-height:1.9;
  margin-bottom:14px;
  padding:10px 12px;
  background:#fff5f5;
  border:1px solid #fecaca;
  border-radius:8px;
  color:#7f1d1d;
}

.pps-price-announcement strong{
  color:#dc2626;
  font-weight:700;
}

.pps-time-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
}

@media (max-width:640px){
  .pps-time-row{
    grid-template-columns:1fr;
  }
}