.lm-platforms { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.lm-plat {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 9px 16px; border-radius: 999px;
  border: 1.5px solid rgba(0,0,0,0.12);
  background: transparent; color: inherit;
  font-size: 13.5px; font-weight: 700; cursor: pointer;
  transition: border-color .15s ease;
}
.lm-plat .ic { display: inline-flex; align-items: center; justify-content: center; width: 18px; flex-shrink: 0; }
.lm-plat .ic i { font-size: 16px; }
.lm-plat .ic img { max-width: 18px; max-height: 18px; border-radius: 4px; }
.lm-plat:hover { border-color: rgba(0,0,0,0.3); }
/* active state reuses this theme's own variant-colored .btn-big-primary for color/background —
   only layout properties are re-asserted here so the pill shape survives the merge */
.lm-plat.btn-big-primary { padding: 9px 16px; border-radius: 999px; border-style: solid; border-width: 1.5px; }
@media (max-width: 600px) {
  .lm-plat { padding: 7px 12px; font-size: 12.5px; }
  .text-sm-center{ text-align: center;}
}
@media (min-width: 992px) {
    .pb-md-150 {padding-bottom: 150px;}
    .text-sm-center{ text-align: left !important;}
    .body-rtl .text-sm-center{ text-align: right !important;} /* Arabic: the hero text from the right */
}

/* ---- searchable category dropdown + "search any service" bar ---- */
.nv-search { position: relative; display: block; }
.nv-search > i.fa-search { position: absolute; left: 16px; top: 0; bottom: 0; display: flex; align-items: center; color: #94a3b8; font-size: 13px; pointer-events: none; z-index: 1; }
.nv-search > input, #nvServiceSearch.form-control { padding-left: 38px !important; }
.nv-catdd-search input { padding-left: 32px !important; }
.nv-svcsearch { margin-bottom: 4px; }

.nv-catdd { position: relative; }
.nv-catdd-btn {
  width: 100%; height: 46px; display: flex; align-items: center; justify-content: space-between; gap: 10px;
  background: #fff; border: 1.5px solid #e2e8f0; border-radius: 8px; padding: 8px 14px; cursor: pointer; font-family: inherit;
  transition: border-color .15s ease, box-shadow .15s ease;
}
.nv-catdd-btn:hover { border-color: rgba(0,0,0,0.3); }
.nv-catdd.open .nv-catdd-btn { border-color: rgba(0,0,0,0.4); box-shadow: 0 0 0 3px rgba(0,0,0,0.06); }
.nv-catdd-btn .cur { display: flex; align-items: center; gap: 10px; min-width: 0; }
.nv-catdd-btn .cur .ic { display: inline-flex; align-items: center; justify-content: center; width: 24px; flex-shrink: 0; }
.nv-catdd-btn .cur .ic img { max-width: 22px; max-height: 22px; border-radius: 6px; }
.nv-catdd-btn .cur .ic i { font-size: 18px; }
.nv-catdd-btn .cur .tx { font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.nv-catdd-btn .ar { color: #94a3b8; font-size: 12px; transition: transform .2s ease; }
.nv-catdd.open .nv-catdd-btn .ar { transform: rotate(180deg); }

.nv-catdd-menu {
  position: absolute; top: calc(100% + 6px); left: 0; right: 0; z-index: 50;
  background: #fff; border: 1px solid #eef1f5; border-radius: 12px;
  box-shadow: 0 20px 50px rgba(15,23,42,.16); overflow: hidden; display: none;
}
.nv-catdd.open .nv-catdd-menu, .nv-svcsearch.open .nv-catdd-menu { display: block; }
.nv-catdd-search { position: relative; padding: 10px; border-bottom: 1px solid #f1f5f9; }
.nv-catdd-search i { position: absolute; left: 22px; top: 50%; transform: translateY(-50%); color: #94a3b8; font-size: 12px; }
.nv-catdd-search input { width: 100%; height: 38px; border: 1px solid #e2e8f0; border-radius: 8px; padding: 8px 12px 8px 32px; font-size: 13.5px; outline: none; }
.nv-catdd-list { max-height: 300px; overflow-y: auto; padding: 6px; }
.nv-catdd-list .it { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 8px; cursor: pointer; text-decoration: none; color: #1e293b; } /* explicit: the menu is white, "inherit" turned it white-on-white on dark skins */
.nv-catdd-list .it:hover, .nv-catdd-list .it.active { background: #f1f1f1; color: #000; }
.nv-catdd-list .it .ic { display: inline-flex; align-items: center; justify-content: center; width: 24px; flex-shrink: 0; }
.nv-catdd-list .it .ic img { max-width: 22px; max-height: 22px; border-radius: 6px; }
.nv-catdd-list .it .ic i { font-size: 17px; }
.nv-catdd-list .it .tx { font-weight: 600; font-size: 13.5px; }
.nv-catdd-empty { display: none; text-align: center; color: #94a3b8; font-size: 12.5px; padding: 16px 10px; }

.nv-svcsearch .nv-catdd-menu { top: calc(100% + 6px); }
.nv-svcsearch .nv-catdd-list { max-height: 550px; }

/* ---- page title (top of each dashboard page) ---- */
.sf-page-title-wrap { padding: 8px 0 4px; }
.body h2.sf-page-title {
  font-size: 28px;
  font-weight: 800;
  margin-bottom: 8px;
}
/* .sf-page-title and .sf-page-subtitle colors come from .style-text-primary (each skin's own accent) — see markup */
.sf-page-subtitle { font-size: 15px; opacity: 0.85; margin-bottom: 0; }

/* Broadcast popup (SweetAlert v2 — swal-*): library default footer isn't centered */
.swal-footer { text-align: center; }
.swal-button-container { margin: 0 6px; }

/* Hero heading on signup / FAQ / reset password (colours were inline, so dark skins couldn't change them). */
.sf-hero-title { color: #1a1a2e; font-weight: 700; }
.sf-hero-desc { color: #555; }

/* Orders: service name on up to two lines, "…" when longer (full name on hover). The old box used
   overflow:scroll, which drew scrollbars on every row. */
.sf-service-cell {
  max-width: 300px; min-width: 180px; white-space: normal; line-height: 1.4;
  display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.sf-home-desc { color: #444; }

/* Right-to-left (Arabic): Slick lays slides out left-to-right; inside a right-to-left page that pushed the
   reviews out of view. The slider itself stays left-to-right, the review cards read right-to-left. */
.body-rtl [data-slider="1"],
.body-rtl [data-slider="1"] .slick-list,
.body-rtl [data-slider="1"] .slick-track { direction: ltr; }
.body-rtl [data-slider="1"] .slick-slide { direction: rtl; }

/* Right-to-left: the theme right-aligns every heading (.body-rtl h1…h6); headings in a centered box
   (Sign up, Services and other page titles) stay centered, like in left-to-right. */
.body-rtl .text-center h1, .body-rtl .text-center h2, .body-rtl .text-center h3,
.body-rtl .text-center h4, .body-rtl .text-center h5, .body-rtl .text-center h6 { text-align: center; }
