/*!
 * property-form.css — استایل مشترک فرم‌های چندمرحله‌ای ثبت ملک (فروش / اجاره)
 * پالت از لوگوی «خانه نو»: مرکب سبزتیره، نارنجی، آبی آسمانی و برنز. مبتنی بر Bulma؛ فونت از سایت به ارث می‌رسد.
 */
.pf {
  /* --- رنگ‌های لوگو --- */
  --pf-ink: #102425;            /* پس‌زمینه‌ی لوگو: رنگ متن و عناصر پررنگ */
  --pf-orange: #fd7c05;         /* مربع نارنجی: رنگ اصلی دکمه‌ها */
  --pf-orange-hover: #e56d00;
  --pf-orange-soft: rgba(253, 124, 5, .12);
  --pf-sky: #5ecffb;            /* مربع آبی روشن */
  --pf-blue: #17709f;           /* آبی تیره‌تر لوگو برای لینک/فوکوس (خوانا روی سفید) */
  --pf-blue-soft: rgba(94, 207, 251, .22);
  --pf-bronze: #5d4225;         /* قاب برنزی لوگو */
  /* --- خنثی‌ها --- */
  --pf-text: var(--pf-ink);
  --pf-muted: #5a6e70;
  --pf-line: #d9e4e5;
  --pf-line-strong: #b9cccd;
  --pf-surface: #ffffff;
  --pf-tint: #f2f7f7;
  --pf-danger: #d32f2f;
  --pf-ok: #1b8a5a;
  --pf-radius: 14px;
  --pf-octagon: polygon(29% 0, 71% 0, 100% 29%, 100% 71%, 71% 100%, 29% 100%, 0 71%, 0 29%);

  max-width: 760px;
  margin: 0 auto;
  padding: .75rem .75rem 1.5rem;
  color: var(--pf-text);
  font-family: inherit;
  direction: rtl;
}
.pf *, .pf *::before, .pf *::after { box-sizing: border-box; }
.pf-hidden { display: none !important; }

/* ---------- سربرگ ---------- */
.pf-header { display: flex; align-items: center; justify-content: space-between; gap: .75rem; margin: .25rem 0 1rem; }
.pf-header h1 { display: flex; align-items: center; gap: .6rem; font-size: 1.25rem; font-weight: 800; margin: 0; line-height: 1.5; color: var(--pf-ink); }
.pf-mark {                                  /* نشان کوچک الهام‌گرفته از لوگو: هشت‌ضلعی + چهارخانه */
  position: relative; flex: 0 0 auto; width: 32px; height: 32px; background: var(--pf-bronze); clip-path: var(--pf-octagon);
}
.pf-mark::before { content: ""; position: absolute; inset: 2px; background: var(--pf-ink); clip-path: var(--pf-octagon); }
.pf-mark::after {
  content: ""; position: absolute; inset: 9px;
  background: conic-gradient(var(--pf-sky) 0 25%, var(--pf-orange) 0 50%, var(--pf-sky) 0 75%, var(--pf-orange) 0);
}
.pf-cancel { color: var(--pf-muted); font-size: .9rem; text-decoration: none; white-space: nowrap; }
.pf-cancel:hover { color: var(--pf-danger); }
.pf-saved { font-size: .78rem; color: var(--pf-ok); opacity: 0; transition: opacity .3s; margin-inline-start: auto; }
.pf-saved.is-on { opacity: 1; }

/* ---------- نوار پیشرفت (نقطه‌های هشت‌ضلعی مثل لوگو) ---------- */
.pf-progress { list-style: none; margin: 0 0 1rem; padding: 0; display: flex; align-items: flex-start; }
.pf-progress li { flex: 1 1 0; position: relative; text-align: center; min-width: 0; }
.pf-progress li::after {
  content: ""; position: absolute; top: 16px; inset-inline-start: calc(50% + 20px);
  width: calc(100% - 40px); height: 2px; background: var(--pf-line-strong);
}
.pf-progress li:last-child::after { display: none; }
.pf-progress li.is-done::after { background: var(--pf-orange); }
.pf-progress button {
  display: flex; flex-direction: column; align-items: center; gap: .3rem; width: 100%;
  background: none; border: 0; padding: 0; cursor: pointer; font: inherit; color: var(--pf-muted);
}
.pf-dot {
  position: relative; z-index: 1; width: 34px; height: 34px; display: grid; place-items: center;
  background: var(--pf-line-strong); clip-path: var(--pf-octagon);
  font-size: .85rem; font-weight: 800; color: var(--pf-muted); transition: background .2s, color .2s;
}
.pf-dot::before { content: ""; position: absolute; inset: 2px; background: #fff; clip-path: var(--pf-octagon); z-index: -1; transition: background .2s; }
.pf-progress li.is-current .pf-dot { background: var(--pf-orange); color: var(--pf-ink); }
.pf-progress li.is-done .pf-dot { background: var(--pf-ink); color: #fff; }
.pf-progress li.is-done .pf-dot::before { background: var(--pf-ink); }
.pf-progress-label { font-size: .75rem; line-height: 1.3; display: none; }
.pf-progress li.is-current .pf-progress-label { display: block; color: var(--pf-ink); font-weight: 800; }
@media (min-width: 640px) { .pf-progress-label { display: block; } }

/* ---------- کارت اصلی ---------- */
.pf-card { position: relative; background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); box-shadow: 0 1px 3px rgba(16, 36, 37, .06); }
.pf-card::before {                          /* نوار رنگی بالای کارت (چهارخانه‌ی لوگو) */
  content: ""; display: block; height: 5px; border-radius: var(--pf-radius) var(--pf-radius) 0 0;
  background: linear-gradient(90deg, var(--pf-orange) 0 25%, var(--pf-sky) 0 50%, var(--pf-orange) 0 75%, var(--pf-sky) 0);
}
.pf-body { padding: 1.1rem 1rem; }
@media (min-width: 640px) { .pf-body { padding: 1.5rem; } }

.pf-step { display: none; }
.pf-step.is-active { display: block; animation: pf-in .22s ease-out; }
@keyframes pf-in { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
.pf-step-title { font-size: 1.1rem; font-weight: 800; margin: 0 0 .25rem; outline: none; color: var(--pf-ink); }
.pf-step-sub { color: var(--pf-muted); font-size: .88rem; margin: 0 0 1.1rem; }

/* ---------- شبکه فیلدها ---------- */
.pf-grid { display: grid; grid-template-columns: 1fr; gap: 1rem; margin-bottom: 1rem; }
@media (min-width: 640px) {
  .pf-grid.pf-2 { grid-template-columns: 1fr 1fr; }
  .pf-grid.pf-3 { grid-template-columns: repeat(3, 1fr); }
}
.pf-span { grid-column: 1 / -1; }
.pf .field { margin-bottom: 1rem; }
.pf .pf-grid > .field { margin-bottom: 0; }
.pf .label { font-size: .9rem; font-weight: 700; margin-bottom: .4rem; color: var(--pf-ink); }
.pf-required::after { content: " *"; color: var(--pf-orange-hover); }
.pf-opt { color: var(--pf-muted); font-weight: 400; font-size: .8rem; }

.pf .input, .pf .textarea, .pf .select select {
  min-height: 2.9rem; font-size: 16px;                  /* جلوگیری از zoom خودکار iOS */
  border-radius: 10px; border-color: var(--pf-line-strong); box-shadow: none; font-family: inherit; color: var(--pf-ink);
}
.pf .select, .pf .select select { width: 100%; }
.pf .select:not(.is-multiple):not(.is-loading)::after { border-color: var(--pf-bronze); }
.pf .input::placeholder, .pf .textarea::placeholder { color: #8fa2a4; }
.pf .input:focus, .pf .textarea:focus, .pf .select select:focus {
  border-color: var(--pf-blue); box-shadow: 0 0 0 3px rgba(94, 207, 251, .40);
}
.pf .input[readonly] { background: var(--pf-tint); }
.pf .input.is-static { background: var(--pf-tint); border: 1px solid var(--pf-line); padding-inline: .75rem; }
.pf .input.is-danger, .pf .select.is-danger select, .pf .textarea.is-danger { border-color: var(--pf-danger); }
.pf .select.is-danger::after { border-color: var(--pf-danger) !important; }
.pf-locked, .pf .select.pf-locked select { pointer-events: none; background: #e9f0f1; color: var(--pf-muted); }

.pf-msg, .pf .field-validation-error { display: block; color: var(--pf-danger); font-size: .82rem; margin-top: .35rem; }
.pf-msg:empty { display: none; }
.pf .field-validation-valid:empty { display: none; }
.pf .validation-summary-errors { color: var(--pf-danger); margin-bottom: .75rem; font-size: .9rem; }
.pf .validation-summary-errors ul { margin: 0; padding-inline-start: 1.1rem; }
.pf-hint { color: var(--pf-muted); font-size: .8rem; margin-top: .35rem; }
.pf-hint.is-words { color: var(--pf-blue); font-weight: 600; }

/* ---------- اسلایدر ---------- */
.pf-range { display: flex; align-items: center; gap: .9rem; }
.pf-range input[type=range] { flex: 1 1 auto; width: 100%; height: 2.4rem; accent-color: var(--pf-orange); margin: 0; cursor: pointer; }
.pf-range output {
  flex: 0 0 auto; min-width: 6.2rem; text-align: center; font-size: .85rem; font-weight: 700;
  background: var(--pf-blue-soft); color: var(--pf-ink); border-radius: 999px; padding: .3rem .7rem;
}

/* ---------- نقشه ---------- */
.pf-map-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; margin-bottom: .4rem; }
.pf-map-head .label { margin: 0; }
.pf-map { position: relative; isolation: isolate; height: clamp(260px, 46vh, 440px); border-radius: 12px; border: 1px solid var(--pf-line-strong); overflow: hidden; background: #e6eeef; }
.pf-map-fail { height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .6rem; color: var(--pf-muted); font-size: .9rem; padding: 1rem; text-align: center; }
.pf-map-note { font-size: .78rem; color: var(--pf-muted); margin-top: .4rem; }

/* ---------- انتخاب جهت ---------- */
.pf-chips { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
@media (max-width: 400px) { .pf-chips { grid-template-columns: repeat(2, minmax(0, 1fr)); } }   /* موبایل باریک: دو ستون، هیچ گزینه‌ای از کادر بیرون نمی‌زند */
@media (min-width: 640px) { .pf-chips { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.pf-chip { position: relative; display: block; min-width: 0; margin: 0; cursor: pointer; }
.pf-chip input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pf-chip span { display: block; text-align: center; padding: .6rem .3rem; font-size: .85rem; line-height: 1.6; overflow-wrap: break-word; border: 1px solid var(--pf-line-strong); border-radius: 10px; background: #fff; transition: all .15s; }
.pf-chip:hover span { border-color: var(--pf-orange); }
.pf-chip input:checked + span { background: var(--pf-ink); border-color: var(--pf-ink); color: #fff; font-weight: 700; box-shadow: inset 0 -3px 0 var(--pf-orange); }
.pf-chip input:focus-visible + span { box-shadow: 0 0 0 3px rgba(94, 207, 251, .55); border-color: var(--pf-blue); }

/* ---------- بخش اختیاری ---------- */
.pf-more { border: 1px solid var(--pf-line); border-radius: 12px; margin: 1.25rem 0 0; background: var(--pf-tint); }
.pf-more > summary { list-style: none; cursor: pointer; padding: .9rem 1rem; font-weight: 700; display: flex; align-items: center; justify-content: space-between; gap: .5rem; color: var(--pf-ink); }
.pf-more > summary::-webkit-details-marker { display: none; }
.pf-more > summary small { color: var(--pf-muted); font-weight: 400; }
.pf-more > summary::after { content: "\f078"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .75rem; color: var(--pf-bronze); transition: transform .2s; margin-inline-start: auto; }
.pf-more[open] > summary::after { transform: rotate(180deg); }
.pf-more-body { padding: .25rem 1rem 1rem; }

/* ---------- آپلود تصویر ---------- */
.pf-drop {
  display: flex; flex-direction: column; align-items: center; gap: .35rem; text-align: center; cursor: pointer;
  border: 2px dashed var(--pf-line-strong); border-radius: 12px; padding: 1.25rem 1rem; background: var(--pf-tint); transition: border-color .15s, background .15s;
}
.pf-drop i { font-size: 1.6rem; color: var(--pf-orange); }
.pf-drop small { color: var(--pf-muted); font-size: .78rem; }
.pf-drop:hover, .pf-drop.is-over, .pf-drop:focus-visible { border-color: var(--pf-orange); background: var(--pf-orange-soft); outline: none; }
.pf-file-input { display: none; }
.pf-thumbs { display: grid; grid-template-columns: repeat(auto-fill, minmax(104px, 1fr)); gap: .6rem; margin-top: .8rem; }
.pf-thumb { position: relative; aspect-ratio: 1; border-radius: 10px; overflow: hidden; border: 2px solid var(--pf-line); background: #e6eeef; }
.pf-thumb.is-main { border-color: var(--pf-orange); }
.pf-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-thumb button { position: absolute; border: 0; cursor: pointer; font-family: inherit; }
.pf-thumb-del { top: 4px; inset-inline-start: 4px; width: 28px; height: 28px; border-radius: 50%; background: rgba(16, 36, 37, .75); color: #fff; font-size: 1rem; line-height: 1; }
.pf-thumb-main { bottom: 4px; inset-inline: 4px; padding: .3rem; border-radius: 8px; font-size: .72rem; background: rgba(255,255,255,.93); color: var(--pf-ink); }
.pf-thumb.is-main .pf-thumb-main { background: var(--pf-orange); color: var(--pf-ink); font-weight: 700; }
.pf-thumb-size { position: absolute; top: 4px; inset-inline-end: 4px; font-size: .65rem; background: rgba(16, 36, 37, .65); color: #fff; padding: 1px 6px; border-radius: 999px; }
.pf-thumb.is-busy::after { content: ""; position: absolute; inset: 0; background: rgba(255,255,255,.7) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='32' height='32' viewBox='0 0 50 50'%3E%3Ccircle cx='25' cy='25' r='20' fill='none' stroke='%23fd7c05' stroke-width='5' stroke-dasharray='90 40'%3E%3CanimateTransform attributeName='transform' type='rotate' from='0 25 25' to='360 25 25' dur='0.8s' repeatCount='indefinite'/%3E%3C/circle%3E%3C/svg%3E") center no-repeat; }
.pf-count { font-size: .8rem; color: var(--pf-muted); margin-top: .5rem; }
.pf-count.is-full { color: var(--pf-danger); }

/* ---------- خلاصه و تایید ---------- */
.pf-sum-block { border: 1px solid var(--pf-line); border-radius: 12px; margin-bottom: .8rem; overflow: hidden; }
.pf-sum-head { display: flex; align-items: center; justify-content: space-between; gap: .5rem; padding: .6rem .9rem; background: var(--pf-tint); border-bottom: 1px solid var(--pf-line); font-weight: 800; font-size: .9rem; color: var(--pf-ink); }
.pf-sum-head button { background: none; border: 0; color: var(--pf-blue); cursor: pointer; font: inherit; font-size: .82rem; font-weight: 700; }
.pf-sum-list { margin: 0; padding: .3rem .9rem .5rem; }
.pf-sum-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .15rem 1rem; padding: .45rem 0; border-bottom: 1px dashed var(--pf-line); font-size: .88rem; }
.pf-sum-row:last-child { border-bottom: 0; }
.pf-sum-row dt { color: var(--pf-muted); flex: 0 1 auto; max-width: 100%; }
/* اگر مقدار کنار برچسب جا نشد، کل مقدار (عدد + واحد) یک‌جا به خط بعد می‌رود و در همان ردیف می‌ماند؛ ارقام هرگز وسطشان شکسته نمی‌شوند.
   فقط اگر یک «کلمه» از کل عرض ردیف بلندتر باشد (آدرس/لینک خیلی طولانی) در آخرین حالت شکسته می‌شود. */
.pf-sum-row dd { margin: 0; flex: 0 1 auto; max-width: 100%; text-align: start; font-weight: 700; overflow-wrap: break-word; word-break: normal; }
.pf-confirm { display: flex; align-items: flex-start; gap: .55rem; padding: .8rem; border-radius: 12px; background: var(--pf-blue-soft); font-size: .9rem; cursor: pointer; color: var(--pf-ink); }
.pf-confirm input { margin-top: .3rem; width: 1.1rem; height: 1.1rem; accent-color: var(--pf-orange); }

/* ---------- نوار عملیات (چسبیده به پایین) ---------- */
.pf-actions {
  position: sticky; bottom: 0; z-index: 30; display: flex; gap: .6rem; align-items: center;
  padding: .7rem .75rem calc(.7rem + env(safe-area-inset-bottom, 0px));
  background: rgba(255,255,255,.96); backdrop-filter: blur(6px);
  border-top: 1px solid var(--pf-line); border-radius: 0 0 var(--pf-radius) var(--pf-radius);
}
.pf .button { font-family: inherit; }
.pf-actions .button { flex: 1 1 0; height: 2.9rem; border-radius: 10px; font-weight: 800; }
.pf-actions #pfPrev { flex: 0 0 34%; }
.pf .button.is-primary { background: var(--pf-orange); color: var(--pf-ink); border-color: transparent; }
.pf .button.is-primary:hover, .pf .button.is-primary:focus { background: var(--pf-orange-hover); color: var(--pf-ink); }
.pf .button.is-primary:focus-visible { box-shadow: 0 0 0 3px rgba(94, 207, 251, .6); }
.pf .button.is-primary.is-loading::after { border-color: transparent transparent var(--pf-ink) var(--pf-ink) !important; }
.pf .button.is-light { background: #fff; color: var(--pf-ink); border: 1px solid var(--pf-line-strong); }
.pf .button.is-light:hover { background: var(--pf-tint); border-color: var(--pf-ink); }
@media (min-width: 640px) { .pf-actions .button { flex: 0 0 auto; min-width: 9rem; } .pf-actions { justify-content: space-between; } }

/* ---------- سایر ---------- */
.pf .notification { border-radius: 12px; font-size: .9rem; padding: .8rem 1rem; margin-bottom: 1rem; }
.pf-draft { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; background: var(--pf-orange-soft); border: 1px solid rgba(253, 124, 5, .4); color: var(--pf-bronze); border-radius: 12px; padding: .7rem .9rem; font-size: .88rem; margin-bottom: 1rem; }
.pf-draft-actions { display: flex; gap: .4rem; }
.pf-rules { border: 1px solid var(--pf-line); border-radius: 12px; padding: .7rem .9rem; font-size: .85rem; margin-bottom: 1rem; background: #fff; }
.pf-rules summary { cursor: pointer; font-weight: 700; color: var(--pf-ink); }
.pf-rules summary i { color: var(--pf-orange); margin-inline-end: .25rem; }
.pf-rules ul { margin: .5rem 0 0; padding-inline-start: 1.1rem; color: var(--pf-muted); line-height: 1.9; }

@media (prefers-reduced-motion: reduce) {
  .pf *, .pf *::before, .pf *::after { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* =====================================================================
   پنل مالک: بررسی / ویرایش / تایید ملک و لیست املاک
   ===================================================================== */
.pf-wide { max-width: 1040px; }
.pf-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

.pf-sec { background: var(--pf-surface); border: 1px solid var(--pf-line); border-radius: var(--pf-radius); padding: 1.1rem 1rem; margin-bottom: 1rem; }
@media (min-width: 640px) { .pf-sec { padding: 1.4rem; } }
.pf-sec > h2 { font-size: 1.02rem; font-weight: 800; margin: 0 0 .9rem; color: var(--pf-ink); display: flex; align-items: center; gap: .5rem; }
.pf-sec > h2 i { color: var(--pf-orange); font-size: .95rem; }

/* نشان وضعیت */
.pf-status { display: inline-flex; align-items: center; gap: .4rem; font-size: .8rem; font-weight: 800; padding: .25rem .75rem; border-radius: 999px; white-space: nowrap; }
.pf-status.is-pending { background: var(--pf-orange-soft); color: var(--pf-bronze); }
.pf-status.is-ok { background: rgba(27, 138, 90, .14); color: #11603f; }
.pf-status.is-archived { background: #e6eeef; color: var(--pf-muted); }
.pf-meta { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem 1rem; margin-top: .9rem; font-size: .86rem; }
@media (min-width: 640px) { .pf-meta { grid-template-columns: repeat(4, 1fr); } }
.pf-meta dt { color: var(--pf-muted); font-size: .76rem; }
.pf-meta dd { margin: 0; font-weight: 700; word-break: break-word; }
.pf-top { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; }
.pf-top h2 { margin: 0; font-size: 1.05rem; font-weight: 800; }

/* چک‌لیست آمادگی تایید */
.pf-check { list-style: none; margin: .9rem 0 0; padding: 0; display: grid; grid-template-columns: repeat(2, 1fr); gap: .35rem .8rem; font-size: .84rem; }
@media (min-width: 640px) { .pf-check { grid-template-columns: repeat(3, 1fr); } }
.pf-check li { display: flex; align-items: center; gap: .4rem; color: var(--pf-muted); }
.pf-check li::before { content: "\f111"; font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .5rem; color: var(--pf-line-strong); }
.pf-check li.is-ok { color: #11603f; }
.pf-check li.is-ok::before { content: "\f00c"; font-size: .75rem; color: var(--pf-ok); }
.pf-check li.is-bad { color: var(--pf-danger); font-weight: 700; }
.pf-check li.is-bad::before { content: "\f00d"; font-size: .8rem; color: var(--pf-danger); }

/* مدیریت تصاویر */
.pf-main-img { max-width: 320px; border-radius: 12px; overflow: hidden; border: 1px solid var(--pf-line); background: #e6eeef; margin-bottom: .8rem; }
.pf-main-img img { display: block; width: 100%; height: auto; }
.pf-thumb form { margin: 0; }
.pf-thumb .pf-thumb-main:disabled { cursor: default; }
.pf-video { width: 100%; max-width: 560px; border-radius: 10px; margin-bottom: .8rem; }

/* منوی بیشتر در نوار عملیات */
.pf-menu { position: relative; flex: 0 0 auto; }
.pf-menu > summary { list-style: none; cursor: pointer; }
.pf-menu > summary::-webkit-details-marker { display: none; }
.pf-actions .pf-menu > summary.button { min-width: 0; width: 2.9rem; padding: 0; flex: none; }
.pf-menu-list {
  position: absolute; bottom: calc(100% + 8px); inset-inline-end: 0; min-width: 12rem; z-index: 40;
  background: #fff; border: 1px solid var(--pf-line); border-radius: 12px; padding: .35rem; box-shadow: 0 8px 24px rgba(16, 36, 37, .18);
}
.pf-menu-item { display: flex; align-items: center; gap: .55rem; width: 100%; padding: .6rem .7rem; border: 0; background: none; border-radius: 8px; font: inherit; font-size: .9rem; cursor: pointer; text-align: start; color: var(--pf-ink); }
.pf-menu-item:hover { background: var(--pf-tint); }
.pf-menu-item.is-danger { color: var(--pf-danger); }

/* لیست املاک (Amlak) */
.pf-tabs { display: flex; gap: .4rem; overflow-x: auto; padding-bottom: .3rem; margin-bottom: 1rem; -webkit-overflow-scrolling: touch; }
.pf-tab { flex: 0 0 auto; display: inline-flex; align-items: center; gap: .45rem; padding: .55rem .95rem; border-radius: 999px; border: 1px solid var(--pf-line-strong); background: #fff; color: var(--pf-ink); font-size: .88rem; font-weight: 700; text-decoration: none; white-space: nowrap; }
.pf-tab:hover { border-color: var(--pf-orange); }
.pf-tab.is-active { background: var(--pf-ink); border-color: var(--pf-ink); color: #fff; box-shadow: inset 0 -3px 0 var(--pf-orange); }
.pf-tab .pf-badge { min-width: 1.5rem; text-align: center; font-size: .72rem; padding: .05rem .4rem; border-radius: 999px; background: var(--pf-orange-soft); color: var(--pf-bronze); }
.pf-tab.is-active .pf-badge { background: var(--pf-orange); color: var(--pf-ink); }

.pf-table { width: 100%; border-collapse: collapse; font-size: .88rem; }
.pf-table th { text-align: start; font-size: .78rem; color: var(--pf-muted); font-weight: 700; padding: .6rem .6rem; border-bottom: 1px solid var(--pf-line); white-space: nowrap; }
.pf-table td { padding: .6rem; border-bottom: 1px solid var(--pf-line); vertical-align: middle; }
.pf-table tbody tr:hover { background: var(--pf-tint); }
.pf-table img { width: 64px; height: 48px; object-fit: cover; border-radius: 8px; display: block; background: #e6eeef; }
.pf-empty { text-align: center; color: var(--pf-muted); padding: 2rem 1rem; }
@media (max-width: 767px) {                        /* در موبایل هر ردیف یک کارت */
  .pf-table thead { display: none; }
  .pf-table, .pf-table tbody, .pf-table tr, .pf-table td { display: block; width: 100%; }
  .pf-table tr { border: 1px solid var(--pf-line); border-radius: 12px; padding: .5rem .7rem; margin-bottom: .7rem; background: #fff; }
  .pf-table td { border: 0; padding: .25rem 0; display: flex; justify-content: space-between; gap: 1rem; }
  .pf-table td::before { content: attr(data-label); color: var(--pf-muted); font-size: .78rem; flex: 0 0 auto; }
  .pf-table td.pf-cell-img { justify-content: flex-start; }
  .pf-table td.pf-cell-img::before { display: none; }
  .pf-table td.pf-cell-img img { width: 100%; height: 150px; }
}
.pf-pager { display: flex; flex-wrap: wrap; justify-content: center; gap: .3rem; margin-top: 1rem; }
.pf-pager a, .pf-pager span { min-width: 2.2rem; text-align: center; padding: .4rem .6rem; border-radius: 8px; border: 1px solid var(--pf-line-strong); text-decoration: none; color: var(--pf-ink); font-size: .85rem; background: #fff; }
.pf-pager a:hover { border-color: var(--pf-orange); }
.pf-pager .is-current { background: var(--pf-ink); border-color: var(--pf-ink); color: #fff; }
.pf-pager .is-disabled { color: #9fb0b2; border-color: var(--pf-line); }

/* =====================================================================
   فرم‌های بازدیدکننده: کپچا و صفحه‌ی موفقیت
   ===================================================================== */
.pf-captcha { margin-top: 1.1rem; }
.pf-captcha-row { display: grid; grid-template-columns: auto 1fr; gap: .75rem; align-items: center; }
.pf-captcha-box { display: flex; align-items: center; gap: .4rem; }
.pf-captcha-box img { display: block; width: 150px; height: 50px; border-radius: 8px; border: 1px solid var(--pf-line-strong); cursor: pointer; background: #6cdefd; }
.pf-captcha-refresh { flex: 0 0 auto; width: 2.4rem; height: 2.4rem; border-radius: 50%; border: 1px solid var(--pf-line-strong); background: #fff; color: var(--pf-bronze); cursor: pointer; }
.pf-captcha-refresh:hover { border-color: var(--pf-orange); color: var(--pf-orange-hover); }
@media (max-width: 420px) { .pf-captcha-row { grid-template-columns: 1fr; } }

.pf-success { text-align: center; padding: 1.5rem 1rem .5rem; }
.pf-success-icon { width: 64px; height: 64px; margin: 0 auto .8rem; display: grid; place-items: center; background: var(--pf-ok); color: #fff; font-size: 1.6rem; clip-path: var(--pf-octagon); }
.pf-success h1 { font-size: 1.3rem; font-weight: 800; margin: 0 0 .4rem; color: var(--pf-ink); }
.pf-success p { color: var(--pf-muted); font-size: .92rem; margin: 0; }
.pf-code { display: inline-block; margin: .9rem 0 0; padding: .45rem 1.1rem; border-radius: 12px; background: var(--pf-orange-soft); color: var(--pf-bronze); font-weight: 800; font-size: 1.05rem; letter-spacing: .06em; }
.pf-success-actions { display: flex; flex-wrap: wrap; gap: .6rem; justify-content: center; margin: 1.2rem 0 .5rem; }
.pf-success-actions .button { min-width: 11rem; height: 2.9rem; border-radius: 10px; font-weight: 800; }

/* select2 (لایوت عمومی سایت): هماهنگ با فیلدهای فرم */
.pf .select2-container { width: 100% !important; }
.pf .select2-container--default .select2-selection--single { height: 2.9rem; border: 1px solid var(--pf-line-strong); border-radius: 10px; display: flex; align-items: center; }
.pf .select2-container--default .select2-selection--single .select2-selection__rendered { line-height: normal; padding-inline: .75rem; font-size: 16px; color: var(--pf-ink); width: 100%; }
.pf .select2-container--default .select2-selection--single .select2-selection__arrow { height: 100%; }
.pf .select2-container--default.select2-container--focus .select2-selection--single { border-color: var(--pf-blue); box-shadow: 0 0 0 3px rgba(94, 207, 251, .40); }
.pf .select.is-danger .select2-selection--single { border-color: var(--pf-danger); }

/* =====================================================================
   فرم درخواست خرید / اجاره‌ی مشتری
   ===================================================================== */
.pf-pair { display: grid; grid-template-columns: 1fr 1fr; gap: .6rem; }
.pf-pair-col .pf-hint { min-height: 1.1em; }
.pf-subtitle { font-size: .88rem; font-weight: 800; color: var(--pf-bronze); margin: 1.2rem 0 .6rem; padding-top: .9rem; border-top: 1px dashed var(--pf-line-strong); }
.pf-checks { display: grid; grid-template-columns: repeat(2, 1fr); gap: .5rem; }
@media (min-width: 640px) { .pf-checks { grid-template-columns: repeat(4, 1fr); } .pf-checks.is-3 { grid-template-columns: repeat(3, 1fr); } }

/* جدول امکانات: هر امکان یک کارت با چهار گزینه‌ی اهمیت */
.pf-amen-grid { display: grid; grid-template-columns: 1fr; gap: .7rem; }
@media (min-width: 768px) { .pf-amen-grid { grid-template-columns: 1fr 1fr; } }
.pf-amen { margin: 0; padding: .7rem .8rem .8rem; border: 1px solid var(--pf-line); border-radius: 12px; background: #fff; min-width: 0; }
.pf-amen legend { float: none; width: auto; padding: 0 .35rem; font-size: .9rem; font-weight: 800; color: var(--pf-ink); }
.pf-amen-chips { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; margin-top: .3rem; }
.pf-amen .pf-chip span { padding: .5rem .2rem; font-size: .78rem; }
.pf-amen-clear { margin-top: .5rem; background: none; border: 0; padding: 0; color: var(--pf-blue); font: inherit; font-size: .78rem; cursor: pointer; }
.pf-amen-clear:hover { text-decoration: underline; }
.pf-legend-row { display: flex; flex-wrap: wrap; gap: .4rem .9rem; font-size: .8rem; color: var(--pf-muted); margin: 0 0 .8rem; }

/* =====================================================================
   پنل مشاور: میان‌برها، پیشنهاد ملک و گزارش پیگیری
   ===================================================================== */
.pf-quick { display: grid; grid-template-columns: repeat(2, 1fr); gap: .6rem; margin-bottom: 1rem; }
@media (min-width: 768px) { .pf-quick { grid-template-columns: repeat(5, 1fr); } }
.pf-quick a { display: flex; flex-direction: column; align-items: center; justify-content: center; gap: .4rem; padding: .85rem .4rem; background: #fff; border: 1px solid var(--pf-line); border-radius: 12px; text-decoration: none; color: var(--pf-ink); font-size: .82rem; font-weight: 700; text-align: center; line-height: 1.5; transition: border-color .15s, box-shadow .15s; }
.pf-quick a i { font-size: 1.25rem; color: var(--pf-orange); }
.pf-quick a:hover, .pf-quick a.is-active { border-color: var(--pf-orange); box-shadow: 0 2px 10px rgba(253, 124, 5, .15); }
.pf-search { display: flex; gap: .5rem; margin-bottom: 1rem; }
.pf-search .input { flex: 1 1 auto; }
.pf-badge-new { display: inline-flex; align-items: center; gap: .3rem; padding: .15rem .6rem; border-radius: 999px; background: var(--pf-orange); color: var(--pf-ink); font-size: .74rem; font-weight: 800; text-decoration: none; white-space: nowrap; }
.pf-date-warn { color: var(--pf-danger); font-weight: 700; }

/* کارت ملک پیشنهادی */
.pf-match { display: grid; grid-template-columns: 1fr; gap: .8rem; padding: .9rem; border: 1px solid var(--pf-line); border-radius: 12px; background: #fff; margin-bottom: .9rem; }
@media (min-width: 640px) { .pf-match { grid-template-columns: 150px 1fr; } }
.pf-match.is-sent { border-color: var(--pf-ok); background: rgba(27, 138, 90, .04); }
.pf-match.is-rejected { opacity: .65; }
.pf-match-img { position: relative; border-radius: 10px; overflow: hidden; background: #e6eeef; aspect-ratio: 4 / 3; }
.pf-match-img img { width: 100%; height: 100%; object-fit: cover; display: block; }
.pf-percent { position: absolute; top: 6px; inset-inline-start: 6px; min-width: 3rem; text-align: center; padding: .2rem .55rem; border-radius: 999px; font-size: .85rem; font-weight: 800; color: #fff; background: var(--pf-ink); box-shadow: 0 1px 4px rgba(0,0,0,.3); }
.pf-percent.is-high { background: var(--pf-ok); }
.pf-percent.is-mid { background: var(--pf-orange); color: var(--pf-ink); }
.pf-match h3 { margin: 0 0 .3rem; font-size: 1rem; font-weight: 800; }
.pf-match h3 a { color: var(--pf-ink); text-decoration: none; }
.pf-match h3 a:hover { color: var(--pf-orange-hover); }
.pf-match-facts { display: flex; flex-wrap: wrap; gap: .3rem 1rem; font-size: .85rem; color: var(--pf-muted); margin-bottom: .5rem; }
.pf-match-facts strong { color: var(--pf-ink); }
.pf-reasons { list-style: none; margin: .4rem 0; padding: 0; display: grid; grid-template-columns: 1fr; gap: .15rem .9rem; font-size: .82rem; }
@media (min-width: 768px) { .pf-reasons { grid-template-columns: 1fr 1fr; } }
.pf-reasons li { display: flex; gap: .4rem; align-items: baseline; }
.pf-reasons li::before { font-family: "Font Awesome 6 Free"; font-weight: 900; font-size: .72rem; flex: 0 0 auto; }
.pf-reasons li.is-ok { color: #11603f; }          .pf-reasons li.is-ok::before { content: "\f00c"; color: var(--pf-ok); }
.pf-reasons li.is-near { color: var(--pf-bronze); } .pf-reasons li.is-near::before { content: "\f6a7"; color: var(--pf-orange); }
.pf-reasons li.is-unknown { color: var(--pf-muted); } .pf-reasons li.is-unknown::before { content: "\3f"; font-family: inherit; font-weight: 800; color: var(--pf-muted); }
.pf-reasons li.is-bad { color: var(--pf-danger); } .pf-reasons li.is-bad::before { content: "\f00d"; color: var(--pf-danger); }
.pf-contact { font-size: .84rem; padding: .5rem .7rem; border-radius: 8px; background: var(--pf-tint); margin: .4rem 0; word-break: break-word; }
.pf-match-actions { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .5rem; }
.pf-match-actions form { margin: 0; }
.pf-match-actions .button { height: 2.2rem; font-size: .8rem; border-radius: 8px; }
.pf-window { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .6rem; font-size: .88rem; }

/* گزارش پیگیری */
.pf-timeline { list-style: none; margin: 1rem 0 0; padding: 0; border-inline-start: 2px solid var(--pf-line-strong); }
.pf-timeline li { position: relative; padding: 0 1rem .9rem; }
.pf-timeline li::before { content: ""; position: absolute; inset-inline-start: -7px; top: .3rem; width: 12px; height: 12px; border-radius: 50%; background: var(--pf-orange); border: 2px solid #fff; }
.pf-timeline time { display: block; font-size: .76rem; color: var(--pf-muted); }
.pf-timeline p { margin: .15rem 0 0; white-space: pre-wrap; }
.pf-timeline .pf-next { display: inline-block; margin-top: .25rem; font-size: .78rem; color: var(--pf-bronze); background: var(--pf-orange-soft); padding: .1rem .6rem; border-radius: 999px; }
.section {
    margin-top: -70px !important;
    margin-bottom: -70px !important;
}

@media (max-width: 600px) {
    .section {
        padding-left: 5px !important;
        padding-right: 5px !important;
    }
}
