/* The site uses the original xfinder theme stylesheets (public/legacy/*).
   This file only fills the gaps where the legacy CSS relied on jQuery plugins
   (slick / lightSlider / sidr / accordion) that we render statically instead. */

/* the theme hides carousel children until the slick plugin initialises; we render them statically */
.top_girls_list.mobile_top-girls_list.xf-rail > div,
.top_girls_list.releted_top-girls_list.xf-rail > div { display: block; }

/* --- carousels --- */
.xf-rail {
  display: flex !important;
  flex-wrap: nowrap !important;   /* the theme's .top_girls_list wraps; rails must not */
  gap: 20px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
  -webkit-overflow-scrolling: touch;
}
.sex-story-items.xf-rail > a { flex: 0 0 auto; width: 365px; }
.sex-story-items .review_box { text-align: center; }
.home-stories_bg img { max-width: 293px; }

/* --- location drawer (#changeloc rendered as the sidr right panel) --- */
/* the sidr stylesheet also sets `left`, which wins over `right` on an over-constrained
   fixed box — clear it so the panel can dock to the right edge */
.sidr.right { position: fixed; top: 0; left: auto !important; right: 0 !important; width: 280px; height: 100%; z-index: 999999; }
.modal-backdrop.fade.in { position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 999998; opacity: 1; }
.sidr .sidr-inner { padding: 0; }
.xf-geo-msg { font-size: 12px; color: #fff; text-align: center; margin: 6px 0 0; }
.change_loc_inside .close_loc { float: left; }
.header_white_right[dir="ltr"] { direction: ltr; text-align: left; }
.header_white_right[dir="rtl"] { direction: rtl; text-align: right; }
.xf-location-trigger {
  align-items: center;
  appearance: none;
  background: linear-gradient(180deg, #178db6 0%, #087da7 58%, #056889 100%);
  border: 1px solid #086482;
  border-radius: 7px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), inset 0 -3px 0 rgba(0, 48, 68, .3), 0 1px 2px rgba(0, 0, 0, .22);
  color: #fff;
  cursor: pointer;
  display: inline-flex;
  font: 600 16px/1 Arial, sans-serif;
  gap: 9px;
  justify-content: center;
  min-height: 38px;
  min-width: 136px;
  padding: 7px 12px 10px;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .35);
  transition: filter .15s ease, transform .15s ease;
  white-space: nowrap;
}
.xf-location-trigger:hover { filter: brightness(1.08); }
.xf-location-trigger:active { transform: translateY(1px); }
.xf-location-trigger:focus-visible {
  outline: 3px solid rgba(23, 141, 182, .3);
  outline-offset: 2px;
}
.xf-location-trigger-icon {
  fill: currentColor;
  flex: 0 0 22px;
  height: 22px;
  width: 22px;
}

.xf-category-breadcrumb-row {
  align-items: center;
  display: flex;
  gap: 16px;
  justify-content: space-between;
}
.xf-category-breadcrumb-row #breadcrumbs { flex: 1 1 auto; min-width: 0; }
.xf-category-title-row {
  align-items: center;
  display: flex;
  flex-direction: row;
  gap: 24px;
  justify-content: space-between;
  margin-bottom: 12px;
  padding-top: 15px;
  width: 100%;
}
.category_details-top .xf-category-title-row .taxonomy_title_top {
  flex: 1 1 auto;
  margin-bottom: 0;
  min-width: 0;
  padding-top: 0;
}
.xf-category-location-trigger--mobile { display: none; }

/* Compact category artwork: the actual image remains in the document for
   image search, while a strong directional scrim keeps the UI text readable. */
.xf-category-hero {
  box-sizing: border-box;
  height: 140px;
  isolation: isolate;
  margin-bottom: 16px;
  overflow: hidden;
  position: relative;
}
.xf-category-hero::before {
  background: linear-gradient(90deg, rgba(10, 10, 12, .92) 0%, rgba(10, 10, 12, .78) 55%, rgba(10, 10, 12, .40) 100%);
  content: '';
  inset: 0;
  pointer-events: none;
  position: absolute;
  z-index: 1;
}
.xf-category-hero[dir="rtl"]::before {
  background: linear-gradient(270deg, rgba(10, 10, 12, .92) 0%, rgba(10, 10, 12, .78) 55%, rgba(10, 10, 12, .40) 100%);
}
.xf-hero-seo-img {
  display: block;
  height: 100%;
  inset: 0;
  object-fit: cover;
  position: absolute;
  width: 100%;
  z-index: 0;
}
.xf-category-hero-content {
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  height: 100%;
  justify-content: center;
  padding: 10px 20px;
  position: relative;
  z-index: 2;
}
.xf-category-hero .xf-category-breadcrumb-row {
  align-items: center;
  flex-direction: row;
  gap: 12px;
  padding: 0;
}
.xf-category-hero #breadcrumbs.xf-breadcrumb {
  color: rgba(255, 255, 255, .8);
  font-size: 13px;
  line-height: 1.3;
  margin: 0;
  overflow: hidden;
  padding: 0;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.xf-category-hero #breadcrumbs.xf-breadcrumb a,
.xf-category-hero #breadcrumbs.xf-breadcrumb span {
  color: inherit;
}
.xf-category-hero #breadcrumbs.xf-breadcrumb a:hover { color: #fff; }
.xf-category-hero .category_details.category_details-top { padding: 0; }
.xf-category-hero .xf-category-title-row {
  margin: 5px 0 3px;
  padding: 0;
}
.xf-category-hero .category_details-top .taxonomy_title_top { margin: 0; }
.xf-category-hero .category_details-top .taxonomy_title_top h1 {
  color: #fff;
  font-size: 30px;
  line-height: 1.18;
}
.xf-category-hero .xf-cat-lead {
  color: #d1d5db;
  font-size: 14px;
  line-height: 1.35;
  margin: 0;
  max-width: min(760px, 78%);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.xf-category-hero .xf-category-location-trigger--desktop {
  min-height: 34px;
  padding-block: 5px 8px;
}

@media (max-width: 767px) {
  .xf-category-location-trigger--desktop { display: none; }
  .xf-category-location-trigger--mobile {
    display: inline-flex;
    flex: 0 0 auto;
    font-size: 13px;
    min-height: 34px;
    min-width: 0;
    padding: 6px 10px 8px;
  }
  .xf-category-location-trigger--mobile .xf-location-trigger-icon {
    flex-basis: 18px;
    height: 18px;
    width: 18px;
  }
  .xf-category-breadcrumb-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 8px;
    padding-top: 10px;
  }
  .xf-category-breadcrumb-row #breadcrumbs { margin-top: 0; }
  .xf-category-hero { height: 110px; }
  .xf-category-hero-content { justify-content: flex-start; padding: 7px 12px; }
  .xf-category-hero .xf-category-breadcrumb-row {
    align-items: center;
    flex-direction: row;
    gap: 8px;
    min-height: 34px;
    padding: 0;
  }
  .xf-category-hero .xf-category-location-trigger--mobile {
    min-height: 30px;
    padding: 4px 8px 6px;
  }
  .xf-category-hero .xf-category-location-trigger--mobile span { display: none; }
  .xf-category-hero .xf-category-location-trigger--mobile .xf-location-trigger-icon {
    flex-basis: 18px;
    height: 18px;
    width: 18px;
  }
  .xf-category-hero #breadcrumbs.xf-breadcrumb { font-size: 12px; }
  .xf-category-hero .xf-category-title-row { margin: 3px 0 2px; }
  .xf-category-hero .category_details-top .taxonomy_title_top h1 {
    font-size: 21px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .xf-category-hero .xf-cat-lead {
    font-size: 12px;
    line-height: 1.3;
    max-width: 100%;
  }
}

/* The legacy theme forces every sidr panel to RTL. The location drawer stays
   docked on the right, while its contents follow the active language. */
#change-loc[dir="ltr"] { direction: ltr; text-align: left; }
#change-loc[dir="rtl"] { direction: rtl; text-align: right; }
#change-loc[dir="rtl"] .sidr-inner,
#change-loc[dir="rtl"] .sidr-class-change_loc_inside { direction: rtl; text-align: right; }

/* Country choices: the React markup keeps the original unprefixed child
   classes, so recreate the slick item's row layout explicitly. */
#change-loc .sidr-class-changeloc_slider {
  box-sizing: border-box;
  padding: 5px 6px;
}
#change-loc[dir="ltr"] .sidr-class-changeloc_slider { direction: ltr; }
#change-loc[dir="rtl"] .sidr-class-changeloc_slider { direction: rtl; }
#change-loc .changeloc_slick-slider,
#change-loc .changeloc_slick-item {
  align-items: center;
  display: flex;
  min-height: 32px;
  width: 100%;
}
#change-loc .changeloc_slick-item {
  gap: 7px;
  padding-inline: 6px;
}
#change-loc .changeloc-input {
  flex: 0 0 auto;
  margin: 0;
}
#change-loc .changeloc-flag {
  display: block;
  flex: 0 0 26px;
  height: 26px;
  margin: 0;
  width: 26px;
}
#change-loc .changeloc-flag img {
  border-radius: 50%;
  display: block;
  height: 100%;
  object-fit: cover;
  width: 100%;
}
#change-loc .changeloc_slick-item label { margin: 0; }

#change-loc .sidr-class-changeloc_header,
#change-loc .sidr-class-loc_header,
#change-loc select,
#change-loc .xf-geo-msg { text-align: start; }
#change-loc .xf-geo-msg { color: #333; }
#change-loc .sidr-class-changeloc_header {
  display: flex;
  align-items: center;
  min-height: 40px;
  position: relative;
  font-size: 20px;
}
#change-loc .sidr-class-changeloc_header .xf-location-title { display: block; width: 100%; }
#change-loc[dir="rtl"] .sidr-class-changeloc_header { padding-left: 40px; padding-right: 0; text-align: right; }
#change-loc[dir="rtl"] .sidr-class-changeloc_header .close_loc { left: 16px; right: auto; }
#change-loc[dir="ltr"] .sidr-class-changeloc_header { padding-left: 0; padding-right: 40px; text-align: left; }
#change-loc[dir="ltr"] .sidr-class-changeloc_header .close_loc { left: auto; right: 16px; }
#change-loc .sidr-class-changeloc_header .close_loc {
  background: transparent;
  border: 0;
  cursor: pointer;
  float: none;
  margin: 0;
  padding: 6px;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}
#change-loc .sidr-class-changeloc_header .close_loc img {
  height: auto;
  width: 11px;
}
#change-loc .sidr-class-close-to_me img {
  margin-left: 0;
  margin-right: 0;
  margin-inline-end: 5px;
}
#change-loc .sidr-class-close-to_me {
  border: 0;
  border-radius: 8px;
  box-sizing: border-box;
  display: block;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  width: 100%;
}
#change-loc .sidr-class-loc_ok_button button {
  background: #f5f5f5;
  border: 1px solid #fe12a0;
  border-radius: 8px;
  color: #fe12a0;
  cursor: pointer;
  display: block;
  font: inherit;
  font-size: 18px;
  font-weight: bold;
  padding: 10px 0;
  text-align: center;
  width: 100%;
}
#change-loc .sidr-class-loc_ok_button button.area_button {
  background: #fe12a0;
  color: #fff;
}
#change-loc .sidr-class-loc_ok_button button:disabled { cursor: not-allowed; }
#change-loc .sidr-class-loc_dropdown::after {
  left: auto;
  right: auto;
  inset-inline-end: 16px;
}
#change-loc[dir="ltr"] .sidr-class-loc_dropdown::after { content: ">"; }
#change-loc .sidr-class-loc_dropdown select { padding-inline-end: 42px; }
#change-loc[dir="ltr"] .sidr-class-loc_dropdown select {
  direction: ltr;
  text-align: left !important;
  text-align-last: left;
}
#change-loc[dir="rtl"] .sidr-class-loc_dropdown select {
  direction: rtl;
  text-align: right !important;
  text-align-last: right;
}
.modal.fade.user_info.in { display: block; z-index: 1000000; }
.xf-rail > * { flex: 0 0 auto; scroll-snap-align: start; }
.xf-rail::-webkit-scrollbar { height: 6px; }
.xf-rail::-webkit-scrollbar-thumb { background: #e2e2e2; border-radius: 3px; }

.top_girls_list.xf-rail .top_girl_box { width: 346px; margin: 0; }
.top_girls_list.xf-rail .top_girl_box .girl_overlay { width: 346px; height: 400px; }
.home_reviews .xf-rail .review_box { width: 370px; text-align: center; }

/* the grid list on category pages — scope to DIRECT children so the image box
   embedded inside a list row (like the live site) stays visible */
.top_girls_list_full.list-view > .top_girl_box { display: none; }
.top_girls_list_full.list-view > .top_girls_list_full-box { display: block; width: 100%; }
.top_girls_list_full:not(.list-view) > .top_girls_list_full-box { display: none; }

/* --- profile gallery (lightSlider replacement) --- */
.xf-gallery-main {
  position: relative;
  width: 100%;
  height: auto;
  aspect-ratio: 3 / 4;
  background: #f1f1f1 center/cover no-repeat;
  overflow: hidden;
  cursor: zoom-in;
}
.xf-profile-image {
  display: block;
  background: #ececec;
  user-select: none;
  -webkit-user-select: none;
  -webkit-user-drag: none;
}
.xf-image-placeholder { background: #ececec; }
.xf-honeypot-link {
  display: none !important;
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}
.xf-badge,
.xf-price,
.xf-price-tag,
.xf-premium-badge,
.xf-text-badge,
.xf-chip,
.xf-chip-count,
.curr_city,
.listing_area,
.top-girl-location,
.rating_row_header,
.pricing_txt,
.price-label,
.price-value,
.girl_details_inside_row .gd_left,
.girl_details_inside_row .gd_right {
  user-select: none;
  -webkit-user-select: none;
}
.profile_featured,
.girl_overlay,
.xf-gallery-slide,
.xf-gallery-main,
.xf-thumbs button { position: relative; }
.profile_featured { background: #ececec; overflow: hidden; }
.image-shield-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: block;
  background: transparent;
  pointer-events: auto;
  user-select: none;
  -webkit-user-select: none;
  -webkit-touch-callout: none;
}
.girl_overlay_click { pointer-events: none; }
.xf-gallery-main-img,
.xf-profile-featured-img,
.xf-row-profile-img {
  width: 100%; height: 100%; object-fit: cover; object-position: top center;
}
.xf-gallery-main-img,
.xf-profile-featured-img { position: absolute; inset: 0; }
.xf-gallery-main-img { z-index: 0; }
.xf-profile-featured-img { z-index: 0; }
.profile_featured .profile_title,
.profile_featured .profile_buttons { position: relative; z-index: 3; }
.xf-gallery-thumb-img { width: 100%; height: 100%; object-fit: cover; object-position: top center; }
.xf-thumbs button { overflow: hidden; }
.xf-gallery-main .vip_featured_profile,
.xf-gallery-main .verified_tag { position: absolute; top: 10px; z-index: 3; height: auto; width: auto; }
.xf-gallery-main .vip_featured_profile { left: 10px; right: auto; }
.xf-gallery-main .top_img {
  position: absolute; top: 10px; right: 10px; left: auto;
  z-index: 3; width: 60px; height: auto;
}
.xf-premium-badge {
  position: absolute;
  top: -4px;
  right: 5px;
  z-index: 15;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 7px 10px;
  border-radius: 0 0 5px 5px;
  background: #fe12a0;
  color: #fff;
  font: 700 12px/1 "Open Sans", Arial, sans-serif;
  letter-spacing: .2px;
  box-shadow: 0 2px 7px rgba(0, 0, 0, .2);
}
.xf-gallery-main .xf-premium-badge { top: 10px; right: 10px; z-index: 3; }
.xf-gallery-main .verified_tag { left: 10px; }
.xf-text-badge {
  position: absolute;
  z-index: 100;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  max-width: 170px;
  min-height: 28px;
  padding: 6px 10px;
  border-radius: 4px;
  background: rgba(254, 18, 160, .95);
  color: #fff;
  font-size: 12px;
  font-weight: 700;
  line-height: 1.15;
  text-align: center;
  box-shadow: 0 2px 8px rgba(0,0,0,.18);
}
.xf-verified-badge { left: 10px; bottom: 10px; }
.xf-gallery-main .xf-verified-badge { top: 10px; bottom: auto; }
.xf-apartment-badge { right: 10px; bottom: 10px; background: rgba(35, 43, 54, .92); }
.profile_featured .xf-verified-badge { left: 10px; bottom: 10px; }
.profile_featured .xf-apartment-badge { right: 10px; bottom: 10px; }
.xf-gallery-nav {
  position: absolute; top: 50%; transform: translateY(-50%);
  width: 36px; height: 36px; border: 0; border-radius: 50%;
  display: flex; align-items: center; justify-content: center; padding: 0;
  background: rgba(255,255,255,.85); font-size: 24px; line-height: 1; cursor: pointer; z-index: 4;
}
.xf-gallery-nav-icon { display: block; line-height: 1; transform: translateY(-1px); }
.xf-gallery-ltr .xf-gallery-nav.prev { left: 10px; right: auto; }
.xf-gallery-ltr .xf-gallery-nav.next { right: 10px; left: auto; }
.xf-gallery-rtl .xf-gallery-nav.prev { right: 10px; left: auto; }
.xf-gallery-rtl .xf-gallery-nav.next { left: 10px; right: auto; }
.xf-thumbs { display: flex; gap: 8px; margin-top: 10px; overflow-x: auto; }
.xf-thumbs button {
  width: 68px; height: 68px; flex: 0 0 auto; border: 2px solid transparent;
  background: #eee center/cover no-repeat; padding: 0; cursor: pointer; border-radius: 2px;
}
.xf-thumbs button.active { border-color: #fe12a0; }
.xf-lightbox {
  position: fixed; inset: 0; width: 100vw; height: 100vh; height: 100dvh;
  box-sizing: border-box; background: rgba(0,0,0,.92); z-index: 10000;
  display: flex; align-items: center; justify-content: center; padding: 16px;
  overscroll-behavior: contain;
}
.xf-lightbox-content {
  display: flex; align-items: center; justify-content: center;
  width: 100%; height: 100%; min-width: 0; min-height: 0;
  pointer-events: none;
}
.xf-lightbox img {
  width: auto; height: auto;
  max-width: 100%; max-height: 100%; object-fit: contain;
  pointer-events: auto;
}
.xf-lightbox-close {
  position: absolute; top: max(12px, env(safe-area-inset-top)); right: 16px;
  z-index: 1; width: 44px; height: 44px; padding: 0;
  border: 0; border-radius: 50%; background: rgba(0,0,0,.65); color: #fff;
  font: 400 36px/40px Arial, sans-serif; text-align: center; cursor: pointer;
}

/* --- mobile menu (sidr replacement) --- */
.toggle-mobile-menu { display: none; }
.toggle-mobile-menu.open { display: block; position: fixed; inset: 0; z-index: 2000; }
.toggle-mobile-menu.open::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.5); }
.toggle-mobile-menu.open .toggle-mobile-menu_inner {
  position: absolute; top: 0; bottom: 0; right: 0; width: 290px;
  background: #1f2733; color: #fff; overflow-y: auto; padding: 14px;
}
.toggle-mobile-menu.open .toggle-mobile-menu_inner a { color: #fff; }
.toggle-mobile-menu .menu-serach_list { background: #fff; color: #000; border-radius: 3px; }
.toggle-mobile-menu .menu-serach_list a {
  color: #000 !important; display: block; padding: 7px 10px; border-top: 1px solid #eee;
  font-size: 13px; text-decoration: none;
}
.toggle-mobile-menu .menu-serach_list a:hover,
.toggle-mobile-menu .menu-serach_list a:focus { background: #fff3fa; }
.toggle-mobile-menu .menu-serach_list a span { display: inline-block; min-width: 54px; color: #b0006a; font-weight: 700; }
.toggle-mobile-menu .menu-serach_list a.xf-search-all { color: #b0006a !important; font-weight: 700; text-align: center; }
.menu-search_box form { margin: 0; }
.menu-search_box input.menu-search_control {
  background-color: #fff;
  color: #000;
  caret-color: #000;
  -webkit-text-fill-color: #000;
}
.menu-search_box .xf-search-submit {
  padding: 0; border: 0; background: transparent; cursor: pointer;
}
.menu-search_box .xf-search-submit img { display: block; width: 18px; height: auto; }

/* Search results intentionally share the archive grid while keeping a compact
   query summary above it. */
.xf-search-page .xf-search-count { margin: 8px 0 0; color: #555; font-size: 16px; }

/* --- modals (bootstrap JS replacement) --- */
.xf-modal { position: fixed; inset: 0; z-index: 3000; display: flex; align-items: center; justify-content: center; padding: 16px; }
.xf-modal::before { content: ""; position: absolute; inset: 0; background: rgba(0,0,0,.6); }
.xf-modal-box {
  position: relative; background: #fff; border-radius: 6px; width: 100%; max-width: 400px;
  padding: 22px; max-height: 90vh; overflow-y: auto;
}
.xf-modal-close { position: absolute; top: 8px; left: 12px; border: 0; background: none; font-size: 20px; cursor: pointer; }

/* --- accordion on the profile prices table (collapsed by default, .open expands) --- */
.girl_details_row_cont.accordion .accordion_body { display: none; }
.girl_details_row_cont.accordion.open .accordion_body { display: block; }
.xf-price-accordion-ltr .accordion_header {
  display: grid;
  grid-template-columns: minmax(96px, 1fr) minmax(90px, auto) minmax(92px, auto);
  align-items: center;
  gap: 14px;
}
.xf-price-accordion-ltr .accordion_header .gd_left,
.xf-price-accordion-ltr .accordion_header .gd_right {
  float: none;
  text-align: left;
  min-width: 0;
}
.xf-price-accordion-ltr .accordion_header .gd_right {
  justify-self: end;
  font-weight: 700;
}
.xf-price-accordion-ltr .accordion_header .clear_b {
  display: none;
}
.xf-price-accordion-ltr .accordion_header .price-label {
  grid-column: 1;
  grid-row: 1;
}
.xf-price-accordion-ltr .accordion_header .price-value {
  grid-column: 2;
  grid-row: 1;
  justify-self: end;
}
.xf-price-accordion-ltr .accordion_header .pricing_txt {
  grid-column: 3;
  grid-row: 1;
  justify-self: end;
}
.xf-price-accordion-ltr .accordion_header {
  padding-left: 28px;
}
.xf-price-accordion-ltr .accordion_header::after {
  left: 2px;
}
.xf-price-accordion-ltr .accordion_header .pricing_txt { margin-left: 0; font-weight: 400; color: #3c3636; }

/* --- small helpers --- */
.xf-hidden { display: none !important; }
.xf-pointer { cursor: pointer; }
.xf-center { text-align: center; }
.xf-mt20 { margin-top: 20px; }
.xf-original-note {
  margin: 10px 0 0;
  color: #686868;
  font-size: 13px;
  font-weight: 700;
}
.xf-original-hebrew-text {
  margin-top: 10px;
  text-align: right;
  line-height: 1.8;
}
.xf-english-profile-summary { direction: ltr; text-align: left; }
.xf-summary-grid {
  display: grid;
  gap: 8px;
  margin: 8px 0 2px;
}
.xf-summary-row {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 0;
  border-bottom: 1px solid #e5e5e5;
}
.xf-summary-row span { color: #686868; }
.xf-summary-row strong { color: #1f1f1f; text-align: right; }
.xf-related-title {
  display: flex;
  align-items: center;
  gap: 18px;
  justify-content: center;
}
.xf-related-title::before,
.xf-related-title::after {
  position: static;
  flex: 1 1 0;
  width: auto;
  min-width: 24px;
}
.xf-related-title span {
  flex: 0 1 auto;
  max-width: min(100%, 560px);
  padding: 0;
  line-height: 1.2;
  white-space: normal;
}
.load_more_cont { text-align: center; margin: 24px 0; }
.load_more_cont .pink_button { display: inline-block; }
.pink_button button {
  display: inline-block; background: #fe12a0; color: #fff; border: 0;
  padding: 10px 26px; border-radius: 3px; font-size: 16px; font-weight: 700; cursor: pointer;
}
.load_more_cont button:disabled { cursor: wait; opacity: .7; }
.xf-regional-profiles { margin: 32px 0 18px; }
.xf-regional-profiles-title {
  display: flex;
  align-items: center;
  gap: 14px;
  margin: 0 0 20px;
  color: #333;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.4;
  text-align: center;
}
.xf-regional-profiles-title::before,
.xf-regional-profiles-title::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: #dedede;
}
@media (max-width: 767px) {
  .xf-list-has-regional .category_section { margin-bottom: 0; }
  .xf-regional-profiles { margin-top: 24px; }
  .xf-regional-profiles-title { gap: 10px; padding: 0 12px; font-size: 17px; }
}

/* --- star rating (the legacy theme used the rateYo jQuery plugin) --- */
.xf-stars { position: relative; display: inline-block; white-space: nowrap; line-height: 1; direction: ltr; }
.xf-stars-empty { color: #d2d2d2; letter-spacing: 2px; }
.xf-stars-full {
  position: absolute; inset-inline-start: 0; top: 0; overflow: hidden;
  color: #fe12a0; letter-spacing: 2px; white-space: nowrap;
}
.rating-container .xf-stars, .rating_star .xf-stars { font-size: 13px; }
.girl_rate_first .xf-stars { font-size: 20px; }

/* list rows keep the contact buttons under the row */
.list-contact-row { display: flex; gap: 10px; padding: 0 12px 12px; }
.list-contact-row a { flex: 1; text-align: center; }


/* breadcrumb strip (the legacy theme had none; kept small and neutral) */
.xf-breadcrumb { font-size: 12px; color: #707070; padding: 18px 0; }
.xf-breadcrumb a { color: #707070; }
.xf-breadcrumb a:hover { color: #b0006a; }

/* static page + blog wrappers reuse the theme's content styles */
.xf-page { padding: 25px 0 45px; }
.xf-page h1 { font-size: 26px; font-weight: bold; margin-bottom: 18px; }
.xf-page h1.section_title { font-size: inherit; margin-bottom: 60px; }
.xf-page .page_content { line-height: 1.9; font-size: 15px; }
.xf-page .page_content h2 { font-size: 21px; font-weight: bold; margin: 18px 0 8px; }
.xf-page .page_content h3 { font-size: 18px; font-weight: bold; margin: 16px 0 8px; }
.xf-page .page_content p { margin: 10px 0; }
.xf-page .page_content ul { list-style: disc; padding-inline-start: 22px; }
.xf-page .page_content a { color: #fe12a0; }
.xf-link-button {
  border: 0;
  background: transparent;
  padding: 0;
  color: inherit;
  font: inherit;
  cursor: pointer;
}
.header_blue_right button.mobile-menu_link {
  display: inline-block;
}
.header-white_left button {
  line-height: inherit;
}
.login-tabs_list li > button {
  width: 100%;
  color: #000;
  margin: 0;
  border-radius: 0;
  border: none;
  border-bottom: solid 2px #ff149d;
  padding: 14px;
  font-size: 18px;
  background: transparent;
}
.login-tabs_list.nav-tabs > li > button:hover {
  border-bottom-color: #ff149d;
}
.login-tabs_list li.active > button {
  background-color: #ff149d;
  border-bottom-color: #ff149d;
  color: #ffffff;
}
.xf-ad-page-title {
  font-size: 24px;
  font-weight: bold;
  margin: 0 0 18px;
  text-align: center;
}

/* the legacy grid card keeps every line to a single row */
.top_girls_grid_full-box .profile-description,
.top_girls_grid_full-box .listing_name,
.top_girls_grid_full-box .listing_area {
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

@media (max-width: 767px) {
  .xf-gallery-main { height: 420px; }
}

/* ------------------------------------------------------------------ mobile */
@media (max-width: 767px) {
  /* the featured rail: card and image must fit the screen */
  .top_girls_list.xf-rail .top_girl_box { width: 300px; min-height: 0; }
  .top_girls_list.xf-rail .top_girl_box .girl_overlay { width: 300px; height: 300px; }
  .home_reviews .xf-rail .review_box { width: 370px; }
  .sex-story-items.xf-rail > a { width: 370px; }

  /* the theme's fixed bottom bar */
  .m-main-menu { display: block; position: fixed; left: 0; right: 0; bottom: 0; min-height: 56px; background: #000; z-index: 1500; padding: 4px 0 env(safe-area-inset-bottom, 0px); }
  .m-main-menu ul { display: flex; justify-content: space-around; align-items: center; margin: 0; padding: 0; }
  .m-main-menu ul li { flex: 1 1 0; width: auto; list-style: none; }
  .m-main-menu ul li .cate-item {
    width: 100%; height: 48px; padding: 2px 4px; border: 0; background: transparent;
    color: #fff; display: inline-flex; flex-direction: column; align-items: center;
    justify-content: center; gap: 2px; font: inherit; cursor: pointer;
  }
  .m-main-menu ul li .cate-item svg { width: 22px; height: 22px; fill: currentColor; }
  .m-main-menu ul li .cate-item span { font-size: 11px; line-height: 1; }
  .m-main-menu li.active-menu .cate-item,
  .m-main-menu .cate-item:hover { color: #fe12a0; }
  .m-main-menu ul li .xf-mobile-whatsapp,
  .m-main-menu ul li .xf-mobile-whatsapp:hover { color: #25d366; }
  body { padding-bottom: calc(56px + env(safe-area-inset-bottom, 0px)); }

  /* the location drawer covers most of the screen, as sidr does on mobile */
  .sidr.right { width: 280px; }
}
@media (min-width: 768px) {
  .m-main-menu { display: none; }
}

/* the off-canvas drawer must not widen the page while it is closed */
html { overflow-x: hidden; }
.sidr.right { visibility: hidden; }
.sidr.right.sidr-open { visibility: visible; }

@media (max-width: 767px) {
  /* the featured rail (home) keeps its own art direction; the category grid card
     is handled by the .xf-card rules (portrait aspect + details below) */
  .top_girls_list.xf-rail .top_girl_box .girl_overlay { width: 300px !important; height: 300px !important; }
  .top_girls_list.xf-rail .top_girl_box { min-height: 0 !important; }
}

/* contact form — the legacy CF7 metrics */
.contact_form_cont input[type=text],
.contact_form_cont input[type=email] { width: 600px; max-width: 100%; height: 57px; display: inline-block; background: #fff; font-size: 18px; color: #000; }
.contact_form_cont textarea { width: 600px; max-width: 100%; height: 300px; font-size: 18px; color: #000; background: #fff; display: inline-block; }

/* stories archive: the theme's .review_box_row float grid drives the columns */
#blog-content .xf-blog-archive-title { margin-top: 0; }
#blog-content .xf-blog-archive-title::before,
#blog-content .xf-blog-archive-title::after { display: none; }
#blog-content .xf-blog-archive-title span { font-size: 30px; font-weight: bold; color: #ff149d; line-height: 1.25; }
#blog-content .review_box img { display: block; width: 100%; min-height: 400px; max-height: 400px; object-fit: cover; }
#blog-content .review_box_text .review_box_title { font-size: 18px; color: #fe12a0; line-height: 22px; font-weight: bold; padding-bottom: 10px; border-bottom: solid 1px #dfdfdf; margin: 0; }
#blog-content .review_box_text .review_box_title a { color: inherit; }
#blog-content .xf-blog-pagination { display: flex; justify-content: center; align-items: center; gap: 8px; flex-wrap: wrap; clear: both; }
#blog-content .xf-blog-pagination a,
#blog-content .xf-blog-page-ellipsis { display: inline-flex; align-items: center; justify-content: center; min-width: 32px; height: 32px; padding: 0 8px; margin: 0 0 30px; border: 1px solid #fe12a0; border-radius: 6px; background: #fff; color: #fe12a0; font-size: 14px; font-weight: 700; text-decoration: none; }
#blog-content .xf-blog-pagination a.active { background: #fe12a0; color: #fff; }
#blog-content .xf-blog-page-ellipsis { border-color: transparent; background: transparent; color: #777; }
#blog-content::after { content: ""; display: block; clear: both; }

/* blog post — the legacy article template */

.post-breadcrumb { display: flex; gap: 6px; list-style: none; padding: 14px 0; margin: 0; font-size: 14px; }
.post-breadcrumb a { color: #333; }
.post-breadcrumb .breadcrumb-item + .breadcrumb-item::before { content: "/"; margin-inline-end: 6px; color: #999; }
.comment-respond { margin-top: 40px; }
.comment-reply-title { font-size: 24px; font-weight: 700; margin-bottom: 14px; }
.comment-respond input[type=text] { width: 260px; height: 37px; display: block; margin-bottom: 10px; }
.comment-respond textarea { width: 600px; max-width: 100%; height: 160px; display: block; margin-bottom: 10px; }
.comment-list { list-style: none; padding: 0; margin: 20px 0; }
.comment-list li { border-bottom: 1px solid #eee; padding: 12px 0; }
.comment-author { font-weight: 700; }
.comment-date { color: #999; font-size: 12px; margin-inline-start: 8px; }

/* .date-text: styled by the theme's .stories-date strip */
.contact_form_cont .form-control[type=text],
.contact_form_cont .form-control[type=email] { width: 600px; max-width: 100%; height: 57px; font-size: 18px; color: #000; }
.contact_form_cont textarea.form-control { width: 600px; height: 300px; font-size: 18px; color: #000; }

/* live measurements: rateYo block is 80px wide; mobile rails bleed to the screen edge */
.reviews-star_img { width: 80px; display: block; }
@media (max-width: 767px) {
  .home_reviews .xf-rail .review_box, .sex-story-items.xf-rail > a { width: 265px; }
  /* the live page keeps these rails inside the container (the theme's -15px bleed is not in effect) */
  .multiple-items.xf-rail, .sex-story-items.xf-rail { margin-left: 0 !important; margin-right: 0 !important; }
}

/* headings demoted to divs (SEO audit P2) keep the exact h2 box metrics */
.xf-h2-box { display: block; margin: 0.83em 0; }
.contant-info .xf-age-heading {
  font-size: 18px;
  font-weight: 500;
  text-align: center;
  margin: 0.83em 0 30px;
  margin-top: 0;
  color: #fff;
}
.contant-info .xf-age-heading a { color: #fff; text-decoration: underline; }
@media (max-width: 767px) {
  .contant-info .xf-age-heading { font-size: 16px; }
}
/* profile title promoted to H1 / demoted duplicate — same look as the theme's .girl_short_text h3 */
.girl_short_text .xf-girl-title {
  color: #fe12a0;
  font-size: 22px;
  line-height: 100%;
  margin: 0 0 8px;
  font-weight: bold;
  word-break: break-word;
}

/* ===== SEO sprint (Trello X board, 09/2026) ===== */
/* hero lead under the H1 */
/* logo slogan */
/* the slogan stays in the DOM for SEO but must not alter the original header (100% UI parity) */
.xf-logo-slogan { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
/* hero city selector menu */
.escort-area_dropdown { position: relative; }
.xf-city-menu { position: absolute; top: 100%; right: 0; z-index: 60; background: #fff; border-radius: 8px;
  box-shadow: 0 8px 30px rgba(0,0,0,.25); padding: 12px; min-width: 320px; max-width: 92vw; max-height: 60vh; overflow-y: auto; direction: rtl; text-align: right; }
.xf-city-menu_area { font-weight: bold; color: #fe12a0; font-size: 14px; margin: 8px 0 4px; }
.xf-city-menu_group ul { display: flex; flex-wrap: wrap; gap: 4px; margin: 0; }
.xf-city-menu_group li { flex: 0 0 auto; }
.xf-city-menu_group button { background: #f4f4f4; border: 0; border-radius: 15px; padding: 5px 12px; font-size: 13px;
  color: #333; cursor: pointer; display: inline-flex; align-items: center; gap: 6px; }
.xf-city-menu_group button:hover, .xf-city-menu_group button.active { background: #fe12a0; color: #fff; }
.xf-city-menu_count { font-size: 11px; opacity: .7; }
/* category head + lead + chips */
.xf-cat-head h1 { margin-top: 10px; }
.xf-cat-lead { color: #555; font-size: 15px; line-height: 1.5; max-width: 760px; margin: 0 0 10px; }
.xf-city-chips {
  max-width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 0 14px;
  position: relative;
  scrollbar-width: thin;
  scroll-snap-type: inline proximity;
  -webkit-overflow-scrolling: touch;
}
.xf-city-chips:not(.is-measured)::after {
  background: #fafafa;
  content: '';
  inset: 0;
  position: absolute;
  z-index: 2;
}
.xf-city-chips-track { display: flex; flex-direction: column; gap: 7px; min-width: 100%; width: max-content; }
.xf-city-chips-row { display: flex; gap: 7px; width: max-content; }
.xf-chip { flex: 0 0 auto; min-height: 30px; background: #fff1f8; border: 1px solid #f7b2d8; border-radius: 999px;
  padding: 5px 10px 5px 12px; font-size: 12px; font-weight: 600; line-height: 18px; color: #bd2878 !important;
  white-space: nowrap; display: inline-flex; gap: 7px; align-items: center; scroll-snap-align: start;
  transition: background-color .15s ease, border-color .15s ease, color .15s ease; }
.xf-chip:hover, .xf-chip:focus-visible { background: #fe12a0; border-color: #fe12a0; color: #fff !important; text-decoration: none; outline: none; }
.xf-chip-count { min-width: 20px; height: 20px; padding: 0 5px; border-radius: 999px; background: rgba(254,18,160,.12);
  font-size: 10px; font-weight: 700; line-height: 20px; text-align: center; }
.xf-chip:hover .xf-chip-count, .xf-chip:focus-visible .xf-chip-count { background: rgba(255,255,255,.22); }
.xf-chip-active {
  border-color: #0f766e;
  background: #0f766e;
  color: #fff !important;
}
.xf-chip-active .xf-chip-count { background: rgba(255,255,255,.22); }

/* Regional links on a city archive are rendered in the initial server HTML.
   Scope these rules so the measured root-category CityChips rail keeps its
   existing two-row overflow behaviour. */
.xf-regional-silo {
  margin: 28px 0 24px;
  padding: 16px 18px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
}
.xf-silo-primary-cluster { min-width: 0; }
.xf-silo-title {
  margin: 0 0 10px;
  color: #333;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.4;
}
.xf-regional-silo .xf-city-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  max-width: 100%;
  overflow: visible;
  padding: 0;
  scroll-snap-type: none;
}
.xf-regional-silo .xf-city-chips:not(.is-measured)::after { content: none; }
.xf-city-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 7px 13px;
  border: 1px solid #f7b2d8;
  border-radius: 999px;
  background: #fff1f8;
  color: #a91f69 !important;
  font-size: 13px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none !important;
  white-space: nowrap;
}
.xf-city-chip:hover,
.xf-city-chip:focus-visible {
  border-color: #fe12a0;
  background: #fe12a0;
  color: #fff !important;
  outline: none;
}
.xf-city-chip--active {
  border-color: #555;
  background: #555;
  color: #fff !important;
}
@media (max-width: 767px) {
  .xf-regional-silo { margin: 22px 0 18px; padding: 14px; }
  .xf-silo-title { font-size: 15px; }
  .xf-city-chip { min-height: 40px; padding: 7px 12px; font-size: 12px; }
}
/* read-more spoiler for the long SEO text */
.xf-readmore { margin: 25px 0; border-top: 1px solid #eee; padding-top: 10px; }
.xf-readmore summary { cursor: pointer; color: #fe12a0; font-size: 16px; font-weight: bold; padding: 6px 0; list-style: none; }
.xf-readmore summary::before { content: '+ '; }
.xf-readmore[open] summary::before { content: '− '; }
/* semantic card image replacing background-image */
.girl_overlay.xf-img-overlay { overflow: hidden; display: block; position: relative; }
.xf-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; }
.xf-price-tag { position: absolute; bottom: 8px; right: 8px; background: rgba(254,18,160,.92); color: #fff; font-size: 13px; font-weight: bold; padding: 3px 10px; border-radius: 12px; z-index: 3; }
/* footer legal disclaimer */
.xf-legal-disclaimer { color: #9a9a9a; font-size: 11px; line-height: 1.5; margin: 4px auto 2px; max-width: 720px; }
.xf-adults-only { color: #ddd; font-size: 12px; margin: 0 0 6px; }
.xf-18-badge { display: inline-block; border: 1px solid #fe12a0; color: #fe12a0; border-radius: 50%; width: 28px; height: 28px; line-height: 26px; text-align: center; font-weight: bold; font-size: 11px; margin-left: 6px; vertical-align: middle; }
.xf-site-footer { color: #fff; padding: 28px 0 22px; min-height: 0; }
.xf-footer-grid { display: grid; grid-template-columns: 1.35fr 1fr 1fr; gap: 28px; align-items: start; }
.xf-footer-brand, .xf-footer-column { min-width: 0; }
.xf-footer-logo { display: inline-block; margin-bottom: 10px; }
.xf-footer-logo img { display: block; height: auto; max-width: 132px; }
.xf-site-footer .xf-legal-disclaimer { margin: 0 0 12px; max-width: 280px; color: #c9c9c9; font-size: 12px; }
.xf-footer-badges { float: none; text-align: inherit; margin: 0 0 10px; }
.xf-footer-badges img { max-width: 74px; height: auto; margin: 0 0 0 8px; vertical-align: middle; }
.xf-site-footer .copyright_text { color: #c9c9c9; margin: 0; }
.xf-footer-column h3 { color: #fe12a0; font-family: "OpenSansHebrewBold"; font-size: 20px; line-height: 1.25; margin: 0 0 12px; }
.xf-footer-column ul { list-style: none; margin: 0; padding: 0; }
.xf-footer-column li { margin: 0 0 7px; }
.xf-footer-column a { color: #fff; display: inline-block; line-height: 1.35; text-decoration: none; }
.xf-footer-column a:hover, .xf-footer-column a:focus { color: #fe12a0; text-decoration: none; }
.xf-footer-ltr { direction: ltr; }
.xf-footer-ltr .xf-footer-badges img { margin: 0 8px 0 0; }
.xf-footer-city-silos { border-top: 1px solid rgba(255,255,255,.16); margin-top: 26px; padding-top: 22px; }
.xf-footer-city-silos > h2 { color: #fff; font-family: "OpenSansHebrewBold"; font-size: 22px; line-height: 1.25; margin: 0 0 16px; }
.xf-footer-city-matrix { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; align-items: start; }
.xf-footer-city-region { min-width: 0; }
.xf-footer-city-region h3 { color: #fe12a0; font-family: "OpenSansHebrewBold"; font-size: 17px; line-height: 1.3; margin: 0 0 10px; }
.xf-footer-city-region ul { display: grid; gap: 6px; list-style: none; margin: 0; padding: 0; }
.xf-footer-city-region a { color: #fff; line-height: 1.35; text-decoration: none; }
.xf-footer-city-region a:hover, .xf-footer-city-region a:focus { color: #fe12a0; text-decoration: none; }
@media (max-width: 991px) {
  .xf-footer-city-matrix { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .xf-city-menu { position: fixed; top: auto; bottom: 0; left: 0; right: 0; max-width: none; border-radius: 14px 14px 0 0; max-height: 70vh; }
  .xf-site-footer { padding: 24px 0 86px; text-align: center; }
  .xf-footer-grid { grid-template-columns: 1fr; gap: 22px; }
  .xf-site-footer .xf-footer-brand {
    align-items: center;
    display: flex;
    flex-direction: column;
    text-align: center;
  }
  .xf-site-footer .xf-footer-brand .copyright_text {
    order: 3;
    text-align: center;
    width: 100%;
  }
  .xf-site-footer .xf-footer-brand .xf-footer-badges {
    display: flex;
    float: none;
    justify-content: center;
    margin: 10px 0 0;
    order: 4;
    width: 100%;
  }
  .xf-site-footer .xf-legal-disclaimer { margin-left: auto; margin-right: auto; }
  .xf-footer-badges img { margin: 0 4px; }
  .xf-footer-column h3 { color: #fff; font-size: 18px; margin-bottom: 10px; }
  .xf-footer-column ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px 18px; }
  .xf-footer-column li { margin: 0; }
  .xf-footer-city-silos { margin-top: 22px; }
  .xf-footer-city-matrix { grid-template-columns: 1fr; gap: 20px; }
  .xf-footer-city-region ul { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.xf-legal-row { clear: both; width: 100%; text-align: center; padding-top: 6px; }

/* ===== round 4 — exact mobile parity with xfinder.info ===== */
/* Yoast-style breadcrumbs strip above the category intro */
#breadcrumbs { font-size: 16px; color: #333; margin: 10px 0 0; }
#breadcrumbs a { color: #3174ad; text-decoration: none; }
/* Category descriptions live below the listing. Keep the sole semantic H1 in
   the visible pink title and do not reserve space for an empty intro block. */
.category_details-top .taxonomy_title_top { margin-bottom: 12px; }
.category_details-top .xf-category-title-row[dir="ltr"] .taxonomy_title_top { text-align: left; }
.category_details-top .xf-category-title-row[dir="rtl"] .taxonomy_title_top { text-align: right; }
.category_details-top .taxonomy_title_top h1 { margin: 0; color: inherit; font: inherit; line-height: 1.2; text-align: inherit; }
.category_details.category_details-top { padding-bottom: 0; }
.xf-seo-card { background: #fff; border: 1px solid #eee; border-radius: 8px; margin: 28px 0; padding: 20px; }
.xf-seo-card .taxonomy-description h2 { font-size: 22px; margin: 22px 0 10px; }
.xf-seo-card .taxonomy-description h3 { font-size: 18px; margin: 18px 0 8px; }
.xf-category-faq {
  background: #fff;
  border: 1px solid #eee;
  border-radius: 8px;
  margin: 28px 0;
  padding: 20px;
  text-align: start;
}
.xf-category-faq h2 { color: #1e2029; font-size: 22px; font-weight: 700; margin: 0 0 14px; }
.xf-category-faq-list { display: flex; flex-direction: column; gap: 8px; }
.xf-category-faq-item { background: #fff; border: 1px solid #e5e7eb; border-radius: 8px; }
.xf-category-faq-item summary {
  color: #1f2937;
  cursor: pointer;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.4;
  padding: 12px 14px;
}
.xf-category-faq-item p {
  border-top: 1px solid #f3f4f6;
  color: #4b5563;
  font-size: 14px;
  line-height: 1.6;
  margin: 0 14px;
  padding: 10px 0 12px;
}
@media (max-width: 767px) {
  .xf-category-title-row { margin-bottom: 7px; padding-top: 10px; }
  .xf-cat-lead { font-size: 13px; line-height: 1.35; margin-bottom: 8px; }
  .xf-seo-card { margin: 22px 0; padding: 15px; }
  .xf-category-faq { margin: 22px 0; padding: 15px; }
  .xf-category-faq h2 { font-size: 19px; }
}
/* Compact homepage intro; the lead is visible in the normal document flow. */
.featured_main { height: auto; padding: 24px 0 18px; }
.featured_main .featured_main-content { width: 100%; text-align: center; }
.featured_main-content h1 { font-size: 32px; line-height: 1.2; margin: 0 0 8px; }
.featured_main-content .xf-hero-lead {
  display: block;
  color: #4b5563;
  font-size: 15px;
  line-height: 1.5;
  max-width: 720px;
  margin: 0 auto;
}
.featured_main-img, .home-stories_bg, .home_ex_finder_bg { display: none; }
.home_stories { background-image: none; }
/* Mirror the guides CTA arrow and its divider only for LTR pages. */
html[dir="ltr"] .home_stories .more_categories a {
  padding-left: 40px;
  padding-right: 80px;
}
html[dir="ltr"] .home_stories .more_categories a::after {
  left: auto;
  right: 0;
  transform: scaleX(-1);
}
/* Keep decorative rules outside the title, including when its text wraps. */
.home_stories .section_title { display: flex; align-items: center; gap: 16px; }
.home_stories .section_title span { flex: 0 1 auto; min-width: 0; padding: 0; }
.home_stories .section_title::before,
.home_stories .section_title::after {
  position: static;
  flex: 1 0 24px;
  width: auto;
}
.main_content.xf-home-content { padding-top: 0; }
.home-category_section { padding: 18px 0 24px; }
.home-category_section .section_title { margin-bottom: 18px; }
.xf-home-category-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 16px;
}
.xf-home-category-grid > div { min-width: 0; }
.xf-home-category-grid .categories-card {
  height: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 8px;
  background: #171717;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.xf-home-category-grid .categories-card_link { height: 100%; }
.xf-home-category-grid .categories-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1200 / 630;
  object-fit: cover;
  transition: transform .3s ease;
}
.xf-home-category-grid .categories-card .categories-card_title {
  position: relative;
  display: block;
  margin: 0;
  padding: 8px 6px;
  min-height: 56px;
  background: #171717;
  font-size: 16px;
  line-height: 20px;
  overflow-wrap: anywhere;
}
.xf-home-category-grid .categories-card .categories-card_title .pink-color { margin: 0; }
.xf-home-category-grid .categories-card:focus-within {
  border-color: #fe12a0;
  box-shadow: 0 0 12px rgba(254, 18, 160, .6);
}
.xf-home-category-grid .categories-card_link:focus-visible { outline: 2px solid #fe12a0; outline-offset: -2px; }
@media (hover: hover) {
  .xf-home-category-grid .categories-card:hover {
    border-color: #fe12a0;
    box-shadow: 0 0 12px rgba(254, 18, 160, .6);
  }
  .xf-home-category-grid .categories-card:hover img { transform: scale(1.06); }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .xf-home-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 767px) {
  .featured_main { padding: 18px 0; }
  .featured_main-content h1 { font-size: 26px; }
  .xf-home-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .xf-home-category-grid .categories-card,
  .xf-home-category-grid .categories-card img { transition: none; }
  .xf-home-category-grid .categories-card:hover img { transform: none; }
}
/* mobile gallery: center slide with 60px side peeks (the live slick look) */
.xf-gallery-strip { display: none; }
@media (max-width: 767px) {
  .xf-gallery-strip {
    display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory;
    /* bigger centre image (smaller side peeks) and pulled closer to the title below */
    padding: 8px 34px 2px; -webkit-overflow-scrolling: touch; scrollbar-width: none;
    background: #fff;
  }
  .xf-gallery-strip::-webkit-scrollbar { display: none; }
  .xf-gallery-slide {
    position: relative; flex: 0 0 100%; scroll-snap-align: center;
    background: #fff; border: 5px solid #fff; box-shadow: 0 1px 6px rgba(0,0,0,.15);
  }
  .xf-gallery-slide img { width: 100%; height: 440px; object-fit: cover; display: block; }
  .xf-gallery-slide .vip_featured_profile, .xf-gallery-slide .top_img { position: absolute; top: 0; width: 90px; height: auto; }
  .xf-gallery-slide .vip_featured_profile { top: -6px; left: -6px; right: auto; }
  .xf-gallery-slide .top_img { right: 0; left: auto; }
  .xf-gallery-slide .xf-premium-badge { top: 8px; right: 8px; }
  /* the single-image main view is the desktop widget — hide it when the strip shows */
  .xf-gallery-strip + .xf-gallery-main, .xf-gallery-strip ~ .xf-thumbs { display: none; }
}

/* the live page is not RTL at the body level, so this flex row lays out LTR:
   auth links first, hamburger at the far right */
.header_blue_right { direction: ltr; }
/* home rail arrows — the slick prev/next look from the live site */
.xf-rail-wrap { position: relative; }
.xf-rail-arrow {
  position: absolute; top: 45%; z-index: 100; width: 30px; height: 30px;
  border-radius: 50%; border: 1px solid #e3e3e3; background: #fff; color: #fe12a0;
  direction: ltr; font-size: 20px; line-height: 26px; cursor: pointer;
  box-shadow: 0 1px 4px rgba(0,0,0,.12); padding: 0;
}
.xf-rail-arrow.next { inset-inline-end: -12px; }
.xf-rail-arrow.prev { inset-inline-start: -12px; }
/* the app-strip phone renders ~180px wide on the live site */
.home_service_section .login-img img { max-width: 185px; margin: -60px auto 0; }

/* the live contact form column: 600px, centered */
.contact_form_cont { max-width: 600px; margin: 10px auto 40px; }
.contact_form_cont select.form-control { width: 100%; height: 57px; font-size: 18px; }
/* the live site neutralizes the theme's absolute logo on mobile (extra WP css we don't have) */
@media (max-width: 767px) {
  .header_blue_logo { position: relative !important; left: 0 !important; display: inline !important; }
}

/* hamburger: live look — chevron on expandable rows, neon banner, sub-menu rows */
.toggle-mobile-menu .m-menu_item { position: relative; border-bottom: 1px solid rgba(255,255,255,.12); }
.toggle-mobile-menu .m-menu_item > a { display: block; color: #fff; font-size: 18px; padding: 10px 12px; }
.xf-sub-toggle { position: absolute; left: 10px; top: 10px; color: #fff; font-size: 22px; line-height: 1; cursor: pointer; padding: 2px 8px; transition: transform .15s; }
.xf-sub-open > .xf-sub-toggle { transform: rotate(-90deg); }
.toggle-mobile-menu .sub-menu { padding-right: 14px; }
.toggle-mobile-menu .sub-menu a { font-size: 15px; padding: 6px 12px; opacity: .9; }
.m-ads_link { display: block; margin: 14px 8px; }
.m-ads_img { width: 100%; }
.xf-mobile-ad-banner {
  display: flex;
  min-height: 78px;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 3px solid #ff139c;
  border-radius: 18px;
  background: #050505;
  box-shadow: 0 0 9px #ff139c, inset 0 0 8px rgba(255, 19, 156, .7);
  color: #fff;
  text-align: center;
  text-transform: none;
}
.xf-mobile-ad-banner small { font-size: 13px; line-height: 1.2; }
.xf-mobile-ad-banner strong { color: #ff139c; font-size: 25px; line-height: 1.15; text-transform: uppercase; }
/* bottom-bar popups + fav rows; selected state is exclusive */
.xf-fav-row { display: block; padding: 8px 4px; border-bottom: 1px solid #eee; color: #333; }
.m-main-menu .cate-item { color: #fff; }
.m-main-menu .active-menu .cate-item { color: #fe12a0; }
.m-main-menu .cate-item:focus, .m-main-menu .cate-item:active { outline: none; }
.toggle-mobile-menu .m-menu_item > span { display: block; color: #fff; font-size: 18px; padding: 10px 12px; cursor: pointer; }
.hbl_buttons .xf-lang-switcher { display: flex; gap: 10px; margin: 0; padding: 0; float: none; }
.hbl_buttons .xf-lang-switcher li { display: block; padding: 0; line-height: 1; }
.hbl_buttons .xf-lang-switcher a { color: #fff; font-size: 13px; line-height: 1; text-decoration: none; }
@media only screen and (max-width: 767px) {
  .header_blue_right .hbl_buttons .xf-lang-switcher { border-left: 0; }
  .header_blue_right > ul:empty { display: none; border-left: 0; }
}

/* blog post — readable longform layout */
.xf-blog-article { position: relative; background: #fff; }
.xf-blog-shell { max-width: 780px; padding-bottom: 10px; }
.xf-blog-media-container { width: 100%; }
.xf-blog-article #breadcrumbs.sp-breadcrumb {
  position: static; margin: 0; padding: 12px 0; border-bottom: 1px solid #ececec;
  background: #fff; font-size: 14px; line-height: 1.45; color: #444;
}
.xf-blog-article #breadcrumbs.sp-breadcrumb a { color: #333; text-decoration: none; }
.xf-blog-article #breadcrumbs.sp-breadcrumb a:hover { color: #fe12a0; }
.xf-blog-article #breadcrumbs.sp-breadcrumb span { color: #444; }
.xf-blog-post-meta {
  display: inline-flex; align-items: center; gap: 8px; margin: 10px 0 14px; padding: 6px 10px;
  border-radius: 4px; background: #f6f6f7; color: #6b6b72; font-size: 13px; line-height: 1.35;
}
.xf-blog-post-meta-dot { display: inline-flex; align-items: center; color: #9a9aa0; font-size: 12px; line-height: 1; }
.xf-blog-featured { width: 100%; overflow: hidden; background: #f3f3f3; }
.xf-blog-featured img { display: block; width: 100%; height: 100%; object-fit: cover; object-position: center; }
.xf-blog-article .xf-blog-title { box-sizing: border-box; width: 100%; padding-inline: 15px; font-size: 38px; font-weight: bold; line-height: 1.25; color: #fe12a0; margin: 30px 0 0; }
.xf-blog-article .page_content > .container { max-width: none; padding: 0; width: auto; }
.xf-blog-article .single-post_content { margin-top: 0; }
.xf-blog-article .sp-content_text { width: 100%; margin: 0; padding: 28px 15px 0; }
.xf-blog-article .sp-content_text h1.post-title,
.xf-blog-article .sp-content_text h2:first-child { display: none; }
.xf-blog-article .sp-content_text p,
.xf-blog-article .sp-content_text li { font-size: 18px; line-height: 1.65; margin-bottom: 1.1em; color: #1f1f1f; }
.xf-blog-article .sp-content_text ul,
.xf-blog-article .sp-content_text ol { padding-inline-start: 24px; margin: 0 0 1.2em; }
.xf-blog-article .sp-content_text a { color: #b0006a; text-decoration: underline; }
.xf-related-stories {
  direction: rtl; margin: 34px 15px 0; padding-top: 24px; border-top: 1px solid #ececec;
}
.xf-related-stories h2 {
  margin: 0 0 16px; color: #222; font-size: 24px; font-weight: 700; line-height: 1.25;
}
.xf-related-stories-grid {
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px;
}
.xf-related-story-card {
  display: block; overflow: hidden; border: 1px solid #e3e3e3; border-radius: 6px;
  background: #fff; color: inherit; text-decoration: none; transition: border-color .15s ease, box-shadow .15s ease;
}
.xf-related-story-card:hover {
  border-color: #fe12a0; box-shadow: 0 8px 24px rgba(0,0,0,.08); text-decoration: none;
}
.xf-related-story-card img {
  display: block; width: 100%; aspect-ratio: 4 / 3; object-fit: cover; background: #f1f1f1;
}
.xf-related-story-body {
  display: flex; min-height: 74px; flex-direction: column; justify-content: flex-start; gap: 5px; padding: 8px 10px;
}
.xf-related-story-title {
  display: -webkit-box; overflow: hidden; color: #b0006a; font-size: 15px; font-weight: 700; line-height: 1.35;
  -webkit-box-orient: vertical; -webkit-line-clamp: 3;
}
.xf-related-story-body time {
  color: #777; font-size: 13px; line-height: 1.3;
}
.xf-blog-catalog-cta {
  direction: rtl; margin: 28px 15px 16px; padding: 22px; border: 1px solid #f3b4d6; border-radius: 6px;
  background: linear-gradient(135deg, #fff 0%, #fff4fa 100%); text-align: center;
}
.xf-blog-catalog-cta h2 {
  margin: 0 0 8px; color: #222; font-size: 26px; font-weight: 700; line-height: 1.3;
}
.xf-blog-catalog-cta p {
  margin: 0 0 18px; color: #555; font-size: 17px; line-height: 1.45;
}
.xf-blog-catalog-actions {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 16px;
}
.xf-blog-catalog-actions a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 46px; padding: 0 22px;
  border-radius: 4px; color: #fff; font-size: 16px; font-weight: 700; text-decoration: none;
}
.xf-blog-catalog-actions .xf-blog-catalog-button { background: #fe12a0; }
.xf-blog-catalog-actions .xf-blog-catalog-button:hover { background: #b0006a; color: #fff; text-decoration: none; }
.xf-blog-catalog-actions .xf-blog-whatsapp-button { background: #25d366; }
.xf-blog-catalog-actions .xf-blog-whatsapp-button:hover { background: #1da851; color: #fff; text-decoration: none; }
@media (max-width: 767px) {
  .xf-blog-article #breadcrumbs.sp-breadcrumb { padding: 10px 0; font-size: 13px; }
  .xf-blog-post-meta { margin: 8px 0 12px; font-size: 12px; }
  .xf-blog-article .xf-blog-title { font-size: 28px; margin: 20px 0 0; }
  .xf-blog-article .sp-content_text { padding-top: 18px; }
  .xf-blog-article .sp-content_text p,
  .xf-blog-article .sp-content_text li { font-size: 17px; line-height: 1.62; margin-bottom: .95em; }
  .xf-related-stories { margin-top: 26px; padding-top: 20px; }
  .xf-related-stories h2 { font-size: 22px; }
  .xf-related-stories-grid { grid-template-columns: 1fr; gap: 12px; }
  .xf-related-story-card { display: grid; grid-template-columns: 112px minmax(0, 1fr); }
  .xf-related-story-card img { height: 100%; min-height: 112px; aspect-ratio: auto; }
  .xf-related-story-body { min-height: 112px; justify-content: flex-start; gap: 6px; padding: 10px 12px; }
  .xf-blog-catalog-cta { padding: 18px 14px; }
  .xf-blog-catalog-cta h2 { font-size: 22px; }
  .xf-blog-catalog-cta p { font-size: 16px; }
  .xf-blog-catalog-actions { flex-direction: column; }
  .xf-blog-catalog-actions a { width: 100%; min-height: 44px; padding: 0 14px; font-size: 15px; }
}
@media (min-width: 768px) and (max-width: 991px) {
  .xf-related-stories-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ===== redesigned listing card (taller portrait image, clean details below,
   proportional VIP/TOP/verified badges) — SEO: semantic img alt + linked title ===== */
/* the theme pins .grid-content to a fixed height (180/230/275px) which is
   SHORTER than our 3:4 portrait image, so the image overflowed onto the phone
   row. Let the link grow to contain the image; the contact buttons then sit
   cleanly below it. */
.xf-card .grid-content { display: block; height: auto !important; }
/* the theme also pins the whole card to a fixed height that doesn't count the
   phone button we added, so its contents overflowed onto the next grid row and
   the TOP/VIP badges of the row below "leaked" over it. Let the card grow to
   fit image + phone + WhatsApp. */
.top_girls_list .top_girl_box.top_girls_grid_full-box.xf-card {
  height: auto !important;
  min-height: 0 !important;
}
.xf-card .xf-card-vip {
  position: absolute;
  top: -12px;
  right: auto;
  left: -12px;
  z-index: 7;
  display: block;
  width: 80px;
  height: 80px;
  margin: 0;
  pointer-events: none;
}
.xf-card .xf-card-vip img.vip_tag {
  position: static;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  margin: 0;
  transform: none;
  transform-origin: center;
}
@media (max-width: 767px) {
  .xf-card .xf-card-vip {
    top: -10px;
    left: -10px;
    width: 60px;
    height: 60px;
  }
}
@media (max-width: 420px) {
  .xf-card .xf-card-vip {
    top: -9px;
    left: -9px;
    width: 52px;
    height: 52px;
  }
}
.top_girls_list .top_girl_box.top_girls_grid_full-box.xf-card .girl_overlay.xf-img-overlay {
  position: relative !important; display: block !important; width: 100% !important; height: auto !important;
  aspect-ratio: 3 / 4 !important; overflow: hidden; background: #ececec;
}
.xf-card .xf-card-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: top center; }
/* proportional corner badges */
.xf-card .top_img { position: absolute; top: 0; right: 0; width: 46px; height: auto; z-index: 4; }
.xf-card .xf-premium-badge { top: 6px; right: 6px; z-index: 4; padding: 6px 8px; font-size: 11px; }
.xf-card .verified_tag { position: absolute; bottom: 0; left: 0; width: 56px; height: auto; z-index: 4; }
.xf-card .xf-price-tag { z-index: 4; }
/* details OVERLAID on the bottom of the image: pink title (1 line), rating, bold city.
   a soft gradient scrim keeps the text legible over any photo */
.xf-card .top_girl_details.xf-details-over {
  position: absolute; left: 0; right: 0; bottom: 0; z-index: 5;
  padding: 26px 10px 10px; text-align: center; pointer-events: none;
  background: linear-gradient(to top, rgba(0,0,0,.78) 0%, rgba(0,0,0,.55) 45%, rgba(0,0,0,0) 100%);
}
.xf-card .top_girl_details.xf-details-over .listing_name {
  display: block; font-size: 15px; font-weight: bold; color: #fff;
  font-family: "OpenSansHebrewBold", sans-serif; text-shadow: 0 1px 3px rgba(0,0,0,.7);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-decoration: none;
  margin: 0; padding: 0;
}
.xf-card .top_girl_details.xf-details-over .rating-container { display: block; margin: 3px 0 2px; }
.xf-card .xf-profile-chips {
  display: flex; align-items: center; justify-content: center; gap: 4px;
  min-width: 0; overflow: hidden; margin-top: 3px;
}
.xf-card .xf-profile-chip {
  display: inline-block; min-width: 0; max-width: 55%;
  padding: 2px 5px; border: 1px solid rgba(255,255,255,.65); border-radius: 999px;
  background: rgba(0,0,0,.38); color: #fff;
  font-family: "OpenSansHebrewBold", sans-serif; font-size: 10px; font-weight: bold;
  line-height: 14px; text-shadow: 0 1px 2px rgba(0,0,0,.7);
  white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

/* single-link card */
.xf-card .xf-card-link { display: block; text-decoration: none; color: inherit; cursor: pointer; }
.xf-card .xf-card-link .girl_overlay { display: block; }
.top_girls_list_full-content h3.listing_name { margin-top: 0; }
.top_girls_list_full-content h3.listing_name span:first-child { vertical-align: top; }
.top_girls_list_full-content h3.listing_name span:nth-child(2) {
  display: inline-block; width: calc(100% - 36px); vertical-align: super;
}
.top_girls_list_full-box .top_girl_box .top_girl_details > .listing_name {
  display: block;
  padding: 0 15px 5px;
  margin: 0 0 8px;
  color: #fff;
  font-family: "OpenSansHebrewBold", sans-serif;
  font-size: 22px;
  font-weight: normal;
  text-shadow: 0 1px 2px rgba(24,24,25,.35);
}
.rtl .top_girls_list_full-box .top_girl_box .top_girl_details > .listing_name { text-align: right; }

/* Global category navigation. Links remain individually clickable while the
   unused parts of the row let pointer events pass through. */
.main-header_menu,
.main-header_menu-content { pointer-events: none; }
.main-header_menu .ad-free_btn,
.main-header_menu .mh-menu_list a { pointer-events: auto; }

.mh-menu_list a[aria-current="page"] { color: #fe12a0; font-weight: 700; }
.mh-menu_list li { padding-left: clamp(12px, 2vw, 28px); }
.mh-menu_list li a { text-align: center; }

.main-header_menu .ad-free_btn {
  flex: 0 0 auto;
  padding: 10px 18px;
  border: 1px solid #b0006a;
  border-radius: 999px;
  background: #d0007d;
  box-shadow: 0 2px 8px rgba(176, 0, 106, .2);
  color: #fff;
  font-size: 14px;
  font-weight: 700;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
  transition: background-color .15s ease, box-shadow .15s ease, transform .15s ease;
}
.main-header_menu .ad-free_btn:hover,
.main-header_menu .ad-free_btn:focus {
  background: #b0006a;
  box-shadow: 0 3px 10px rgba(176, 0, 106, .28);
  color: #fff;
  transform: translateY(-1px);
}

@media (min-width: 1025px) {
  .main-header { max-height: none; }
  .home .main-header_menu {
    position: relative;
    left: auto;
    right: auto;
  }
  .main-header_menu {
    position: relative;
    background: #fff;
    border-bottom: 1px solid #e7e9ed;
    box-shadow: 0 2px 8px rgba(36, 38, 53, .08);
  }
  .main-header_menu-content {
    min-height: 60px;
    padding: 10px 0;
  }
  .mobile-menu_link#goTo_menu { display: none !important; }
}

@media (max-width: 1024px) {
  .main-header_menu { display: none !important; }
}

/* The legacy theme sized only anchor-based view toggles. The React version
   uses buttons, so give those the same 27px visual and touch target. */
.header-white_left ul li > button {
  align-items: center;
  background-color: #c1c1c1;
  border-radius: 2px;
  display: inline-flex;
  height: 27px;
  justify-content: center;
  padding: 6px;
  width: 27px;
}
.header-white_left ul li.active > button { background-color: #fd129f; }

/* ===== home category showcase: label in natural Hebrew reading order (Trello hi9qF3F7).
   the theme sets this flex box to direction:initial (ltr), which reversed the words;
   force rtl so DOM order (before → accent → after) reads correctly right-to-left ===== */
.rtl .categories-card .categories-card_inner { direction: rtl; }
.categories-card .categories-card_inner .pink-color { color: #fe12a0; }

@media (max-width: 767px) {
  .categories-card .categories-card_inner { padding: 5px 9px; }
  .categories-card .categories-card_inner .pink-color { margin: 0; }
  .rtl .categories-card .categories-card_inner .pink-color { margin: 0 5px; }
}

/* Accessibility: keep the legacy visuals while meeting WCAG AA contrast.
   The original pink/blue pairings fail at normal text sizes, so these are
   scoped to the elements reported by Lighthouse instead of changing the brand
   color globally. */
h2.section_title { font-size: inherit; font-weight: inherit; margin-top: 0; }

/* category footer: compact city silo links + related blog posts */
.xf-city-cross-links {
  display: flex;
  align-items: baseline;
  gap: 8px;
  flex-wrap: wrap;
  margin: 38px 0 10px;
  padding: 18px 20px;
  border: 1px solid #ececec;
  border-radius: 8px;
  background: #fff;
  font-size: 16px;
}
.xf-city-cross-links-label { font-weight: 700; color: #333; }
.xf-city-cross-links ul { display: flex; flex-wrap: wrap; margin: 0; padding: 0; list-style: none; }
.xf-city-cross-links li { display: inline-flex; align-items: center; }
.xf-city-cross-links li:not(:last-child)::after { content: "·"; margin: 0 8px; color: #888; }
.xf-city-cross-links a { color: #b0006a; text-decoration: none; }
.xf-city-cross-links a:hover { text-decoration: underline; }
.xf-category-related-posts { margin: 42px 0 20px; }
.xf-category-related-posts .section_title { margin-bottom: 28px; }
.xf-category-related-posts-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 24px; }
.xf-category-related-post { overflow: hidden; border: 1px solid #e7e7e7; border-radius: 8px; background: #fff; }
.xf-category-related-post-image { display: block; height: 210px; background: #f2f2f2; }
.xf-category-related-post-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.xf-category-related-post-copy { padding: 18px; }
.xf-category-related-post-copy h3 { margin: 0 0 10px; font-size: 19px; line-height: 1.35; }
.xf-category-related-post-copy h3 a { color: #b0006a; text-decoration: none; }
.xf-category-related-post-copy p { margin: 0; color: #555; font-size: 15px; line-height: 1.55; }
@media (max-width: 767px) {
  .xf-city-cross-links { margin-top: 28px; padding: 15px; font-size: 15px; }
  .xf-category-related-posts-grid { grid-template-columns: 1fr; gap: 16px; }
  .xf-category-related-post-image { height: 190px; }
}
.sidr-class-loc_header {
  background: none;
  box-shadow: none;
  color: #000;
  padding: 0;
  text-align: right;
  font-size: 14px;
  font-weight: 700;
}
.manage-text h3 {
  font-size: 30px;
  margin-bottom: 30px;
  color: #b0006a;
  font-weight: 700;
}
.hbl_buttons .xf-lang-switcher a { color: #0b2330; font-weight: 700; }
.escort-area_dropdown > a.dropdown-toggle { color: #ff72d2; }
.review_box_text h3,
#blog-content .review_box_text .review_box_title { color: #b0006a; }
.more_categories a { background: #b0006a; }
@media (max-width: 991px) {
  .manage-text h3 { font-size: 24px; margin-bottom: 15px; }
}
@media (max-width: 767px) {
  .manage-text h3 {
    font-size: 16px;
    margin-bottom: 15px;
    color: #fff;
    display: inline-block;
  }
}

/* ===== phone number on cards: the theme's .dial-profile button styles don't
   reach the redesigned card, so the number rendered as a bare blue link.
   Make it the visible teal phone button the old site used. ===== */
.xf-card .dial-profile,
.top_girls_list_full-box .dial-profile {
  display: block; width: 100%; box-sizing: border-box;
  background: #007b76; color: #fff !important; text-decoration: none;
  font-family: "OpenSansHebrewBold", sans-serif; font-size: 18px; font-weight: bold;
  text-align: center; letter-spacing: .5px; direction: ltr;
  padding: 9px 8px; margin: 5px 0 2px; border-radius: 4px;
  position: relative; z-index: 4;   /* paint above any card-image overflow */
}
/* keep the contact buttons area above the portrait image, and clip the image */
.xf-card .btn-social-container { position: relative; z-index: 4; }
.xf-card .girl_overlay.xf-img-overlay { overflow: hidden; }
.xf-card .dial-profile:hover,
.top_girls_list_full-box .dial-profile:hover { background: #006d69; color: #fff !important; }
.xf-card-actions {
  position: relative;
  z-index: 4;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  height: 44px !important;
  margin-top: 2.5px !important;
  padding: 0;
}
.xf-card-actions .xf-card-action {
  flex: 1 1 50% !important;
  min-width: 0;
  height: 44px !important;
  min-height: 44px !important;
  margin: 0;
}
.xf-card-actions.xf-card-actions-single .xf-card-action-phone {
  flex: 1 1 100% !important;
}
.xf-card-actions .btn-social-container {
  display: flex;
  align-items: center;
  width: 100% !important;
  height: 44px !important;
  margin: 0;
  direction: inherit;
}
.xf-card-actions .dial-profile,
.xf-card-actions .btn-social-container .btn-whatsapp {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  width: 100% !important;
  height: 44px !important;
  min-height: 44px !important;
  padding: 0 10px !important;
  box-sizing: border-box !important;
  margin: 0;
  background: #ffffff !important;
  border-radius: 11px !important;
  direction: inherit;
  font-family: "OpenSansHebrewBold", sans-serif;
  font-size: 15px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
  letter-spacing: 0;
  white-space: nowrap;
  transition: all 0.2s ease-in-out !important;
}
.xf-card-actions .xf-contact-label {
  flex: 1 1 auto;
  min-width: 0;
  text-align: center;
  overflow: hidden !important;
  text-overflow: ellipsis;
  font-family: "OpenSansHebrewBold", sans-serif !important;
  font-size: 15px !important;
  font-style: normal;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  letter-spacing: 0;
  white-space: nowrap;
}
.xf-card-actions .dial-profile {
  color: #fe12a0 !important;
  border: 2.2px solid #fe12a0 !important;
  box-shadow: 0 3px 14px rgba(254, 18, 160, 0.22), 0 1px 4px rgba(254, 18, 160, 0.12) !important;
  overflow: visible;
  text-overflow: clip;
}
.xf-card-actions .dial-profile:hover {
  background: #fff5fa !important;
  color: #fe12a0 !important;
  box-shadow: 0 6px 20px rgba(254, 18, 160, 0.34) !important;
}
.xf-card-actions .btn-social-container .btn-whatsapp {
  color: #15803d !important;
  border: 2.2px solid #16a34a !important;
  box-shadow: 0 3px 14px rgba(37, 211, 102, 0.25), 0 1px 4px rgba(37, 211, 102, 0.12) !important;
}
.xf-card-actions .btn-social-container .btn-whatsapp:hover {
  background: #f0fdf4 !important;
  box-shadow: 0 6px 20px rgba(37, 211, 102, 0.38) !important;
}
.xf-card-actions .dial-profile img,
.xf-card-actions .btn-whatsapp img {
  display: block;
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
  margin: 0;
  padding: 0;
  object-fit: contain;
}
.xf-card-actions .btn-whatsapp .xf-contact-label {
  display: inline;
  position: static !important;
  width: auto !important;
  height: auto !important;
  overflow: hidden !important;
  clip: auto !important;
  text-overflow: ellipsis;
  white-space: nowrap !important;
  font-size: 15px !important;
  font-weight: 800 !important;
}
@media (max-width: 1199px) {
  .xf-card-actions .dial-profile,
  .xf-card-actions .btn-social-container .btn-whatsapp,
  .xf-card-actions .xf-contact-label,
  .xf-card-actions .btn-whatsapp .xf-contact-label {
    font-size: 14.5px !important;
  }
}
@media (min-width: 768px) and (max-width: 991px), (max-width: 599px) {
  .xf-card-actions:not(.xf-card-actions-single) {
    flex-direction: column !important;
    gap: 4px !important;
    height: 92px !important;
    min-height: 92px !important;
  }
  .xf-card-actions:not(.xf-card-actions-single) .xf-card-action {
    flex: 0 0 44px !important;
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
  }
  .xf-card-actions:not(.xf-card-actions-single) .dial-profile,
  .xf-card-actions:not(.xf-card-actions-single) .btn-social-container .btn-whatsapp {
    height: 44px !important;
    min-height: 44px !important;
  }
}
@media (max-width: 599px) {
  .xf-card-actions {
    height: 38px !important;
  }
  .xf-card-actions .xf-card-action,
  .xf-card-actions .btn-social-container,
  .xf-card-actions .dial-profile,
  .xf-card-actions .btn-social-container .btn-whatsapp {
    height: 38px !important;
    min-height: 38px !important;
  }
  .xf-card-actions .dial-profile,
  .xf-card-actions .btn-social-container .btn-whatsapp {
    padding: 0 9px !important;
    border-radius: 10px !important;
  }
  .xf-card-actions .dial-profile,
  .xf-card-actions .btn-social-container .btn-whatsapp,
  .xf-card-actions .xf-contact-label,
  .xf-card-actions .btn-whatsapp .xf-contact-label {
    font-size: 13.5px !important;
  }
  .xf-card-actions .dial-profile img,
  .xf-card-actions .btn-whatsapp img {
    flex-basis: 22px;
    width: 22px;
    height: 22px;
  }
  .xf-card-actions:not(.xf-card-actions-single) {
    height: 80px !important;
    min-height: 80px !important;
  }
  .xf-card-actions:not(.xf-card-actions-single) .xf-card-action {
    flex-basis: 38px !important;
    height: 38px !important;
    min-height: 38px !important;
  }
  .xf-card-actions:not(.xf-card-actions-single) .dial-profile,
  .xf-card-actions:not(.xf-card-actions-single) .btn-social-container .btn-whatsapp {
    height: 38px !important;
    min-height: 38px !important;
  }
}
@media (max-width: 767px) {
  .top_girls_list_full-box .top_girl_box .top_girl_details > .listing_name {
    margin-bottom: 1px;
    font-size: 18px;
  }
}

/* Contact triggers remain buttons; explicit phone and WhatsApp anchors live
   inside the action sheet after the API returns the full contact. */
.btn-reveal-contact {
  cursor: pointer;
  font: inherit;
}
.btn-reveal-contact:disabled {
  cursor: not-allowed;
  opacity: .72;
}
.btn-social.btn-reveal-contact {
  padding-top: 0;
  padding-bottom: 0;
}
.xf-contact-sheet {
  position: fixed;
  inset: 0;
  z-index: 1000005;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 16px;
  background: rgba(0, 0, 0, .52);
}
.xf-contact-sheet-panel {
  width: min(100%, 480px);
  padding: 20px;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .3);
  text-align: center;
}
.xf-contact-sheet-title {
  margin: 0 0 12px;
  color: #374151;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.4;
}
.xf-contact-sheet-number {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  margin: 0 0 14px;
  padding: 10px;
  border: 0;
  border-radius: 10px;
  background: #f8fafc;
  color: #111827;
  cursor: copy;
}
.xf-contact-sheet-number strong { font-size: 22px; font-weight: 700; letter-spacing: .02em; }
.xf-contact-sheet-number span { margin-top: 3px; color: #6b7280; font-size: 12px; font-weight: 600; }
.xf-contact-sheet-actions { display: grid; gap: 9px; }
.xf-contact-sheet-actions a,
.xf-contact-sheet-actions button {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 48px;
  box-sizing: border-box;
  border: 0;
  border-radius: 10px;
  padding: 10px 16px;
  font: inherit;
  font-size: 16px;
  font-weight: 700;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
  cursor: pointer;
}
.xf-contact-sheet-call { background: #007aff; color: #fff !important; }
.xf-contact-sheet-whatsapp { background: #25d366; color: #fff !important; }
.xf-contact-sheet-cancel { background: #e5e7eb; color: #1f2937; }
@media (min-width: 768px) {
  .xf-contact-sheet { align-items: center; }
}
.girl_buttons .xf-action-contact {
  appearance: none;
  background: transparent;
  border: 0;
  color: #000;
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  font: inherit;
  font-size: 14px;
  font-weight: bold;
  padding: 0;
  width: 100%;
  text-decoration: none;
}
.girl_buttons .xf-action-contact .xf-contact-label {
  display: block;
  margin-top: 9.5px;
  width: 100%;
  line-height: 22px;
  text-align: center;
}
.xf-turnstile-widget {
  display: block;
  margin: 8px auto 0;
  max-width: 100%;
  min-height: 65px;
  overflow: hidden;
}
.xf-turnstile-widget:empty { min-height: 0; }

/* Keep the category expander pink while raising normal-text contrast above
   WCAG AA on the page's #fafafa background. */
.category_details .read-more_text,
.category_details .read-more_text:hover { color: #c61567; }

/* Some migrated category descriptions contain an inline white text color even
   though this block is rendered on the light category-page background. */
.category_details-bottom .taxonomy-description [style*="color: white" i] {
  color: #333 !important;
}

/* Profile-page controls keep their legacy hues with WCAG AA contrast. */
.profile_left .pink_button a,
.profile_left .pink_button button {
  background: #d0007d;
}
.under_gallery_request .dial-profile {
  background: #007b76;
}
.under_gallery_request .dial-profile:hover,
.under_gallery_request .dial-profile:focus {
  background: #006d69;
}
