/* 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; }
.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; }
.xf-image-placeholder { background: #ececec; }
.profile_featured { background: #ececec; overflow: hidden; }
.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: 2; }
.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-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;
}

/* --- 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; background: #000; z-index: 1500; padding: 8px 0; }
  .m-main-menu ul { display: flex; justify-content: space-around; align-items: center; margin: 0; padding: 0; }
  .m-main-menu li { list-style: none; }
  .m-main-menu a { color: #fff; display: inline-flex; align-items: center; justify-content: center; height: 35px; }
  .m-main-menu li.active-menu a, .m-main-menu a:hover { color: #fe12a0; }
  body { padding-bottom: 51px; }   /* room for the bar */

  /* 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 */
.featured_main-content .xf-hero-lead { color: #fff; font-size: 18px; margin: 6px 0 14px; opacity: .92; max-width: 560px; }
/* 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: 4px 0 10px; }
.xf-city-chips { display: flex; gap: 6px; overflow-x: auto; padding: 4px 0 10px; -webkit-overflow-scrolling: touch; scrollbar-width: thin; }
.xf-chip { flex: 0 0 auto; background: #f4f4f4; border-radius: 16px; padding: 6px 14px; font-size: 13px; color: #333 !important; white-space: nowrap; display: inline-flex; gap: 6px; align-items: center; }
.xf-chip:hover { background: #fe12a0; color: #fff !important; text-decoration: none; }
.xf-chip-count { font-size: 11px; opacity: .65; }
/* 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 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; }
@media (max-width: 767px) {
  .featured_main-content .xf-hero-lead { font-size: 15px; }
  .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-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; }
/* the embedded H1 inside the description is UNSTYLED on the live site (plain 14px);
   the visible pink title is .taxonomy_title_top */
.taxonomy-description h1 { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; }
/* hero lead stays in the DOM for SEO but the live hero has no visible lead */
.featured_main-content .xf-hero-lead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; margin: 0; padding: 0; }
/* 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; }
  /* 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 site shows no facet chips; keep them in the DOM, hidden */
.xf-city-chips { 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%; }
/* 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%; max-height: 280px; overflow: hidden; background: #f3f3f3; }
.xf-blog-featured img { display: block; width: 100%; height: 280px; max-height: 280px; 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 p {
  margin: 0 0 16px; color: #222; font-size: 20px; font-weight: 700; line-height: 1.45;
}
.xf-blog-catalog-links {
  display: flex; flex-wrap: wrap; justify-content: center; gap: 10px;
}
.xf-blog-catalog-links a {
  display: inline-flex; align-items: center; justify-content: center; min-height: 40px; padding: 0 18px;
  border-radius: 4px; background: #fe12a0; color: #fff; font-size: 15px; font-weight: 700; text-decoration: none;
}
.xf-blog-catalog-links a:hover { background: #b0006a; 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-featured { max-height: 180px; }
  .xf-blog-featured img { height: 180px; max-height: 180px; }
  .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 p { font-size: 18px; }
  .xf-blog-catalog-links a { min-height: 38px; padding: 0 14px; font-size: 14px; }
}
@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; }
.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 (old site: vip ~60px) */
.xf-card .vip_tag { position: absolute; top: -6px; left: -6px; width: 80px; height: auto; max-width: 80px; z-index: 4; margin: 0; }
.xf-card .top_img { position: absolute; top: 0; right: 0; width: 46px; height: auto; z-index: 4; }
.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;
}
.xf-card .top_girl_details.xf-details-over .rating-container { display: block; margin: 3px 0 2px; }
.xf-card .top_girl_details.xf-details-over .listing_area {
  display: block; font-size: 13px; font-weight: bold; color: #fff;
  font-family: "OpenSansHebrewBold", sans-serif; text-shadow: 0 1px 3px rgba(0,0,0,.7); margin: 0;
}

/* 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; }

/* 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; }

/* 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; }
.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; }
@media (max-width: 767px) { .xf-card .dial-profile { font-size: 16px; padding: 8px 6px; } }

/* 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;
}
