/* ==========================================================================
   گیلند ملک (سایت ۲) — سیستم طراحی بخش اجاره کوتاه مدت

   قالب اجاره از قالب اصلی سایت ۲ جداست: پالت فیروزه ای/سرمه ای سایت ۱۳ به علاوه
   یک لهجه ی کهربایی برای قیمت شب و دکمه های رزرو. همه چیز زیر `.rt-page`
   (روی <body>) اسکوپ شده تا هیچ قاعده ای به صفحات خرید و فروش نشت نکند.

   ترتیب بارگذاری: theme2.min.css → style.css → این فایل. با این حال هر قاعده ای
   که با تم رقابت دارد عمدا با `.rt-page ...` نوشته شده تا بدون !important برنده
   شود (تم روی .btn-primary و امثالش تک کلاسی می نویسد).

   فهرست: توکن ها → پایه → هدر → فوتر → هیرو و جستجو → بخش ها → کارت اقامتگاه →
   دسته ها → مزیت ها → نوار میزبان → سوالات → شهرها → بازنویسی بوت استرپ →
   صفحه ی جستجو (gr-) → صفحه ی اقامتگاه → واکنش گرا
   ========================================================================== */

/* قلم: theme2 فقط وزن ۴۰۰ وزیر را تعریف کرده و برای بولد یک فمیلی جدا
   (vazir-bold) ساخته ، پس هر جای صفحه که font-weight:700 می خواست بولدِ
   ساختگی و کشیده می گرفت. اینجا هر دو وزن زیر یک نام ثبت می شوند. */
@font-face {
  font-family: VazirRT;
  src: url('/fonts/vazir/Vazir.woff2') format('woff2'),
       url('/fonts/vazir/Vazir.woff') format('woff');
  font-weight: 400;
  font-style: normal;
  font-display: swap;
}

@font-face {
  font-family: VazirRT;
  src: url('/fonts/vazir/Vazir-Bold.woff2') format('woff2'),
       url('/fonts/vazir/Vazir-Bold.woff') format('woff');
  font-weight: 700;
  font-style: normal;
  font-display: swap;
}

/* --------------------------------------------------------------------------
   توکن ها
   -------------------------------------------------------------------------- */

.rt-page {
  /* پایه — همان پالت سایت ۱۳ ، ولی با تفکیک «رنگ برند» از «رنگی که متن رویش
     می نشیند». فیروزه ای برند (#0DA9A5) با سفید فقط ۲٫۹ به ۱ کنتراست دارد و
     خودش با متن سفید ناخواناست ؛ به همین دلیل هر پُرکردنی که متن سفید دارد
     teal-solid می گیرد و هر متنِ فیروزه ای روی سفید teal-dark. همه ی جفت ها
     دستِ کم ۴٫۵ به ۱ (WCAG AA) هستند. */
  --rt-teal: #0DA9A5;        /* فقط آیکن ، حاشیه ، حلقه ی فوکوس — بدون متن */
  --rt-teal-solid: #08807D;  /* پس زمینه ی دکمه/نوارِ دارای متن سفید — ۴٫۷۸ */
  --rt-teal-dark: #097875;   /* متن و لینکِ فیروزه ای روی سفید — ۵٫۳۱ */
  --rt-teal-darker: #076B68; /* حالت فشرده/هاور — ۶٫۳۴ */
  --rt-teal-soft: #E6F7F6;
  --rt-navy: #08283D;
  --rt-navy-soft: #0F3D57;
  --rt-ink: #102A43;
  --rt-muted: #556A80;       /* ۵٫۳۳ روی کانواس روشن ؛ #62778C قبلی زیر حد بود */
  --rt-line: #E8EEF3;
  --rt-bg: #FFFFFF;
  --rt-bg-soft: #F7FAFC;

  /* لهجه ی گرم — فقط برای قیمت شب و دکمه های جستجو/رزرو.
     متنِ روی کهربایی سرمه ای است نه سفید: سفید روی #F59E0B فقط ۲٫۱۵ به ۱ است
     (بدترین جای صفحه) در حالی که سرمه ای ۷٫۰۸ می دهد. */
  --rt-amber: #F59E0B;
  --rt-amber-dark: #D97C06;  /* هاور ؛ با متن سرمه ای ۴٫۹۵ */
  --rt-amber-text: #A65A07;  /* عدد قیمت روی سفید — ۵٫۱۴ */
  --rt-amber-soft: #FEF4E4;

  /* وضعیت ها */
  --rt-ok: #16A34A;
  --rt-ok-soft: #E8F7EE;
  --rt-warn: #B45309;
  --rt-warn-soft: #FDF1E0;
  --rt-danger: #DC2626;
  --rt-danger-soft: #FDEAEA;

  --rt-r-sm: 10px;
  --rt-r: 16px;
  --rt-r-lg: 20px;
  --rt-r-xl: 28px;
  --rt-pill: 999px;

  --rt-sh-sm: 0 2px 10px rgba(16, 42, 67, .05);
  --rt-sh: 0 10px 30px rgba(16, 42, 67, .08);
  --rt-sh-lg: 0 20px 55px rgba(16, 42, 67, .13);

  --rt-max: 1240px;
  --rt-gut: 24px;
  --rt-head-h: 76px;

  /* توکن های تقویم رزرو (site2-rental.css) ؛ آنجا روی :root تعریف شده اند و
     اینجا با اختصاصیت بالاتر به پالت جدید نگاشت می شوند. */
  --gr-open: var(--rt-teal);
  --gr-selected: var(--rt-teal);
  --gr-inrange: var(--rt-teal-soft);
  --gr-border: var(--rt-line);
}

/* --------------------------------------------------------------------------
   پایه
   -------------------------------------------------------------------------- */

/* appnew_v2 فقط به `main , footer` جهت rtl می دهد ؛ آفکانواس ها و مودال ها که
   بیرون از main رندر می شوند چپ به راست می ماندند و فرزندان فلکس شان آینه ای
   می شد (حداقل قیمت سمت چپِ حداکثر ، ردیف دکمه ها برعکس). صفحه ی اجاره تماما
   فارسی است ، پس جهت را روی خود body می گذاریم و مشکل از ریشه می رود. */
body.rt-page {
  direction: rtl;
  text-align: right;
  color: var(--rt-ink);
  background: var(--rt-bg);
  font-family: VazirRT, IRANSans, Tahoma, sans-serif;
  -webkit-font-smoothing: antialiased;
}

.rt-page h1,
.rt-page h2,
.rt-page h3,
.rt-page h4,
.rt-page h5,
.rt-page h6,
.rt-page .btn,
.rt-page input,
.rt-page select,
.rt-page textarea,
.rt-page button {
  font-family: inherit;
}

.rt-page b,
.rt-page strong,
.rt-page .fw-bold {
  font-weight: 700;
}

.rt-page a {
  color: var(--rt-teal-dark);
  text-decoration: none;
}

.rt-page a:hover {
  color: var(--rt-teal-darker);
}

.rt-page img {
  max-width: 100%;
}

/* لودر تیره ی قالب اصلی روی پس زمینه ی روشن اجاره بد می نشیند */
.rt-page .page-loading {
  background-color: var(--rt-navy);
}

.rt-container {
  width: min(100% - (var(--rt-gut) * 2), var(--rt-max));
  margin-inline: auto;
}

.rt-section {
  padding-block: 34px;
}

/* هشدار: بلوک ‎@media (min-width: 768px)‎ ته فایل هم `.rt-section` را ست می کند و
   با اختصاصیت برابر و ترتیب بعدتر ، `--tight` را می خورد. هر تغییری در فاصله ی
   بخش ها باید در هر دو جا انجام شود ، وگرنه «فشرده» روی دسکتاپ بی اثر می ماند —
   دقیقا همان اتفاقی که افتاده بود و همه ی بخش ها ۵۶ پیکسل فاصله می گرفتند. */
.rt-section--tight {
  padding-block: 24px;
}

.rt-section--soft {
  background: var(--rt-bg-soft);
}

.rt-head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 18px;
}

.rt-head--center {
  justify-content: center;
  text-align: center;
}

.rt-head__title {
  margin: 0;
  color: var(--rt-ink);
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
}

.rt-head__sub {
  margin: 4px 0 0;
  color: var(--rt-muted);
  font-size: .88rem;
}

/* min-height هدفِ لمسی است و نه تزئین: «مشاهده همه» ۲۳ پیکسل ارتفاع داشت و روی
   گوشی عملا با انگشت گرفته نمی شد. سرِ بخش ها بلندتر از ۴۰ است ، پس روی دسکتاپ
   چیزی جابه جا نمی شود. */
.rt-more {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 6px;
  color: var(--rt-teal-dark);
  font-size: .9rem;
  font-weight: 700;
  white-space: nowrap;
}

.rt-more i {
  font-size: .8rem;
  transition: transform .15s ease;
}

.rt-more:hover i {
  transform: translateX(-3px);
}

.rt-eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 5px 13px;
  border-radius: var(--rt-pill);
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
  font-size: .78rem;
  font-weight: 700;
}

.rt-eyebrow--warm {
  background: var(--rt-amber-soft);
  color: var(--rt-amber-text);
}

/* --------------------------------------------------------------------------
   دکمه های اختصاصی اجاره
   -------------------------------------------------------------------------- */

.rt-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 46px;
  padding: 0 20px;
  border: 1px solid transparent;
  border-radius: var(--rt-r-sm);
  font-size: .95rem;
  font-weight: 700;
  line-height: 1;
  white-space: nowrap;
  cursor: pointer;
  transition: background .15s ease, color .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.rt-btn--primary {
  color: #fff !important;
  background: var(--rt-teal-solid);
  box-shadow: 0 8px 20px rgba(8, 128, 125, .25);
}

.rt-btn--primary:hover {
  color: #fff !important;
  background: var(--rt-teal-dark);
}

/* دکمه ی رزرو و «جستجو» گرم است تا از انبوه دکمه های فیروزه ای جدا شود */
.rt-btn--warm {
  color: var(--rt-navy) !important;
  background: var(--rt-amber);
  box-shadow: 0 8px 20px rgba(245, 158, 11, .28);
}

.rt-btn--warm:hover {
  color: var(--rt-navy) !important;
  background: var(--rt-amber-dark);
}

.rt-btn--outline {
  color: var(--rt-teal-dark) !important;
  background: #fff;
  border-color: #C9E6E5;
}

.rt-btn--outline:hover {
  color: var(--rt-teal-darker) !important;
  background: var(--rt-teal-soft);
  border-color: var(--rt-teal);
}

.rt-btn--white {
  color: var(--rt-navy) !important;
  background: #fff;
}

.rt-btn--white:hover {
  color: var(--rt-teal-darker) !important;
  background: #F1FAFA;
}

.rt-btn--ghost {
  color: #fff !important;
  background: rgba(255, 255, 255, .12);
  border-color: rgba(255, 255, 255, .35);
}

.rt-btn--ghost:hover {
  background: rgba(255, 255, 255, .2);
}

.rt-btn--lg {
  min-height: 54px;
  padding: 0 28px;
  font-size: 1rem;
}

.rt-btn--sm {
  min-height: 38px;
  padding: 0 14px;
  font-size: .84rem;
}

.rt-btn--block {
  width: 100%;
}

/* --------------------------------------------------------------------------
   هدر اجاره
   -------------------------------------------------------------------------- */

.rt-header {
  position: sticky;
  top: 0;
  z-index: 1040;
  background: rgba(255, 255, 255, .94);
  backdrop-filter: saturate(180%) blur(10px);
  border-bottom: 1px solid var(--rt-line);
}

.rt-header__inner {
  display: flex;
  align-items: center;
  gap: 26px;
  height: var(--rt-head-h);
}

.rt-brand {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 11px;
}

.rt-brand img {
  width: 44px;
  height: 44px;
  object-fit: contain;
}

.rt-brand__copy {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  white-space: nowrap;
}

.rt-brand__copy strong {
  color: var(--rt-navy);
  font-size: 1.05rem;
  font-weight: 700;
}

.rt-brand__copy small {
  color: var(--rt-teal-dark);
  font-size: .72rem;
  font-weight: 700;
}

.rt-nav {
  display: flex;
  align-items: center;
  gap: 26px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-nav a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--rt-ink);
  font-size: .93rem;
  font-weight: 700;
  white-space: nowrap;
}

.rt-nav a:hover,
.rt-nav a.is-active {
  color: var(--rt-teal-dark);
}

.rt-header__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-inline-start: auto;
}

.rt-phone {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  color: var(--rt-ink) !important;
  background: var(--rt-bg-soft);
  font-size: .88rem;
  font-weight: 700;
}

.rt-phone i {
  color: var(--rt-teal);
}

.rt-phone span {
  direction: ltr;
  unicode-bidi: isolate;
}

.rt-header__avatar {
  display: flex;
  align-items: center;
  gap: 9px;
  height: 44px;
  padding: 0 12px 0 6px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  background: #fff;
  color: var(--rt-ink);
  font-size: .85rem;
  font-weight: 700;
}

.rt-header__avatar img {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  object-fit: cover;
}

.rt-header__avatar:hover {
  border-color: #C9E6E5;
}

.rt-header__burger {
  display: none;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  color: var(--rt-teal-dark);
  background: var(--rt-teal-soft);
}

.rt-drawer {
  width: min(88vw, 340px) !important;
  direction: rtl;
  text-align: right;
  background: var(--rt-bg-soft);
}

.rt-drawer .offcanvas-header {
  border-bottom: 1px solid var(--rt-line);
  background: #fff;
}

.rt-drawer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-drawer__links a {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  margin-bottom: 6px;
  padding: 0 13px;
  border-radius: var(--rt-r-sm);
  background: #fff;
  color: var(--rt-ink);
  font-size: .92rem;
  font-weight: 700;
}

.rt-drawer__links a i {
  width: 20px;
  color: var(--rt-teal);
  text-align: center;
}

.rt-drawer__actions {
  display: grid;
  gap: 8px;
  margin-top: 16px;
}

.rt-drawer__title {
  margin: 18px 3px 8px;
  color: var(--rt-muted);
  font-size: .74rem;
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   هیرو — یک عکسِ قاب دار سمت چپ ، متن سمت راست ، و کارت اعتماد روی گوشه ی عکس.

   تصویر public/img/site2/rental/hero-card.jpg با GD از public/img/site2/gilan.jpg
   بریده شده ؛ فایل مبدا وارونه روی دیسک ذخیره شده (آسمان پایین) و به همین دلیل
   هیچ جای سایت استفاده نشده بود — قبل از هر برش تازه imageflip لازم است.

   نسخه ی قبلی این بخش عکس را تمام قاب پشت متن می گذاشت ؛ آن حالت برای متن فارسی
   یک روکش سفید غلیظ لازم داشت که خود عکس را محو می کرد و ویلا هم مدام زیر کارت
   اعتماد می افتاد. حالا عکس خودش سوژه است و پس زمینه فقط یک درخشش فیروزه ای.
   -------------------------------------------------------------------------- */
.rt-hero {
  position: relative;
  isolation: isolate;
  padding-block: 38px 108px;
  background:
    radial-gradient(900px 420px at 82% -18%, rgba(13, 169, 165, .16), transparent 62%),
    linear-gradient(180deg, var(--rt-teal-soft) 0%, #fff 68%);
}

.rt-hero__in {
  display: grid;
  align-items: center;
  gap: 34px;
  grid-template-columns: 1fr;
}

.rt-hero__title {
  margin: 12px 0 10px;
  color: var(--rt-navy);
  font-size: clamp(1.55rem, 1rem + 2vw, 2.3rem);
  font-weight: 700;
  line-height: 1.45;
}

.rt-hero__title em {
  color: var(--rt-teal-dark);
  font-style: normal;
}

.rt-hero__lead {
  max-width: 44ch;
  margin: 0 0 18px;
  color: #37506A;
  font-size: .95rem;
  line-height: 1.9;
}

.rt-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

/* --- عکس هیرو --- */

.rt-hero__media {
  position: relative;
}

.rt-hero__photo {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  border-radius: var(--rt-r-xl);
  object-fit: cover;
  box-shadow: var(--rt-sh-lg);
}

/* --- کارت اعتماد: روی گوشه ی پایینِ عکس شناور است --- */

/* position/z-index لازم است و نه تزئینی: <img> یک عنصر جایگزینِ درون خطی است و
   در فاز محتوا رنگ می شود ، یعنی *بعد* از پس زمینه ی بلوکِ خواهرش — بدون این ،
   لبه ی پایین عکس روی سطر اول کارت می افتاد. */
.rt-trust {
  position: relative;
  z-index: 2;
  width: 100%;
  max-width: 278px;
  margin-top: -68px;
  margin-inline-start: -18px;
  padding: 16px;
  border-radius: var(--rt-r-lg);
  background: #fff;
  box-shadow: var(--rt-sh-lg);
}

.rt-trust__top {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
  color: var(--rt-navy);
  font-size: .85rem;
  font-weight: 700;
}

.rt-trust__top i {
  color: var(--rt-teal);
}

.rt-trust strong {
  display: block;
  color: var(--rt-navy);
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1;
}

.rt-trust__label {
  display: block;
  margin-top: 5px;
  color: var(--rt-muted);
  font-size: .82rem;
}

.rt-trust__list {
  margin: 13px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--rt-line);
  list-style: none;
}

.rt-trust__list li {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 7px;
  color: var(--rt-ink);
  font-size: .82rem;
  font-weight: 700;
}

.rt-trust__list li:last-child {
  margin-bottom: 0;
}

.rt-trust__list i {
  color: var(--rt-teal);
}

/* --------------------------------------------------------------------------
   پنل جستجو — روی لبه ی پایین هیرو شناور است
   -------------------------------------------------------------------------- */

.rt-searchwrap {
  position: relative;
  z-index: 5;
  margin-top: -104px;
  scroll-margin-top: calc(var(--rt-head-h) + 12px);
}

.rt-search {
  border-radius: var(--rt-r-lg);
  background: #fff;
  box-shadow: var(--rt-sh-lg);
}

.rt-search__tabs {
  display: flex;
  gap: 4px;
  padding: 10px 10px 0;
  overflow-x: auto;
  scrollbar-width: none;
}

.rt-search__tabs::-webkit-scrollbar {
  display: none;
}

.rt-tab {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
  min-height: 42px;
  padding: 0 18px;
  border: 0;
  border-radius: var(--rt-r-sm) var(--rt-r-sm) 0 0;
  background: transparent;
  color: var(--rt-muted);
  font-size: .88rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}

.rt-tab:hover {
  color: var(--rt-ink);
}

.rt-tab.is-active {
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

.rt-search__body {
  display: grid;
  align-items: end;
  gap: 12px;
  padding: 14px;
  grid-template-columns: 1fr;
}

.rt-field {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 6px;
}

.rt-field > span,
.rt-field label {
  color: var(--rt-muted);
  font-size: .76rem;
  font-weight: 700;
}

.rt-field input,
.rt-field select {
  width: 100%;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  background-color: #fff;
  color: var(--rt-ink);
  font-size: .92rem;
  font-weight: 700;
}

.rt-field select {
  padding-inline-end: 34px;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2362778C' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: left 12px center;
  background-size: 15px;
}

.rt-field--date input {
  padding-inline-start: 38px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2362778C' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 13px center;
}

.rt-field input:focus,
.rt-field select:focus {
  outline: 0;
  border-color: var(--rt-teal);
  box-shadow: 0 0 0 3px rgba(13, 169, 165, .14);
}

.rt-search__go {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 28px;
  border: 0;
  border-radius: var(--rt-r-sm);
  background: var(--rt-amber);
  color: var(--rt-navy);
  font-size: .95rem;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
  box-shadow: 0 8px 20px rgba(245, 158, 11, .28);
}

.rt-search__go:hover {
  background: var(--rt-amber-dark);
}

.rt-search__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 0 16px 14px;
  color: var(--rt-muted);
  font-size: .78rem;
}

.rt-search__foot a {
  padding: 4px 11px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-pill);
  color: var(--rt-ink);
  font-weight: 700;
}

.rt-search__foot a:hover {
  border-color: var(--rt-teal);
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

.rt-search__advanced {
  margin-inline-start: auto;
  padding: 0 !important;
  border: 0 !important;
  color: var(--rt-teal-dark) !important;
}

.rt-search__advanced:hover {
  background: none !important;
}

/* --- فیلترهای بیشتر: وضعیت را چک باکس نگه می دارد ، بدون جاوااسکریپت ---
   روی دسکتاپ پوشش display:contents است تا سه فیلد ، فرزندِ مستقیمِ همان شبکه
   بمانند و ردیف به هم نریزد. */

.rt-morefilters__cb {
  position: absolute;
  width: 1px;
  height: 1px;
  opacity: 0;
  pointer-events: none;
}

.rt-morefilters__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 48px;
  padding: 0 16px;
  border: 1px dashed var(--rt-line);
  border-radius: var(--rt-r-sm);
  color: var(--rt-teal-dark);
  font-size: .88rem;
  font-weight: 700;
  cursor: pointer;
}

.rt-morefilters__btn:hover {
  border-color: var(--rt-teal);
  background: var(--rt-teal-soft);
}

.rt-morefilters__btn .rt-morefilters__less,
.rt-morefilters__cb:checked ~ .rt-morefilters__btn .rt-morefilters__on {
  display: none;
}

.rt-morefilters__cb:checked ~ .rt-morefilters__btn .rt-morefilters__less {
  display: inline;
}

.rt-morefilters {
  display: none;
  gap: 12px;
  grid-template-columns: 1fr;
}

.rt-morefilters__cb:checked ~ .rt-morefilters {
  display: grid;
}


/* --------------------------------------------------------------------------
   شبکه ها
   -------------------------------------------------------------------------- */

.rt-grid4,
.rt-grid3 {
  display: grid;
  gap: 20px;
  grid-template-columns: 1fr;
}

/* روی موبایل به جای یک ستون بلند ، یک ریل افقی با اسنپ — همان رفتار اسلایدر
   قبلی ولی بدون وابستگی به tiny-slider که اگر اسکریپت بالاتر خطا بدهد
   هرگز مقداردهی نمی شود و کارت ها روی هم می افتند. */
.rt-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(255px, 78%);
  gap: 14px;
  overflow-x: auto;
  scroll-snap-type: x mandatory;
  padding-bottom: 8px;
  margin-inline: calc(var(--rt-gut) * -1);
  padding-inline: var(--rt-gut);
  scrollbar-width: none;
}

.rt-rail::-webkit-scrollbar {
  display: none;
}

/* ریلِ «سایر اقامتگاه ها» در صفحه ی اقامتگاه داخل ‎.container‎ بوت استرپ است و نه
   ‎.rt-container‎ ، یعنی پدینگِ کناری اش ۱۲ پیکسل است و نه ‎--rt-gut‎ (۱۶ روی گوشی).
   با بلیدِ ۱۶ ، ریل از هر طرف ۴ پیکسل بیرون می زد و کلِ صفحه افقی می لغزید —
   اندازه گیری شده: ‎scrollWidth 394‎ روی نمای ۳۹۰. */
.rt-page .container > .rt-rail {
  margin-inline: calc(var(--bs-gutter-x, 1.5rem) / -2);
  padding-inline: calc(var(--bs-gutter-x, 1.5rem) / 2);
}

.rt-rail > * {
  scroll-snap-align: start;
}

/* --------------------------------------------------------------------------
   کارت اقامتگاه
   -------------------------------------------------------------------------- */

.rt-stay {
  position: relative;
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  background: #fff;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.rt-stay:hover {
  border-color: #D5E7EA;
  box-shadow: var(--rt-sh);
  transform: translateY(-3px);
}

.rt-stay__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--rt-bg-soft);
}

.rt-stay__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.rt-stay__badge {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  z-index: 2;
  padding: 4px 11px;
  border-radius: var(--rt-pill);
  background: rgba(8, 40, 61, .82);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.rt-stay__fav {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .93);
  color: var(--rt-muted);
}

.rt-stay__fav.is-on {
  color: var(--rt-danger);
}

.rt-stay__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
}

/* دو خط و نه بیشتر: عنوان کارت اقامتگاه کوتاه است ولی ریلِ «جاذبه های دیدنی»
   همین کارت را با تیتر مقاله پر می کند و یک تیترِ سه چهار خطی ، ارتفاعِ کلِ ریل
   را به همه ی کارت ها تحمیل می کرد. */
.rt-stay__title {
  display: -webkit-box;
  overflow: hidden;
  margin: 0;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.75;
}

.rt-stay__title a {
  color: var(--rt-ink);
}

.rt-stay__title a:hover {
  color: var(--rt-teal-dark);
}

.rt-stay__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--rt-muted);
  font-size: .8rem;
}

.rt-stay__price {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed var(--rt-line);
  color: var(--rt-muted);
  font-size: .8rem;
}

.rt-stay__price b {
  color: var(--rt-amber-text);
  font-size: 1rem;
}

/* --------------------------------------------------------------------------
   کاشی دسته بندی
   -------------------------------------------------------------------------- */

.rt-cats {
  display: grid;
  gap: 16px;
  grid-template-columns: repeat(2, 1fr);
}

.rt-cat {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 4 / 3;
  border-radius: var(--rt-r);
  color: #fff !important;
}

.rt-cat img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .35s ease;
}

.rt-cat:hover img {
  transform: scale(1.06);
}

.rt-cat::after {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(8, 40, 61, 0) 38%, rgba(8, 40, 61, .78) 100%);
}

.rt-cat__label {
  position: absolute;
  inset-inline: 12px;
  bottom: 12px;
  z-index: 2;
  text-align: center;
  font-size: .95rem;
  font-weight: 700;
}

.rt-cat__label small {
  display: block;
  margin-top: 2px;
  font-size: .74rem;
  font-weight: 400;
  opacity: .8;
}

/* --------------------------------------------------------------------------
   مزیت ها و آمار
   -------------------------------------------------------------------------- */

.rt-feature {
  height: 100%;
  padding: 20px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  background: #fff;
  transition: box-shadow .18s ease, transform .18s ease;
}

.rt-feature:hover {
  box-shadow: var(--rt-sh);
  transform: translateY(-3px);
}

.rt-feature__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 46px;
  height: 46px;
  margin-bottom: 12px;
  border-radius: 14px;
  background: var(--rt-teal-soft);
  color: var(--rt-teal-dark);
  font-size: 1.25rem;
}

.rt-feature__icon--warm {
  background: var(--rt-amber-soft);
  color: var(--rt-amber-text);
}

.rt-feature h3 {
  margin: 0 0 8px;
  font-size: 1rem;
  font-weight: 700;
}

.rt-feature p {
  margin: 0;
  color: var(--rt-muted);
  font-size: .875rem;
  line-height: 2;
  text-align: justify;
}

.rt-stats {
  display: grid;
  gap: 14px;
  grid-template-columns: repeat(2, 1fr);
  padding: 24px;
  border-radius: var(--rt-r-lg);
  background: var(--rt-bg-soft);
  border: 1px solid var(--rt-line);
}

.rt-stat {
  text-align: center;
}

.rt-stat strong {
  display: block;
  color: var(--rt-teal-dark);
  font-size: 1.5rem;
  font-weight: 700;
}

.rt-stat small {
  color: var(--rt-muted);
  font-size: .82rem;
}

/* --------------------------------------------------------------------------
   نوار میزبان (CTA سرمه ای)
   -------------------------------------------------------------------------- */

.rt-band {
  position: relative;
  overflow: hidden;
  padding: 34px;
  border-radius: var(--rt-r-lg);
  background:
    radial-gradient(600px 240px at 88% 0%, rgba(13, 169, 165, .35), transparent 65%),
    var(--rt-navy);
  color: #fff;
}

.rt-band__grid {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 20px 32px;
}

/* بدون این ، ستون متن به عرض طبیعی خودش جمع می شود و دکمه ها با یک دره ی خالی
   وسط ، ته سمت مقابل می ایستند. */
.rt-band__grid > :first-child {
  flex: 1 1 440px;
}

/* رنگ سفید باید صریح روی خود h2 بنشیند: تم برای h1..h6 رنگ #1f1b2d را مستقیم
   ست می کند و ارث بریِ `color:#fff` والدِ سرمه ای هرگز به تیتر نمی رسد — نتیجه
   یک تیترِ تقریبا مشکی روی زمینه ی سرمه ای بود (کنتراست ۱٫۱ به ۱). */
.rt-band h2,
.rt-band h3 {
  margin: 10px 0 8px;
  color: #fff;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.7;
}

.rt-band p {
  margin: 0;
  max-width: 56ch;
  color: rgba(255, 255, 255, .78);
  font-size: .9rem;
  line-height: 2;
}

.rt-band__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.rt-band .rt-eyebrow {
  background: rgba(255, 255, 255, .14);
  color: #A9EDEB;
}

/* نسخه ی سبک برای وقتی که در یک صفحه بیش از یک نوار لازم است — همان قاب ، بدون
   وزنِ بصریِ سرمه ای پر. */
.rt-band--soft {
  background: var(--rt-teal-soft);
  color: var(--rt-ink);
  border: 1px solid #CFEAE9;
}

.rt-band--soft h2,
.rt-band--soft h3 {
  color: var(--rt-navy);
  font-size: 1.25rem;
}

.rt-band--soft p {
  color: var(--rt-muted);
}

/* --------------------------------------------------------------------------
   سوالات متداول
   -------------------------------------------------------------------------- */

.rt-faq {
  display: grid;
  gap: 10px;
}

.rt-faq__item {
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  background: #fff;
}

.rt-faq__q {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  padding: 16px 18px;
  border: 0;
  background: #fff;
  color: var(--rt-ink);
  font-size: .95rem;
  font-weight: 700;
  text-align: start;
}

/* فلش عمدا با border فیزیکی ساخته شده: با border-inline-end جهت چرخش در RTL
   عوض می شود و پیکان به جای «باز/بسته» شبیه «قبلی/بعدی» می شود. */
.rt-faq__q::after {
  content: '';
  flex: 0 0 auto;
  width: 9px;
  height: 9px;
  margin-top: -4px;
  border-right: 2px solid var(--rt-muted);
  border-bottom: 2px solid var(--rt-muted);
  transform: rotate(45deg);
  transition: transform .2s ease, border-color .2s ease;
}

.rt-faq__q[aria-expanded="true"] {
  color: var(--rt-teal-dark);
}

.rt-faq__q[aria-expanded="true"]::after {
  margin-top: 4px;
  transform: rotate(-135deg);
  border-color: var(--rt-teal);
}

.rt-faq__a {
  padding: 0 18px 16px;
  color: var(--rt-muted);
  font-size: .88rem;
  line-height: 2.1;
  text-align: justify;
}

/* --------------------------------------------------------------------------
   شهرها و متن سئو
   -------------------------------------------------------------------------- */

.rt-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.rt-chips--center {
  justify-content: center;
  max-width: 78ch;
  margin: 20px auto 0;
}

.rt-chips a {
  padding: 7px 14px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-pill);
  background: #fff;
  color: var(--rt-ink);
  font-size: .84rem;
  font-weight: 700;
}

.rt-chips a:hover {
  border-color: var(--rt-teal);
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

.rt-prose {
  max-width: 78ch;
  margin-inline: auto;
  color: var(--rt-muted);
  font-size: .92rem;
  line-height: 2.2;
  text-align: justify;
}

.rt-prose a {
  font-weight: 700;
}

/* --------------------------------------------------------------------------
   فوتر اجاره
   -------------------------------------------------------------------------- */

.rt-footer {
  margin-top: 20px;
  padding-top: 46px;
  background: var(--rt-navy);
  color: rgba(255, 255, 255, .78);
}

.rt-footer__grid {
  display: grid;
  gap: 30px;
  grid-template-columns: 1fr;
  padding-bottom: 34px;
}

.rt-footer__brand {
  display: flex;
  align-items: center;
  gap: 11px;
  margin-bottom: 14px;
}

.rt-footer__brand img {
  width: 46px;
  height: 46px;
  object-fit: contain;
}

.rt-footer__brand strong {
  display: block;
  color: #fff;
  font-size: 1.05rem;
}

.rt-footer__brand small {
  color: #6FD8D4;
  font-size: .74rem;
  font-weight: 700;
}

.rt-footer p {
  margin: 0;
  font-size: .86rem;
  line-height: 2.1;
  text-align: justify;
}

.rt-footer h3 {
  margin: 0 0 14px;
  color: #fff;
  font-size: .95rem;
  font-weight: 700;
}

.rt-footer__links {
  margin: 0;
  padding: 0;
  list-style: none;
}

.rt-footer__links li {
  margin-bottom: 9px;
}

.rt-footer__links a {
  color: rgba(255, 255, 255, .78) !important;
  font-size: .87rem;
}

.rt-footer__links a:hover {
  color: #6FD8D4 !important;
}

.rt-footer__map {
  height: 172px;
  overflow: hidden;
  border-radius: var(--rt-r-sm);
  border: 1px solid rgba(255, 255, 255, .14);
}

.rt-footer__contact {
  display: flex;
  flex-direction: column;
  gap: 9px;
  margin-bottom: 14px;
  font-size: .87rem;
}

.rt-footer__contact a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  font-weight: 700;
}

.rt-footer__contact i {
  color: #6FD8D4;
}

.rt-footer__contact span {
  direction: ltr;
  unicode-bidi: isolate;
}

.rt-footer__bottom {
  border-top: 1px solid rgba(255, 255, 255, .1);
}

.rt-footer__bottom > div {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding-block: 18px;
  font-size: .8rem;
}

.rt-footer__bottom nav {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
}

.rt-footer__bottom a {
  color: rgba(255, 255, 255, .7) !important;
}

.rt-footer__bottom a:hover {
  color: #6FD8D4 !important;
}

/* --------------------------------------------------------------------------
   بازنویسی بوت استرپ / تم برای صفحاتی که مارک آپشان دست نخورده مانده
   (میزبان شوید ، قوانین ، پیگیری رزرو ، فاکتور ، پنل میزبان ، صفحه ی شهر)
   -------------------------------------------------------------------------- */

.rt-page .btn-primary {
  --bs-btn-bg: var(--rt-teal-solid);
  --bs-btn-border-color: var(--rt-teal-solid);
  --bs-btn-hover-bg: var(--rt-teal-dark);
  --bs-btn-hover-border-color: var(--rt-teal-dark);
  --bs-btn-active-bg: var(--rt-teal-darker);
  --bs-btn-active-border-color: var(--rt-teal-darker);
  --bs-btn-disabled-bg: #9AD8D6;
  --bs-btn-disabled-border-color: #9AD8D6;
  border-radius: var(--rt-r-sm);
  background-color: var(--rt-teal-solid);
  border-color: var(--rt-teal-solid);
  color: #fff;
  font-weight: 700;
}

.rt-page .btn-primary:hover,
.rt-page .btn-primary:focus,
.rt-page .btn-primary:active {
  background-color: var(--rt-teal-dark);
  border-color: var(--rt-teal-dark);
  color: #fff;
}

.rt-page .btn-outline-primary {
  --bs-btn-color: var(--rt-teal-dark);
  --bs-btn-border-color: #BFE5E4;
  --bs-btn-hover-bg: var(--rt-teal);
  --bs-btn-hover-border-color: var(--rt-teal);
  border-radius: var(--rt-r-sm);
  color: var(--rt-teal-dark);
  border-color: #BFE5E4;
  font-weight: 700;
}

.rt-page .btn-outline-primary:hover,
.rt-page .btn-outline-primary:active {
  background-color: var(--rt-teal-solid);
  border-color: var(--rt-teal-solid);
  color: #fff;
}

.rt-page .btn-outline-secondary {
  --bs-btn-color: var(--rt-ink);
  --bs-btn-border-color: var(--rt-line);
  --bs-btn-hover-bg: var(--rt-teal-soft);
  --bs-btn-hover-color: var(--rt-teal-darker);
  --bs-btn-hover-border-color: var(--rt-teal);
  border-radius: var(--rt-r-sm);
  color: var(--rt-ink);
  border-color: #D8E2E7;
}

.rt-page .btn-outline-secondary:hover {
  background-color: var(--rt-teal-soft);
  border-color: var(--rt-teal);
  color: var(--rt-teal-darker);
}

.rt-page .btn-link {
  color: var(--rt-teal-dark);
}

.rt-page .bg-primary {
  background-color: var(--rt-teal-solid) !important;
}

/* bg-secondary در تم Finder یک خاکستریِ خیلی روشن است و به عنوان «سطح» به کار
   می رود ، نه رنگ برند ؛ پس به کانواس آبی-روشن اجاره نگاشت می شود. */
.rt-page .bg-secondary {
  background-color: var(--rt-bg-soft) !important;
}

.rt-page .bg-dark {
  background-color: var(--rt-navy) !important;
}

.rt-page .text-primary {
  color: var(--rt-teal-dark) !important;
}

.rt-page .badge.bg-primary {
  background-color: var(--rt-teal-solid) !important;
}

.rt-page .badge.bg-secondary {
  background-color: var(--rt-teal-soft) !important;
  color: var(--rt-teal-darker) !important;
}

.rt-page .card {
  border-color: var(--rt-line);
  border-radius: var(--rt-r);
}

.rt-page .card-header {
  border-color: var(--rt-line);
}

.rt-page .form-control,
.rt-page .form-select {
  border-color: var(--rt-line);
  border-radius: var(--rt-r-sm);
  color: var(--rt-ink);
}

.rt-page .form-control:focus,
.rt-page .form-select:focus {
  border-color: var(--rt-teal);
  box-shadow: 0 0 0 3px rgba(13, 169, 165, .14);
}

.rt-page .form-check-input:checked {
  background-color: var(--rt-teal);
  border-color: var(--rt-teal);
}

.rt-page .breadcrumb {
  font-size: .82rem;
}

.rt-page .breadcrumb a {
  color: var(--rt-muted);
}

.rt-page .breadcrumb a:hover {
  color: var(--rt-teal-dark);
}

.rt-page .alert-warning {
  background-color: var(--rt-warn-soft);
  border-color: #F3DDBB;
  color: var(--rt-warn);
}

.rt-page .alert-danger {
  background-color: var(--rt-danger-soft);
  border-color: #F5C9C9;
  color: #A82121;
}

.rt-page .alert-success {
  background-color: var(--rt-ok-soft);
  border-color: #BFE7CE;
  color: #146C35;
}

.rt-page .btn-scroll-top {
  background-color: var(--rt-teal-solid);
  color: #fff;
}

/* --------------------------------------------------------------------------
   بلوک سئوی مشترک (partials/seo_hub) — همان پارشیال روی صفحات خرید و فروش هم
   رندر می شود و آنجا باید سبز بماند ، پس رنگ ها اینجا فقط زیر .rt-page عوض
   می شوند و خود فایل پارشیال دست نخورده می ماند.
   -------------------------------------------------------------------------- */

/* جعبه بالای فوتر عمدا جمع تر از نسخه ی صفحات خرید و فروش است: آنجا مقصدِ خودِ
   صفحه است ، اینجا فقط یک پانویسِ سئو زیر محتوای اصلی. عرض به کانتینر اجاره
   (۱۲۴۰) چفت می شود ، پدینگ و ارتفاع کارت ها کم می شود و یادداشت پایانی به یک
   خطِ ساده تبدیل می شود نه یک کادر رنگی دوم. */
.rt-page .site2-seo-hub {
  margin-top: 8px;
  padding-inline: var(--rt-gut);
}

.rt-page .site2-seo-hub__inner {
  width: min(var(--rt-max), 100%);
  padding: 22px;
  border-color: var(--rt-line);
  border-radius: var(--rt-r);
  background: var(--rt-bg-soft);
  box-shadow: none;
}

.rt-page .site2-seo-hub__top {
  gap: 18px;
  margin-bottom: 14px;
}

.rt-page .site2-seo-hub h2 {
  font-size: 1.15rem;
}

.rt-page .site2-seo-hub p {
  font-size: .82rem;
  line-height: 1.9;
}

.rt-page .site2-seo-hub__grid {
  gap: 12px;
  margin-top: 14px;
}

.rt-page .site2-seo-hub__card {
  min-height: 0;
  padding: 14px;
  background: #fff;
}

/* شماره ی بزرگِ بالای هر کارت جای زیادی می گرفت و چیزی هم نمی گفت */
.rt-page .site2-seo-hub__card:before {
  width: 22px;
  height: 22px;
  margin-bottom: 6px;
  font-size: .7rem;
}

.rt-page .site2-seo-hub__note {
  margin-top: 12px;
  padding: 0;
  background: none;
  color: var(--rt-muted);
  font-size: .78rem;
}

.rt-page .site2-seo-hub__kicker {
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

.rt-page .site2-seo-hub h2,
.rt-page .site2-seo-hub__card h3 {
  color: var(--rt-navy);
}

.rt-page .site2-seo-hub p,
.rt-page .site2-seo-hub__card p {
  color: var(--rt-muted);
}

.rt-page .site2-seo-hub__chips a {
  border-color: var(--rt-line);
  border-radius: var(--rt-r-sm);
  color: var(--rt-ink);
}

.rt-page .site2-seo-hub__chips a:hover {
  border-color: var(--rt-teal-solid);
  background: var(--rt-teal-solid);
  color: #fff;
}

.rt-page .site2-seo-hub__card {
  border-color: var(--rt-line);
  border-radius: var(--rt-r);
}

.rt-page .site2-seo-hub__card:before {
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

/* یادداشت پایانی بالاتر تعریف شده و عمدا بدون کادر است ؛ اینجا فقط پهنای ستون
   چیپ ها باز می شود تا هفت پیوند در دو سطر جا شوند و نه چهار سطر. */
.rt-page .site2-seo-hub__chips {
  max-width: 540px;
}

/* --------------------------------------------------------------------------
   صفحه ی جستجو — کلاس های gr- عمدا حفظ شده اند: جاوااسکریپت صفحه و پارشیالِ
   ایجکسِ کارت ها (rental/component_ex_estate_type1) به همین نام ها وصل اند.
   قبلا این بلوک داخل خود search.blade.php بود و با پالت سبز نوشته شده بود.
   -------------------------------------------------------------------------- */

/* هدر روی همه ی اندازه ها sticky است و خودش جا می گیرد ، پس صفحه ی جستجو
   دیگر نیازی به padding-top دستی ندارد. */
.gr-page {
  padding-top: 18px;
}

.gr-breadcrumb {
  margin-bottom: 12px;
  font-size: .82rem;
}

.gr-breadcrumb .breadcrumb {
  margin-bottom: 0;
}

.rt-page .gr-searchbar {
  padding: 16px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-lg);
  background: #fff;
  box-shadow: var(--rt-sh-sm);
}

.gr-searchbar__grid {
  display: grid;
  gap: 10px;
  grid-template-columns: 1fr;
}

.gr-field label {
  display: block;
  margin-bottom: 5px;
  color: var(--rt-muted);
  font-size: .78rem;
  font-weight: 700;
}

.rt-page .gr-field .form-control {
  height: 48px;
  border-radius: var(--rt-r-sm);
  border-color: var(--rt-line);
  font-size: .92rem;
  background-position: left .75rem center;
}

.gr-field--date .form-control {
  padding-left: 2.1rem;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%2362778C' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 0a.5.5 0 0 1 .5.5V1h8V.5a.5.5 0 0 1 1 0V1h1a2 2 0 0 1 2 2v11a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2V3a2 2 0 0 1 2-2h1V.5a.5.5 0 0 1 .5-.5M1 4v10a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1V4z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
}

.rt-page .gr-searchbar__submit {
  width: 100%;
  height: 48px;
  padding-inline: 22px;
  border-radius: var(--rt-r-sm);
  background: var(--rt-amber);
  border-color: var(--rt-amber);
  color: var(--rt-navy);
  font-weight: 700;
  white-space: nowrap;
}

.rt-page .gr-searchbar__submit:hover {
  background: var(--rt-amber-dark);
  border-color: var(--rt-amber-dark);
}

.gr-searchbar__foot {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  color: var(--rt-muted);
  font-size: .78rem;
}

.gr-searchbar__clear {
  padding: 0;
  border: 0;
  background: none;
  color: var(--rt-teal-dark);
  font-size: .78rem;
  font-weight: 700;
  text-decoration: underline;
}

.gr-searchbar__clear[hidden] {
  display: none;
}

/* --- چیپ های فیلتر --- */

.gr-chips-wrap {
  position: relative;
  margin-top: 14px;
}

.gr-chips {
  display: flex;
  gap: 8px;
  overflow-x: auto;
  padding: 4px 2px 8px;
  scrollbar-width: none;
  scroll-snap-type: x proximity;
}

.gr-chips::-webkit-scrollbar {
  display: none;
}

.gr-chips-wrap::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 8px;
  left: 0;
  width: 34px;
  pointer-events: none;
  background: linear-gradient(to left, #fff, rgba(255, 255, 255, 0));
}

/* توجه: نام .gr-chip در site2-rental.css هم برای برچسب وضعیتِ پنل میزبان به کار
   رفته ؛ آن یکی هیچ وقت با این یکی در یک صفحه نیست ، ولی این تعریف چون
   اختصاصیت بالاتری دارد آنجا هم برنده می شود — به همین دلیل رنگ پس زمینه اینجا
   صریح ست شده و به ارث نمی رسد. */
.gr-chips .gr-chip {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 15px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-pill);
  background: #fff;
  color: var(--rt-ink);
  font-size: .84rem;
  line-height: 1.4;
  scroll-snap-align: start;
  transition: border-color .15s, background .15s, color .15s;
}

.gr-chips .gr-chip:hover {
  border-color: var(--rt-teal);
  color: var(--rt-teal-darker);
}

.gr-chips .gr-chip.is-active {
  border-color: var(--rt-teal-solid);
  background: var(--rt-teal-solid);
  color: #fff;
}

.gr-chip__val:empty {
  display: none;
}

.gr-chip__val {
  margin-inline-start: 2px;
  padding: 1px 8px;
  border-radius: var(--rt-pill);
  background: rgba(255, 255, 255, .22);
  font-weight: 700;
}

.gr-chip:not(.is-active) .gr-chip__val {
  background: var(--rt-teal-soft);
  color: var(--rt-teal-darker);
}

/* --------------------------------------------------------------------------
   نقشه ی صفحه ی جستجو

   پین ها و خوشه ها با divIcon کشیده می شوند و نه با آیکن پیش فرضِ leaflet ، پس
   شکلشان کاملا از همین جا می آید. leaflet روی هر divIcon کلاس ‎.leaflet-div-icon‎
   می گذارد که حاشیه و پس زمینه ی سفید دارد — بدون خنثی کردنش ، هر پین یک مربع
   سفیدِ اضافه پشتِ خودش داشت.
   -------------------------------------------------------------------------- */

.gr-mapsec {
  margin-top: 16px;
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-lg);
  background: #fff;
  box-shadow: var(--rt-sh-sm);
}

.gr-mapsec__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--rt-line);
  background: linear-gradient(110deg, #FBFDFD, var(--rt-teal-soft));
}

.gr-mapsec__title {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 11px;
}

.gr-mapsec__icon {
  display: grid;
  width: 42px;
  height: 42px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 12px;
  color: #fff;
  background: var(--rt-teal-solid);
}

.rt-page .gr-mapsec__title h2 {
  margin: 0 0 3px;
  color: var(--rt-ink);
  font-size: .95rem;
  font-weight: 800;
}

.gr-mapsec__title p {
  margin: 0;
  color: var(--rt-muted);
  font-size: .74rem;
}

.gr-mapsec__actions {
  display: flex;
  flex: 0 0 auto;
  align-items: center;
  gap: 8px;
}

.gr-maptool {
  display: inline-flex;
  min-height: 38px;
  padding: 0 12px;
  align-items: center;
  gap: 7px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  background: #fff;
  color: var(--rt-teal-dark);
  font-size: .74rem;
  font-weight: 800;
  white-space: nowrap;
}

.gr-maptool:hover {
  border-color: var(--rt-teal);
}

.gr-maptool.is-active {
  border-color: var(--rt-teal-solid);
  background: var(--rt-teal-solid);
  color: #fff;
}

.gr-mapsec__body {
  position: relative;
  max-height: 420px;
  overflow: hidden;
  opacity: 1;
  transition: max-height .3s ease, opacity .25s ease;
}

.gr-mapsec.is-collapsed .gr-mapsec__body {
  max-height: 0;
  opacity: 0;
}

.gr-mapsec #gr-map {
  height: 400px;
}

/* شمارنده و نوارِ محدوده روی نقشه شناورند ؛ لایه های leaflet ‏z-index: 400‎
   دارند ، پس هر چیزی که باید رویشان بنشیند باید بالاتر برود. */
.gr-mapcount,
.gr-maphint {
  position: absolute;
  z-index: 500;
  padding: 6px 12px;
  border-radius: var(--rt-pill);
  font-size: .74rem;
  font-weight: 700;
  pointer-events: none;
}

.gr-mapcount {
  top: 12px;
  right: 12px;
  background: rgba(255, 255, 255, .95);
  color: var(--rt-ink);
  box-shadow: var(--rt-sh-sm);
}

.gr-mapcount i {
  margin-inline-end: 5px;
  color: var(--rt-teal-dark);
}

.gr-maphint {
  top: 12px;
  left: 50%;
  transform: translateX(-50%);
  background: rgba(16, 42, 67, .88);
  color: #fff;
  font-weight: 400;
}

.gr-maparea {
  position: absolute;
  z-index: 500;
  bottom: 12px;
  right: 12px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  border-radius: var(--rt-pill);
  background: var(--rt-teal-solid);
  color: #fff;
  font-size: .76rem;
  font-weight: 700;
  box-shadow: var(--rt-sh);
}

.gr-maparea[hidden] {
  display: none;
}

.gr-maparea button {
  padding: 0;
  border: 0;
  background: none;
  color: #fff;
  font-size: .76rem;
  font-weight: 800;
  text-decoration: underline;
}

/* دکمه ی قلمِ خودِ kama.js: کنترلش از نوار بالای همین بخش می آید ، پس دکمه ی
   دومِ داخل نقشه فقط دو سطحِ کنترلِ ناهماهنگ می ساخت. */
.gr-mapsec .leaflet-draw-toolbar {
  display: none !important;
}

.gr-mapsec .leaflet-control-zoom {
  overflow: hidden;
  border: 0;
  border-radius: var(--rt-r-sm);
  box-shadow: var(--rt-sh-sm);
}

/* --- پین ها و خوشه ها --- */

.rt-page .leaflet-div-icon {
  border: 0;
  background: none;
}

.gr-pin {
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
}

.gr-pin__inner {
  display: inline-block;
  padding: 5px 11px;
  border-radius: var(--rt-pill);
  border: 1px solid #fff;
  background: var(--rt-teal-solid);
  color: #fff;
  font-size: .74rem;
  font-weight: 800;
  white-space: nowrap;
  box-shadow: 0 3px 10px rgba(16, 42, 67, .28);
  /* divIcon نقطه ی چپ بالای عنصر را روی مختصات می گذارد ؛ برچسب باید روی خودِ
     نقطه بنشیند و نه پایین راستِ آن */
  transform: translate(-50%, -50%);
}

.gr-pin:hover .gr-pin__inner,
.leaflet-popup-open .gr-pin__inner {
  background: var(--rt-amber);
  color: var(--rt-navy);
}

.gr-cluster {
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(8, 128, 125, .22);
}

.gr-cluster span {
  display: grid;
  width: 76%;
  height: 76%;
  place-items: center;
  border-radius: 50%;
  background: var(--rt-teal-solid);
  color: #fff;
  font-size: .82rem;
  font-weight: 800;
}

/* --- کارت پاپ آپ ---

   کارتِ پین باید همان کارتِ فهرست (‎.gr-card‎) باشد در قطع کوچک تر ، وگرنه یک
   جزیره ی طراحیِ جدا وسط صفحه است. سه قاعده ی خودِ leaflet سرِ راه اند و هر سه
   باید صریح خنثی شوند:

   ۱) ‎.leaflet-container { font: 12px/1.5 "Helvetica Neue", Arial … }‎ — یعنی کل
      متنِ فارسیِ داخل نقشه با قلمِ لاتین رندر می شد. این تنها و بزرگ ترین دلیلی
      بود که کارتِ نقشه «مالِ این سایت» به نظر نمی رسید.
   ۲) ‎.leaflet-popup-content-wrapper { text-align: left }‎ — عنوان و مشخصات در یک
      کارتِ راست چین به لبه ی چپ می چسبیدند.
   ۳) در همین بیلد از leaflet.css سلکتورِ ‎.leaflet-popup-content-wrapper,
      .leaflet-oldie .leaflet-popup-tip { border: 1px solid #999 }‎ خراب نوشته شده
      و آن حاشیه ی خاکستری به *هر* پاپ آپی می رسد ، نه فقط به IE.
   -------------------------------------------------------------------- */

.rt-page .leaflet-container {
  font-family: inherit;
  font-size: .85rem;
  line-height: 1.6;
}

/* عرضِ کارت عمدا اینجا ست نمی شود. theme2.min.css روی ظرفِ پاپ آپ
   ‎min-width: 17.5rem‎ (۲۸۰ پیکسل) دارد و یک ‎width‎ کوچک تر به آن نمی رسد ؛
   نتیجه اش ظرفی ۲۸۰ پیکسلی با کارتی ۲۶۸ پیکسلی بود ، یعنی یک نوار سفیدِ ۱۲
   پیکسلی کنارِ عکس. همان theme2 برای گره ی محتوا ‎width: 100% !important‎ هم
   دارد ، پس اگر دست نخورَد کارت دقیقا ظرف را پر می کند. مقدار popup در
   search.blade.php (‎minWidth/maxWidth: 280‎) با همین عدد یکی است. */
.gr-popup .leaflet-popup-content-wrapper {
  overflow: hidden;
  padding: 0;
  border: 0;
  border-radius: var(--rt-r);
  text-align: right;
  box-shadow: var(--rt-sh-lg);
}

.gr-popup .leaflet-popup-content {
  margin: 0;
  line-height: inherit;
}

.gr-popup .leaflet-popup-tip {
  border: 0;
  box-shadow: none;
}

/* دکمه ی بستن روی خودِ عکس می نشیند ، پس باید ظرفِ خودش را داشته باشد وگرنه یک
   ضربدرِ ۱۸ در ۱۴ پیکسلیِ خاکستری روی عکس است. سلکتور عمدا سه بخشی است:
   leaflet.css خودش با ‎.leaflet-container a.leaflet-popup-close-button‎ می نویسد و
   یک سلکتورِ دوکلاسه به آن نمی رسد.

   جای دکمه همان گوشه ی راست می ماند: برچسبِ موقعیت مثل کارت های فهرست
   ‎inset-inline-end‎ است ، یعنی در چیدمان راست چین سمت چپ می نشیند و این دو به
   هم نمی رسند — دقیقا همان جفتِ «قلب راست ، برچسب چپ» کارت های فهرست. */
.rt-page .gr-popup a.leaflet-popup-close-button {
  top: 10px;
  right: 10px;
  z-index: 3;
  width: 26px;
  height: 26px;
  padding: 0;
  border-radius: 50%;
  background: rgba(8, 40, 61, .55);
  color: #fff;
  font: 700 15px/26px Tahoma, Verdana, sans-serif;
  backdrop-filter: blur(4px);
}

.rt-page .gr-popup a.leaflet-popup-close-button:hover {
  background: rgba(8, 40, 61, .85);
  color: #fff;
}

.rt-page .gr-mc {
  display: block;
  color: inherit;
  text-decoration: none;
}

.gr-mc__media {
  position: relative;
  display: block;
  aspect-ratio: 16 / 10;
  background: var(--rt-bg-soft);
}

.gr-mc__media img {
  /* display:block وگرنه تصویر یک عنصر inline است و زیرش به اندازه ی نزول خط
     یک نوار خالی می ماند */
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gr-mc__badge {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  z-index: 2;
  padding: 4px 11px;
  border-radius: var(--rt-pill);
  background: rgba(8, 40, 61, .82);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.gr-mc__body {
  display: block;
  padding: 12px 14px 14px;
}

.gr-mc__title {
  display: block;
  margin-bottom: 8px;
  color: var(--rt-ink);
  font-size: .92rem;
  font-weight: 700;
  line-height: 1.7;
}

.gr-mc__specs {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--rt-muted);
  font-size: .8rem;
}

.gr-mc__specs li {
  margin: 0;
}

/* همان ردیف قیمتِ کارت فهرست: خط چینِ بالا ، «هر شب از» خنثی و خودِ عدد کهربایی */
.gr-mc__price {
  display: block;
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--rt-line);
  color: var(--rt-muted);
  font-size: .84rem;
}

.gr-mc__price b {
  color: var(--rt-amber-text);
  font-size: 1rem;
  font-weight: 700;
}

.gr-mc__cta {
  display: block;
  margin-top: 12px;
  padding: 9px 0;
  border-radius: var(--rt-r-sm);
  background: var(--rt-teal-solid);
  color: #fff;
  font-size: .82rem;
  font-weight: 700;
  text-align: center;
}

.rt-page .gr-mc:hover .gr-mc__cta {
  background: var(--rt-teal-dark);
}

@media (max-width: 767.98px) {
  .gr-mapsec__head {
    flex-wrap: wrap;
  }

  .gr-mapsec__title p {
    display: none;
  }

  .gr-mapsec__body {
    max-height: 320px;
  }

  .gr-mapsec #gr-map {
    height: 300px;
  }

  .gr-maphint {
    width: max-content;
    max-width: calc(100% - 24px);
    font-size: .7rem;
  }
}

/* --- سربرگ نتایج --- */

.gr-resulthead {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-top: 4px;
  padding: 14px 2px 4px;
  border-top: 1px solid var(--rt-line);
}

.gr-resulthead__count {
  margin: 0;
  color: var(--rt-ink);
  font-size: .95rem;
  font-weight: 700;
}

.gr-resulthead__count small {
  color: var(--rt-muted);
  font-weight: 400;
}

.gr-resulthead__reset {
  margin-inline-start: 10px;
  padding: 3px 12px;
  border: 1px dashed #E3C3C3;
  border-radius: var(--rt-pill);
  background: #fff;
  color: #A13D3D;
  font-size: .78rem;
  font-weight: 700;
  vertical-align: middle;
}

.gr-resulthead__reset:hover {
  background: var(--rt-danger-soft);
}

.gr-resulthead__reset[hidden] {
  display: none;
}

.gr-sort {
  display: flex;
  align-items: center;
  gap: 8px;
}

.gr-sort label {
  margin: 0;
  color: var(--rt-muted);
  font-size: .82rem;
  white-space: nowrap;
}

.rt-page .gr-sort select {
  min-width: 155px;
  height: 40px;
  border-radius: var(--rt-r-sm);
  border-color: var(--rt-line);
  font-size: .85rem;
}

/* --- کارت نتیجه (همان کارت اقامتگاه با نام قدیمی) --- */

.gr-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  background: #fff;
  transition: box-shadow .18s ease, transform .18s ease, border-color .18s ease;
}

.gr-card:hover {
  border-color: #D5E7EA;
  box-shadow: var(--rt-sh);
  transform: translateY(-3px);
}

.gr-card__media {
  position: relative;
  aspect-ratio: 4 / 3;
  background: var(--rt-bg-soft);
}

.gr-card__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.gr-card__badge {
  position: absolute;
  top: 10px;
  inset-inline-end: 10px;
  z-index: 2;
  padding: 4px 11px;
  border-radius: var(--rt-pill);
  background: rgba(8, 40, 61, .82);
  color: #fff;
  font-size: .72rem;
  font-weight: 700;
  backdrop-filter: blur(4px);
}

.gr-card__fav {
  position: absolute;
  top: 10px;
  inset-inline-start: 10px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, .93);
  color: var(--rt-muted);
}

.gr-card__fav.is-on {
  color: var(--rt-danger);
}

.gr-card__body {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 8px;
  padding: 14px;
}

.gr-card__title {
  margin: 0;
  color: var(--rt-ink);
  font-size: .98rem;
  font-weight: 700;
  line-height: 1.7;
}

.gr-card__title a {
  color: inherit;
}

.gr-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 12px;
  margin: 0;
  padding: 0;
  list-style: none;
  color: var(--rt-muted);
  font-size: .8rem;
}

.gr-card__price {
  margin-top: auto;
  padding-top: 10px;
  border-top: 1px dashed var(--rt-line);
  color: var(--rt-muted);
  font-size: .84rem;
}

.gr-card__price b {
  color: var(--rt-amber-text);
  font-size: 1rem;
}

/* --- اسکلت بارگذاری --- */

.gr-skeleton__card {
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
}

.gr-skeleton__media {
  aspect-ratio: 4 / 3;
}

.gr-skeleton__line {
  height: 12px;
  margin: 10px 14px;
  border-radius: 6px;
}

.gr-skeleton__media,
.gr-skeleton__line {
  background: linear-gradient(90deg, #EEF3F5 25%, #F8FBFC 50%, #EEF3F5 75%);
  background-size: 300% 100%;
  animation: gr-shimmer 1.2s ease-in-out infinite;
}

@keyframes gr-shimmer {
  0% { background-position: 100% 0; }
  100% { background-position: 0 0; }
}

/* --- پنل فیلترها --- */

.gr-filters {
  width: min(92vw, 400px);
  direction: rtl;
  text-align: right;
}

.gr-filters .offcanvas-header {
  border-bottom: 1px solid var(--rt-line);
}

.gr-filters__body {
  padding-bottom: 10px;
}

.gr-group {
  padding-bottom: 20px;
}

.gr-group__title {
  margin-bottom: 9px;
  color: var(--rt-ink);
  font-size: .88rem;
  font-weight: 700;
}

.gr-group.is-highlight {
  margin: -10px -10px 10px;
  padding: 10px 10px 14px;
  border-radius: var(--rt-r-sm);
  background: var(--rt-teal-soft);
  transition: background 1s;
}

.gr-group.is-highlight .gr-group__title {
  color: var(--rt-teal-darker);
}

.gr-filters__foot {
  display: flex;
  gap: 10px;
  padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
  border-top: 1px solid var(--rt-line);
  background: #fff;
}

.rt-page .gr-filters__foot .btn {
  height: 48px;
  border-radius: var(--rt-r-sm);
  font-weight: 700;
}

.gr-amenities {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 4px 10px;
}

.gr-range {
  display: flex;
  align-items: center;
  gap: 10px;
}

.gr-range__cell {
  flex: 1 1 0;
  margin: 0;
}

.gr-range__cell > span {
  display: block;
  margin-bottom: 4px;
  color: var(--rt-muted);
  font-size: .74rem;
}

.rt-page .gr-range .form-control {
  height: 44px;
  border-radius: var(--rt-r-sm);
  border-color: var(--rt-line);
}

.gr-rooms .btn {
  min-width: 52px;
}

.gr-overlay {
  display: none;
  position: absolute;
  inset: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, .65);
  backdrop-filter: blur(1px);
}

.rt-page .select2-dropdown {
  z-index: 100000000;
}

/* --------------------------------------------------------------------------
   صفحه ی اقامتگاه
   -------------------------------------------------------------------------- */

.rt-page .gallery-item img {
  border-radius: var(--rt-r);
}

/* نوار مشخصات بالای صفحه ی اقامتگاه */
.rt-page .rt-specs {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, 1fr);
  padding: 16px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  background: var(--rt-bg-soft);
}

.rt-spec {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: center;
}

.rt-spec i {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 38px;
  height: 38px;
  flex: 0 0 38px;
  border-radius: 12px;
  background: #fff;
  color: var(--rt-teal-dark);
  font-size: 1.1rem;
}

.rt-spec span {
  color: var(--rt-ink);
  font-size: .85rem;
  font-weight: 700;
}

/* جعبه ی رزرو */
.rt-page .gr-book {
  top: calc(var(--rt-head-h) + 14px);
  overflow: hidden;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  box-shadow: var(--rt-sh);
}

.rt-page .gr-book .card-header {
  padding: 16px;
  border: 0;
  background: linear-gradient(135deg, var(--rt-navy), #0C3D57) !important;
  color: #fff;
}

.rt-page .gr-book__price {
  color: #FFCE7A;
  font-size: 1.3rem;
  font-weight: 700;
}

.rt-page .gr-book__date {
  border-color: var(--rt-line);
  border-radius: var(--rt-r-sm);
}

.rt-page .gr-book__date.is-active {
  border-color: var(--rt-teal);
  box-shadow: 0 0 0 3px rgba(13, 169, 165, .14);
}

.rt-page .gr-book__date small {
  color: var(--rt-muted);
}

/* دکمه ی نهاییِ ثبت رزرو گرم است — تنها کنش گرمِ صفحه */
.rt-page #gr-submit {
  background: var(--rt-amber);
  border-color: var(--rt-amber);
  border-radius: var(--rt-r-sm);
  color: var(--rt-navy);
  font-weight: 700;
  box-shadow: 0 10px 24px rgba(245, 158, 11, .25);
}

.rt-page #gr-submit:hover:not(:disabled) {
  background: var(--rt-amber-dark);
  border-color: var(--rt-amber-dark);
}

/* خاکستریِ خنثی و نه کهربایِ رنگ پریده: ‎#E9D5AE‎ قبلی به «دکمه ی خراب» می خورد
   نه به «هنوز فعال نشده» ، و کاربر دلیلش را هم نمی دید (متنِ راهنما زیرش اضافه
   شد). */
.rt-page #gr-submit:disabled {
  background: #EDF1F5;
  border-color: #DDE5EC;
  color: #7C8CA0;
  opacity: 1;
  box-shadow: none;
}

.rt-page .gr-book__hint {
  margin: -4px 0 10px;
  color: var(--rt-muted);
  font-size: .78rem;
  text-align: center;
}

.rt-page .gr-book__hint i {
  margin-inline-end: 5px;
  color: var(--rt-amber-text);
}

/* نوار ثابت پایین صفحه ی موبایل تا پیش از این (.rt-dock) اینجا تعریف می شد و
   فقط صفحه های اجاره را می پوشاند. حالا سراسری است:
   public/css/site2/dock.css به همراه resources/views/site2/frontend/layouts/dock.blade.php
   ؛ همان جا هم روی مسیرهای اجاره پالت فیروزه ای و گزینه های اجاره ای می گیرد. */

/* --------------------------------------------------------------------------
   واکنش گرا
   -------------------------------------------------------------------------- */

@media (min-width: 576px) {
  .rt-search__body {
    grid-template-columns: 1fr 1fr;
  }

  .gr-searchbar__grid {
    grid-template-columns: 1fr 1fr;
  }

  .rt-cats {
    grid-template-columns: repeat(3, 1fr);
  }

  .rt-stats {
    grid-template-columns: repeat(4, 1fr);
  }

  .rt-page .rt-specs {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (min-width: 768px) {
  .rt-section {
    padding-block: 46px;
  }

  .rt-section--tight {
    padding-block: 32px;
  }

  .rt-grid3,
  .rt-grid4 {
    grid-template-columns: repeat(2, 1fr);
  }

  .gr-searchbar__grid {
    grid-template-columns: 1fr 1fr .8fr auto;
    align-items: end;
  }

  .rt-page .gr-searchbar__submit {
    width: auto;
  }

  .rt-footer__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 992px) {
  .rt-hero__in {
    grid-template-columns: minmax(0, 1.12fr) minmax(0, .88fr);
  }

  /* چهار فیلد + دکمه در یک ردیف ؛ «فیلترهای بیشتر» زیر همان ردیف باز می شود */
  .rt-search__body {
    grid-template-columns: repeat(4, minmax(0, 1fr)) auto;
  }

  /* ‎1/5‎ و نه ‎1/-1‎ : ردیف دوم فقط زیر چهار فیلد کشیده می شود و ستون دکمه ی
     جستجو خالی می ماند ، وگرنه چهار ستونِ ردیف دوم با ردیف اول هم لبه نمی شوند. */
  .rt-morefilters {
    display: grid;
    grid-column: 1 / 5;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    padding-top: 14px;
    border-top: 1px dashed var(--rt-line);
  }

  /* روی دسکتاپ ردیف دوم همیشه باز است — جا هست و کاربر یک کلیک کمتر می زند ؛
     دکمه ی جمع/باز فقط تجربه ی موبایل است. */
  .rt-morefilters__btn {
    display: none;
  }

  .rt-grid4 {
    grid-template-columns: repeat(4, 1fr);
  }

  .rt-grid3 {
    grid-template-columns: repeat(3, 1fr);
  }

  .rt-cats {
    grid-template-columns: repeat(5, 1fr);
  }

  .rt-band {
    padding: 42px 46px;
  }

  .rt-footer__grid {
    grid-template-columns: 1.4fr 1fr 1fr 1.2fr;
  }

  /* ریل افقی فقط تجربه ی موبایل است ؛ روی دسکتاپ همان شبکه ی چهارستونی */
  .rt-rail {
    grid-auto-flow: row;
    grid-template-columns: repeat(4, 1fr);
    grid-auto-columns: auto;
    gap: 20px;
    overflow: visible;
    margin-inline: 0;
    padding-inline: 0;
  }
}

@media (max-width: 991.98px) {
  .rt-nav,
  .rt-phone,
  .rt-header__actions .rt-btn--primary,
  .rt-header__avatar {
    display: none;
  }

  .rt-header__burger {
    display: inline-flex;
  }

  .rt-header__inner {
    height: 64px;
  }

  .rt-page {
    --rt-head-h: 64px;
  }

  .rt-hero {
    padding-block: 30px 118px;
  }

  /* روی گوشی عکس تمام عرض است و کارت اعتماد زیرش می نشیند ، نه رویش —
     با هم پوشانی ، کارت نصف عکس را می خورد. */
  .rt-trust {
    max-width: none;
    margin-top: -28px;
    margin-inline-start: 0;
  }

  .rt-band {
    padding: 26px 20px;
  }

  /* فاصله ی پایینِ بدنه و جای دکمه ی «بالای صفحه» را حالا dock.css می دهد
     (کلاس has-gd-dock روی <body>) ، چون نوار دیگر مخصوص صفحه های اجاره نیست. */
}

@media (max-width: 575.98px) {
  .rt-page {
    --rt-gut: 16px;
  }

  .rt-head--center {
    justify-content: center;
    text-align: center;
  }

  .rt-head__title {
    font-size: 1.15rem;
  }

  /* ---- صفحه ی اول روی گوشی ----------------------------------------------
     اندازه گیری شده روی ۳۹۰×۸۴۴ : هیرو ۹۳۶ و پنل جستجو ۶۱۲ پیکسل بود ، یعنی
     کاربر باید ۲۰۸۰ پیکسل — تقریبا دو صفحه و نیم — پایین می رفت تا اولین
     اقامتگاه را ببیند. سه بلوکِ زیر همان ۲۰۸۰ را حدود ۷۰۰ پیکسل کوتاه می کنند
     بدون این که چیزی از صفحه حذف شود. */

  .rt-hero {
    padding-block: 24px 104px;
  }

  .rt-searchwrap {
    margin-top: -88px;
  }

  .rt-hero__in {
    gap: 22px;
  }

  .rt-hero__title {
    margin: 10px 0 8px;
    font-size: 1.42rem;
    line-height: 1.35;
  }

  .rt-hero__lead {
    margin-bottom: 14px;
    font-size: .88rem;
    line-height: 1.75;
  }

  /* دو دکمه ی هیرو کنار هم ؛ زیر هم دو ردیفِ کامل می گرفتند */
  .rt-hero__actions {
    flex-wrap: nowrap;
  }

  .rt-hero__actions .rt-btn {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 12px;
    white-space: nowrap;
  }

  .rt-trust {
    padding: 14px;
  }

  .rt-trust strong {
    font-size: 1.5rem;
  }

  .rt-trust__list {
    margin-top: 10px;
    padding-top: 10px;
  }

  .rt-trust__list li {
    margin-bottom: 5px;
  }

  /* دو خانه ی تاریخ کنار هم. «مقصد» و «تعداد نفرات» تمام عرض می مانند چون
     «همه شهرهای گیلان» در نصفِ ۳۹۰ پیکسل بریده می شود. */
  .rt-search__body {
    gap: 10px;
    padding: 12px;
    grid-template-columns: 1fr 1fr;
  }

  .rt-search__body > .rt-field:not(.rt-field--date),
  .rt-search__go,
  .rt-morefilters__btn,
  .rt-morefilters {
    grid-column: 1 / -1;
  }

  .rt-field input,
  .rt-field select,
  .rt-search__go,
  .rt-morefilters__btn {
    min-height: 44px;
  }

  /* «پرتکرار: …» به سه ردیف می شکست ؛ حالا یک ردیفِ لغزنده است و هر تراشه
     هدفِ لمسیِ ۴۰ پیکسلی دارد (پیش تر ۳۰). */
  .rt-search__foot {
    flex-wrap: nowrap;
    padding-bottom: 12px;
    overflow-x: auto;
    scrollbar-width: none;
  }

  .rt-search__foot::-webkit-scrollbar {
    display: none;
  }

  .rt-search__foot > * {
    flex: 0 0 auto;
  }

  .rt-search__foot a {
    display: inline-flex;
    align-items: center;
    min-height: 40px;
  }

  .rt-search__advanced {
    margin-inline-start: 0;
  }

  /* پنج کاشی در دو ستون یعنی ردیف آخر یک کاشیِ تنها و ۵۵۹ پیکسل ارتفاع.
     روی گوشی همان ریلِ افقیِ کارت های اقامتگاه — هم یتیم ندارد و هم
     «چند دسته ی دیگر هست» را نشان می دهد. */
  .rt-cats {
    /* بدون none ، دو ستونِ صریحِ قاعده ی پایه سرِ جایشان می مانند و کنارِ
       ستون های خودکار می نشینند — ریل از وسطِ فهرست شروع می شد. */
    grid-template-columns: none;
    grid-auto-flow: column;
    grid-auto-columns: minmax(150px, 46%);
    gap: 12px;
    margin-inline: calc(var(--rt-gut) * -1);
    padding-inline: var(--rt-gut);
    padding-bottom: 6px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }

  .rt-cats::-webkit-scrollbar {
    display: none;
  }

  .rt-cats > * {
    scroll-snap-align: start;
  }

  .rt-cat__label {
    font-size: .85rem;
  }

  .rt-cat__label small {
    font-size: .68rem;
  }

  /* چهار مزیتِ کوتاه ، یک ستونی ۹۴۴ پیکسل می شدند. دو ستونی هم یتیم ندارد
     (چهار تا در دو ردیف) و هم کلِ بلوک را نصف می کند. */
  .rt-grid4 {
    gap: 12px;
    grid-template-columns: repeat(2, 1fr);
  }

  .rt-feature {
    padding: 16px 14px;
  }

  .rt-feature h3 {
    font-size: .92rem;
  }

  /* در ستونِ ۱۷۰ پیکسلی ، justify بین کلمه ها دره می انداخت */
  .rt-feature p {
    font-size: .8rem;
    line-height: 1.8;
    text-align: start;
  }
}

/* ==========================================================================
   فرم ثبت / ویرایش اقامتگاه  (/rental/estate/create ، /rental/estate/{id}/edit)

   این صفحه تا پیش از این پوسته ی سبزِ پنل را داشت (هدر header_v2 + سایدبار
   پروفایل) و عملا بی رنگ بود: نوار مرحله آبیِ پیش فرض بوت استرپ ، کارت های
   سفیدِ ساده و نقشه ی بی قاب. حالا بخشی از پوسته ی اجاره است و کلاس های
   بوت استرپیِ کارت با rt-card جایگزین شده اند.
   -------------------------------------------------------------------------- */

.rt-formpage {
  background: var(--rt-bg-soft);
}

.rt-formhead {
  margin-bottom: 18px;
}

.rt-formhead h1 {
  margin: 0 0 6px;
  font-size: 1.6rem;
  font-weight: 800;
  color: var(--rt-navy);
}

.rt-formhead p {
  margin: 0;
  max-width: 64ch;
  font-size: .9rem;
  color: var(--rt-muted);
}

/* ---- نوار مرحله ---- */

.wz-step {
  display: none;
}

.wz-step.is-active {
  display: block;
}

/* هدر اجاره خودش sticky است ، پس نوار مرحله باید از زیرِ آن شروع شود */
.wz-head {
  position: sticky;
  top: var(--rt-head-h);
  z-index: 20;
  padding: 12px 0 10px;
  margin-bottom: 18px;
  background: var(--rt-bg-soft);
  border-bottom: 1px solid var(--rt-line);
}

.wz-track {
  display: flex;
  gap: 10px;
  margin: 0 0 10px;
  padding: 0;
  list-style: none;
}

.wz-track li {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 9px;
  border-bottom: 3px solid var(--rt-line);
  font-size: .84rem;
  font-weight: 700;
  color: var(--rt-muted);
  transition: color .2s, border-color .2s;
}

.wz-track__dot {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 50%;
  border: 1px solid var(--rt-line);
  background: #fff;
  font-size: .78rem;
}

.wz-track li.current {
  color: var(--rt-teal-dark);
  border-bottom-color: var(--rt-teal);
}

.wz-track li.current .wz-track__dot {
  background: var(--rt-teal-solid);
  border-color: var(--rt-teal-solid);
  color: #fff;
}

.wz-track li.done {
  color: #15803D;
  border-bottom-color: var(--rt-ok);
}

.wz-track li.done .wz-track__dot {
  background: var(--rt-ok-soft);
  border-color: var(--rt-ok);
  color: #15803D;
}

.wz-caption {
  font-size: .85rem;
  color: var(--rt-muted);
}

.wz-caption b {
  color: var(--rt-navy);
}

.wz-hint {
  display: flex;
  gap: 9px;
  padding: 12px 14px;
  margin-bottom: 16px;
  background: var(--rt-teal-soft);
  border: 1px solid #CCE9E8;
  border-radius: var(--rt-r-sm);
  font-size: .86rem;
  line-height: 1.85;
  color: var(--rt-teal-darker);
}

.wz-draft {
  display: none;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px 14px;
  margin-bottom: 16px;
  background: var(--rt-amber-soft);
  border: 1px solid #F3DFC0;
  border-radius: var(--rt-r-sm);
  font-size: .87rem;
  color: var(--rt-warn);
}

.wz-saved {
  flex: 1;
  min-height: 18px;
  text-align: center;
  font-size: .8rem;
  font-weight: 700;
  color: #15803D;
}

.wz-invalid {
  border-color: var(--rt-danger) !important;
  box-shadow: 0 0 0 .2rem rgba(220, 38, 38, .12) !important;
}

/* ---- کارت های فرم ---- */

.rt-page .rt-card {
  padding: 22px 24px;
  margin-bottom: 18px;
  background: #fff;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  box-shadow: var(--rt-sh-sm);
}

.rt-page .rt-card__title {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 0 0 14px;
  font-size: 1.02rem;
  font-weight: 800;
  color: var(--rt-navy);
}

.rt-page .rt-card__title i {
  flex: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 36px;
  border-radius: 11px;
  background: var(--rt-teal-soft);
  color: var(--rt-teal-dark);
  font-size: 1.02rem;
}

.rt-card__lead {
  margin: -6px 0 16px;
  font-size: .86rem;
  line-height: 1.9;
  color: var(--rt-muted);
}

/* ---- کنترل های فرم ---- */

.rt-page .rt-card .form-label {
  margin-bottom: 6px;
  font-size: .85rem;
  font-weight: 700;
  color: var(--rt-ink);
}

.rt-page .rt-card .form-control,
.rt-page .rt-card .form-select {
  min-height: 46px;
  border-radius: var(--rt-r-sm);
  border-color: var(--rt-line);
  font-size: .92rem;
  color: var(--rt-ink);
}

.rt-page .rt-card textarea.form-control {
  min-height: 92px;
}

.rt-page .rt-card .form-control:focus,
.rt-page .rt-card .form-select:focus {
  border-color: var(--rt-teal);
  box-shadow: 0 0 0 3px rgba(13, 169, 165, .15);
}

.rt-page .rt-card .form-control::placeholder {
  color: #9FB0C0;
}

.rt-page .rt-card small,
.rt-page .rt-card .text-muted {
  color: var(--rt-muted) !important;
  font-size: .78rem;
}

/* select2 باید هم قد و هم شکلِ بقیه ی کنترل ها باشد */
.rt-page .select2-container--default .select2-selection--single {
  height: 46px;
  border-color: var(--rt-line);
  border-radius: var(--rt-r-sm);
}

.rt-page .select2-container--default .select2-selection--single .select2-selection__rendered {
  line-height: 44px;
  font-size: .92rem;
  color: var(--rt-ink);
}

.rt-page .select2-container--default .select2-selection--single .select2-selection__arrow {
  height: 44px;
}

/* ---- چک باکس ها به شکل تراشه ی انتخاب ---- */

.rt-page .rt-card .form-check {
  display: flex;
  align-items: center;
  gap: 9px;
  min-height: 44px;
  padding: 8px 13px;
  margin: 0 0 10px;
  background: #fff;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-pill);
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.rt-page .rt-card .form-check:hover {
  background: var(--rt-teal-soft);
  border-color: #C9E6E5;
}

.rt-page .rt-card .form-check.is-checked {
  background: var(--rt-teal-soft);
  border-color: var(--rt-teal);
}

.rt-page .rt-card .form-check-input {
  flex: none;
  float: none;
  width: 18px;
  height: 18px;
  margin: 0;
  border-color: #C3D2DE;
}

.rt-page .rt-card .form-check-input:checked {
  background-color: var(--rt-teal-solid);
  border-color: var(--rt-teal-solid);
}

.rt-page .rt-card .form-check-input:focus {
  border-color: var(--rt-teal);
  box-shadow: 0 0 0 3px rgba(13, 169, 165, .15);
}

.rt-page .rt-card .form-check-label {
  margin: 0;
  font-size: .85rem;
  color: var(--rt-ink);
  cursor: pointer;
}

/* ---- سیاست لغو رزرو: سه کارت انتخابی به جای سه پاراگرافِ چسبیده ---- */

.rt-policy {
  display: flex;
  gap: 11px;
  padding: 14px 16px;
  margin-bottom: 10px;
  background: #fff;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r-sm);
  cursor: pointer;
  transition: background .15s, border-color .15s;
}

.rt-policy:hover {
  border-color: #C9E6E5;
  background: var(--rt-bg-soft);
}

.rt-policy input {
  flex: none;
  width: 18px;
  height: 18px;
  margin-top: 3px;
  accent-color: var(--rt-teal-solid);
}

.rt-policy b {
  display: block;
  margin-bottom: 3px;
  font-size: .9rem;
  color: var(--rt-navy);
}

.rt-policy span {
  font-size: .84rem;
  line-height: 1.9;
  color: var(--rt-muted);
}

.rt-policy.is-checked {
  border-color: var(--rt-teal);
  background: var(--rt-teal-soft);
}

.rt-policy.is-checked span {
  color: var(--rt-teal-darker);
}

/* ---- نقشه ---- */

.rt-maprow {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 4px;
}

.rt-maprow > div {
  flex: 1 1 320px;
}

/* «اختیاری» کنار برچسبِ فیلدهایی که ستاره ی قرمز ندارند ؛ بدون آن میزبان
   نمی داند نبودِ ستاره یعنی می شود رد شد یا فقط جا افتاده است. */
.rt-optional {
  display: inline-block;
  margin-inline-start: 6px;
  padding: 2px 9px;
  border-radius: var(--rt-pill);
  background: var(--rt-bg-soft);
  border: 1px solid var(--rt-line);
  color: var(--rt-muted);
  font-size: .68rem;
  font-weight: 700;
  vertical-align: middle;
}

/* حالت «هنوز انتخاب نشده» خنثی است و نه هشدار: ثبت موقعیت اختیاری است ، پس
   نباید مثل یک فیلدِ جامانده کهربایی چشمک بزند. */
.rt-mapstate {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 13px;
  border-radius: var(--rt-pill);
  border: 1px solid var(--rt-line);
  background: var(--rt-bg-soft);
  font-size: .79rem;
  font-weight: 700;
  color: var(--rt-muted);
  white-space: nowrap;
}

.rt-mapstate[data-set="1"] {
  border-color: #BFE7CE;
  background: var(--rt-ok-soft);
  color: #15803D;
}

.rt-mapframe {
  position: relative;
  margin-top: 14px;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  overflow: hidden;
}

.rt-mapframe #estate-map {
  height: 420px;
}

.rt-maphint {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 500;
  padding: 6px 12px;
  border-radius: var(--rt-pill);
  background: rgba(16, 42, 67, .82);
  color: #fff;
  font-size: .78rem;
  pointer-events: none;
}

/* ---- نوار پیمایش مرحله ها ---- */

.wz-nav {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 14px 18px;
  margin-top: 6px;
  background: #fff;
  border: 1px solid var(--rt-line);
  border-radius: var(--rt-r);
  box-shadow: var(--rt-sh-sm);
}

.wz-nav__back {
  order: -1;
}

.wz-nav .rt-btn {
  min-width: 150px;
}

/* نوار «مرحلهٔ بعد / قبل / ثبت» همیشه چسبان است. روی گوشی نیازش بیشتر است نه
   کمتر: هر مرحله ی این فرم چند برابر یک صفحه ی گوشی بلند است و پیش از این
   دکمه ی رفتن به مرحله ی بعد ته همان مرحله بود ، یعنی میزبان باید کل مرحله را
   اسکرول می کرد تا بفهمد چطور جلو برود. نوارِ ثابتِ سراسری (gd-dock) روی این
   صفحه عمدا رندر نمی شود تا با این یکی روی هم نیفتد. */
.wz-nav {
  position: sticky;
  bottom: 16px;
  /* بدون z-index نوار پشتِ نقشه می افتد: لایه های leaflet ‏(‎.leaflet-pane‎)
     ‎z-index: 400‎ دارند و نوار با ‎z-index: auto‎ یعنی صفر ، پس در مرحله ی ۱
     دقیقا همان جایی که چسبان می شد نامرئی بود. زیر ‎gd-dock‎ (۱۰۳۵) و مودال های
     بوت استرپ (۱۰۵۵) می ماند. */
  z-index: 1030;
}

@media (max-width: 767.98px) {
  .wz-nav {
    bottom: calc(8px + env(safe-area-inset-bottom));
  }

  /* ویجت گفتینو گوشه ی پایین می نشیند و روی همین نوار می افتاد */
  body.rt-wizard-page #goftino_w,
  body.rt-wizard-page [id^="goftino"] {
    bottom: 96px !important;
  }

  .rt-page .rt-card {
    padding: 18px 16px;
  }

  .wz-track__label {
    display: none;
  }

  .wz-track li {
    justify-content: center;
  }

  .rt-mapframe #estate-map {
    height: 300px;
  }

  .wz-nav .rt-btn {
    min-width: 0;
    flex: 1;
  }

  .wz-saved {
    display: none;
  }
}

/* برچسب های داخل یک ردیف هم قد می شوند تا فیلدها زیر برچسب های یک خطی و
   دو خطی روی یک خط بنشینند (مثلا «آخر هفته (پنجشنبه و جمعه) (تومان/شب)»
   کنار «روزهای عادی (تومان/شب)») */
.rt-page .rt-card .row > [class*="col-"] > .form-label {
  display: flex;
  align-items: flex-end;
  min-height: 2.9em;
}

/* جعبه های توضیحی داخل کارت ها (حداکثر نفرات ، پیش فرض آخر هفته) */
.rt-page .rt-card .alert-light {
  background: var(--rt-teal-soft);
  border-color: #CCE9E8;
  border-radius: var(--rt-r-sm);
  color: var(--rt-teal-darker);
}

/* متن های راهنمای قدیمی که با کلاس های تیل ویندِ ناموجود نوشته شده اند */
.rt-page .rt-card .text-gray-500 {
  font-size: .86rem;
  line-height: 1.95;
  color: var(--rt-muted);
}

.rt-page .rt-card .text-gray-500 li {
  margin-bottom: 4px;
}

/* قاب نقشه overflow:hidden دارد ، پس حاشیه ی قرمزِ اعتبارسنجی روی
   خودِ ظرف نقشه دیده نمی شد و از داخل کشیده می شود */
.rt-page #estate-map.wz-invalid {
  box-shadow: inset 0 0 0 2px var(--rt-danger) !important;
}
