/* صفحه مستقل پیدا کردن متخصص — تجربه خدمت‌محور و هماهنگ با طراحی باویو */

.marketplace-page{
  --market-border:color-mix(in srgb,var(--color-primary) 12%,var(--color-border));
  --market-border-strong:color-mix(in srgb,var(--color-primary) 25%,var(--color-border));
  --market-soft:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface));
  --market-shadow:0 14px 38px rgba(31,13,52,.07);
  --market-shadow-hover:0 20px 48px rgba(31,13,52,.11);
  min-height:100vh;
  background:linear-gradient(180deg,color-mix(in srgb,var(--color-surface-soft) 42%,var(--color-surface)),var(--color-surface) 30%);
  color:var(--color-text);
}
/* Dark cards use semantic borders rather than bright primary-color mixtures. */
html[data-color-mode="dark"] .marketplace-page{
  --market-border:var(--color-border);
  --market-border-strong:var(--color-border-strong);
}
.marketplace-page main{overflow:visible}
.marketplace-page .section{padding-block:44px}

/* سرصفحه کاربردی */
.market-utility-head{
  position:relative;
  z-index:8;
  padding:38px 0 22px;
  background:
    radial-gradient(circle at 88% 8%,color-mix(in srgb,var(--color-primary-light) 15%,transparent),transparent 32%),
    linear-gradient(180deg,color-mix(in srgb,var(--color-surface-soft) 62%,var(--color-surface)),var(--color-surface));
}
.market-utility-head .container-baveo{
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(520px,1.14fr);
  align-items:end;
  gap:34px;
}
.market-utility-copy h1{
  margin:8px 0 8px;
  color:var(--color-ink);
  font-size:clamp(1.65rem,3vw,2.55rem);
  line-height:1.42;
  letter-spacing:-.025em;
}
.market-utility-copy p{
  max-width:620px;
  margin:0;
  color:var(--color-text-muted);
  font-size:.86rem;
  line-height:1.9;
}

.market-location-bar{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
  gap:8px;
  padding:8px;
  border:1px solid var(--market-border);
  border-radius:18px;
  background:var(--glass-strong);
  box-shadow:var(--market-shadow);
  backdrop-filter:blur(16px);
  -webkit-backdrop-filter:blur(16px);
}
.market-location-bar .search-field{position:relative;min-width:0}
.market-location-bar .search-field-btn{
  width:100%;
  min-height:54px;
  display:flex;
  align-items:center;
  gap:9px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:13px;
  background:var(--color-surface-soft);
  color:var(--color-text);
  text-align:right;
  font:inherit;
  cursor:pointer;
}
.market-location-bar .search-field-btn:hover,
.market-location-bar .search-field.is-open .search-field-btn{
  border-color:var(--market-border-strong);
  background:var(--color-surface);
}
.market-location-bar .search-field-btn>span:nth-child(2){
  min-width:0;
  flex:1;
  display:grid;
}
.market-location-bar .search-field-btn small{
  color:var(--color-text-muted);
  font-size:.58rem;
}
.market-location-bar .search-field-btn strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--color-ink);
  font-size:.73rem;
}
.market-location-bar .search-ico{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  flex:0 0 36px;
  border-radius:11px;
  background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));
  color:var(--color-primary);
}
.market-location-bar .search-field-arrow{
  color:var(--color-text-muted);
  font-size:.7rem;
  transition:transform 160ms ease;
}
.market-location-bar .search-field.is-open .search-field-arrow{transform:rotate(180deg)}
.market-location-bar .search-menu{
  position:absolute;
  z-index:150;
  top:calc(100% + 8px);
  inset-inline:0;
  max-height:290px;
  overflow:auto;
  padding:7px;
  border:1px solid var(--market-border);
  border-radius:14px;
  background:var(--color-surface);
  box-shadow:0 20px 48px rgba(31,13,52,.15);
}
.market-location-bar .search-option{
  width:100%;
  min-height:42px;
  display:flex;
  align-items:center;
  padding:0 10px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:var(--color-text);
  text-align:right;
  font:inherit;
  font-size:.75rem;
  cursor:pointer;
}
.market-location-bar .search-option:hover,
.market-location-bar .search-option.is-active{
  background:var(--market-soft);
  color:var(--color-primary);
}
.market-location-bar .search-option.is-empty{color:var(--color-text-muted);cursor:default}
.market-location-bar>.btn-baveo{min-width:145px}

/* انتخاب خدمت */
.market-service-zone{padding:18px 0 12px;scroll-margin-top:88px}
.market-service-zone .container-baveo{
  padding-block:24px;
  border:1px solid var(--market-border);
  border-radius:24px;
  background:var(--color-surface);
  box-shadow:0 12px 34px rgba(31,13,52,.045);
}
.market-service-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:14px;
}
.market-step{
  width:fit-content;
  display:inline-flex;
  align-items:center;
  gap:7px;
  margin-bottom:7px;
  color:var(--color-primary);
  font-size:.65rem;
  font-weight:850;
}
.market-step b{
  width:24px;
  height:24px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--color-primary);
  color:#fff;
  font-size:.6rem;
}
.market-service-head h2{
  margin:0 0 5px;
  color:var(--color-ink);
  font-size:1.32rem;
}
.market-service-head p{
  max-width:650px;
  margin:0;
  color:var(--color-text-muted);
  font-size:.74rem;
  line-height:1.8;
}
.service-search{
  width:min(360px,100%);
  min-height:48px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 13px;
  border:1px solid var(--market-border);
  border-radius:14px;
  background:var(--color-surface-soft);
}
.service-search:focus-within{
  border-color:var(--color-primary);
  background:var(--color-surface);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 11%,transparent);
}
.service-search i{color:var(--color-primary)}
.service-search input{
  width:100%;
  min-width:0;
  border:0;
  outline:0;
  background:transparent;
  color:var(--color-ink);
  font:inherit;
  font-size:.78rem;
}
.service-category-chips{
  display:flex;
  gap:7px;
  overflow-x:auto;
  padding:2px 0 7px;
  scrollbar-width:none;
}
.service-category-chips::-webkit-scrollbar{display:none}
.service-category-chip{
  flex:0 0 auto;
  min-height:34px;
  padding:0 11px;
  border:1px solid var(--market-border);
  border-radius:999px;
  background:var(--color-surface);
  color:var(--color-text-muted);
  font:inherit;
  font-size:.68rem;
  font-weight:750;
  cursor:pointer;
}
.service-category-chip:hover,
.service-category-chip.is-on{
  border-color:color-mix(in srgb,var(--color-primary) 34%,var(--color-border));
  background:var(--market-soft);
  color:var(--color-primary);
}
.service-selection-note{
  min-height:40px;
  display:flex;
  align-items:center;
  gap:8px;
  margin:3px 0 12px;
  padding:8px 11px;
  border-radius:12px;
  background:color-mix(in srgb,var(--color-primary) 4%,var(--color-surface));
  color:var(--color-text-muted);
  font-size:.69rem;
}
.service-selection-note i{color:var(--color-primary)}
.service-selection-note strong{color:var(--color-primary)}
.cat-slider{position:relative}
.cat-viewport{overflow:hidden}
.cat-row{
  display:flex;
  gap:11px;
  overflow-x:auto;
  padding:2px 2px 5px;
  scroll-snap-type:x proximity;
  scrollbar-width:none;
}
.cat-row::-webkit-scrollbar{display:none}
.cat-card{
  flex:0 0 188px;
  min-width:188px;
  display:block;
  overflow:hidden;
  padding:0;
  border:1px solid var(--market-border);
  border-radius:17px;
  background:var(--color-surface);
  color:inherit;
  text-align:right;
  font:inherit;
  cursor:pointer;
  scroll-snap-align:start;
  box-shadow:0 7px 20px rgba(31,13,52,.04);
  transition:transform 160ms ease,border-color 160ms ease,box-shadow 160ms ease;
}
.cat-card:hover{
  transform:translateY(-2px);
  border-color:var(--market-border-strong);
  box-shadow:0 12px 28px rgba(31,13,52,.08);
}
.cat-card.is-selected{
  border-color:var(--color-primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 13%,transparent),0 14px 30px rgba(31,13,52,.08);
}
.cat-card .frame-cat{
  display:block;
  height:112px;
  overflow:hidden;
  background:var(--color-surface-soft);
}
.cat-card .frame-cat img{width:100%;height:100%;object-fit:cover}
.cat-info{display:block;padding:11px 12px 13px}
.cat-info small{
  display:block;
  margin-bottom:2px;
  color:var(--color-primary);
  font-size:.55rem;
  font-weight:800;
}
.cat-info h3{margin:0;color:var(--color-ink);font-size:.79rem}
.cat-info p{
  display:-webkit-box;
  overflow:hidden;
  margin:4px 0 0;
  color:var(--color-text-muted);
  font-size:.61rem;
  line-height:1.55;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
}
.cat-nav{
  position:absolute;
  z-index:5;
  top:50%;
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--market-border);
  border-radius:12px;
  background:var(--glass-strong);
  color:var(--color-ink);
  box-shadow:0 9px 24px rgba(31,13,52,.11);
  transform:translateY(-50%);
}
.cat-nav.is-prev{right:-9px}
.cat-nav.is-next{left:-9px}
.service-no-match{
  padding:20px;
  border:1px dashed var(--market-border);
  border-radius:14px;
  color:var(--color-text-muted);
  text-align:center;
  font-size:.76rem;
}

/* نوار اصلی فیلترها */
.marketplace-section{padding-top:26px!important;scroll-margin-top:72px}
.market-primary-bar{
  position:sticky;
  top:72px;
  z-index:34;
  display:grid;
  grid-template-columns:minmax(170px,.9fr) minmax(170px,.9fr) auto auto;
  gap:7px;
  align-items:center;
  margin-bottom:9px;
  padding:7px;
  border:1px solid var(--market-border);
  border-radius:17px;
  background:var(--glass-strong);
  box-shadow:0 12px 34px rgba(16,0,43,.075);
  backdrop-filter:blur(18px);
  -webkit-backdrop-filter:blur(18px);
}
.market-primary-item{
  min-width:0;
  min-height:50px;
  display:flex;
  align-items:center;
  gap:8px;
  padding:0 10px;
  border:1px solid transparent;
  border-radius:12px;
  background:var(--color-surface-soft);
  color:var(--color-text);
  text-align:right;
  font:inherit;
  cursor:pointer;
}
.market-primary-item:hover{border-color:var(--market-border-strong);background:var(--color-surface)}
.market-primary-icon{
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:var(--market-soft);
  color:var(--color-primary);
}
.market-primary-item>span:nth-child(2){min-width:0;flex:1;display:grid}
.market-primary-item small{font-size:.54rem;color:var(--color-text-muted)}
.market-primary-item strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:var(--color-ink);
  font-size:.7rem;
}
.market-primary-item>i{color:var(--color-text-muted);font-size:.67rem}
.market-availability{
  display:flex;
  gap:3px;
  padding:3px;
  border:1px solid var(--market-border);
  border-radius:12px;
  background:var(--color-surface-soft);
}
.market-availability .chip{
  min-height:36px;
  padding:0 10px;
  border:0;
  border-radius:9px;
  background:transparent;
  color:var(--color-text-muted);
  font:inherit;
  font-size:.66rem;
  font-weight:780;
  cursor:pointer;
}
.market-availability .chip.is-active{
  background:var(--color-surface);
  color:var(--color-primary);
  box-shadow:0 4px 12px rgba(31,13,52,.07);
}
.market-more-filters{
  min-height:44px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  padding:0 12px;
  border:1px solid var(--market-border);
  border-radius:12px;
  background:var(--color-surface);
  color:var(--color-primary);
  font:inherit;
  font-size:.69rem;
  font-weight:820;
  cursor:pointer;
}
.market-more-filters b{
  min-width:19px;
  height:19px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--color-primary);
  color:#fff;
  font-size:.55rem;
}
.active-filter-row{
  min-height:34px;
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:6px;
  margin-bottom:12px;
  padding-inline:4px;
}
.active-filter-label,.active-filter-empty{color:var(--color-text-muted);font-size:.64rem}
.active-filter-row button{
  min-height:29px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:0 8px;
  border:1px solid var(--market-border);
  border-radius:999px;
  background:var(--market-soft);
  color:var(--color-primary);
  font:inherit;
  font-size:.64rem;
  font-weight:760;
  cursor:pointer;
}

/* سر نتیجه */
.marketplace-head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:22px;
  margin-bottom:18px;
}
.marketplace-head .section-title{margin-top:4px}
.marketplace-count{
  flex:0 0 auto;
  min-width:92px;
  min-height:56px;
  display:grid;
  place-items:center;
  align-content:center;
  padding:7px 12px;
  border:1px solid var(--market-border);
  border-radius:14px;
  background:var(--color-surface);
  box-shadow:0 8px 24px rgba(31,13,52,.045);
}
.marketplace-count strong{color:var(--color-primary);font-size:1.08rem;line-height:1}
.marketplace-count span{margin-top:3px;color:var(--color-text-muted);font-size:.59rem}

/* نمای دو بخشی */
.marketplace-workspace{
  display:grid;
  grid-template-columns:minmax(0,1.18fr) minmax(390px,.82fr);
  gap:14px;
  align-items:start;
}
.market-results-pane{min-width:0}
.market-results-pane .provider-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:13px;
}

/* کارت متخصص */
.market-provider-card{
  position:relative;
  overflow:hidden;
  border:1px solid var(--market-border);
  border-radius:20px;
  background:var(--color-surface);
  box-shadow:0 9px 28px rgba(31,13,52,.055);
  transition:transform 170ms ease,border-color 170ms ease,box-shadow 170ms ease,background 170ms ease;
}
.market-provider-card:hover{
  transform:translateY(-2px);
  border-color:var(--market-border-strong);
  box-shadow:var(--market-shadow-hover);
}
.market-provider-card:focus-visible{
  outline:3px solid color-mix(in srgb,var(--color-primary) 24%,transparent);
  outline-offset:2px;
}
.market-provider-card.is-map-selected{
  border-color:var(--color-primary);
  box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 12%,transparent),var(--market-shadow-hover);
}
.market-provider-card .provider-cover{
  position:relative;
  height:205px;
  overflow:hidden;
  border-radius:0;
}
.market-provider-card .provider-cover>img{width:100%;height:100%;object-fit:cover}
.market-provider-card .sample-badge{
  position:absolute;
  top:11px;
  right:11px;
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:28px;
  padding:0 8px;
  border:1px solid var(--color-border);
  border-radius:999px;
  background:var(--glass-strong);
  color:var(--color-primary);
  box-shadow:0 7px 18px rgba(16,0,43,.09);
  font-size:.59rem;
  font-weight:820;
  backdrop-filter:blur(10px);
}
.market-provider-card .fav-btn{
  position:absolute;
  top:10px;
  left:10px;
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--glass-strong);
  color:var(--color-ink);
  box-shadow:0 7px 18px rgba(16,0,43,.1);
}
.market-provider-card .fav-btn.is-on{color:var(--color-danger)}
.provider-cover-service{
  position:absolute;
  right:11px;
  bottom:11px;
  max-width:calc(100% - 22px);
  display:grid;
  gap:1px;
  padding:7px 9px;
  border:1px solid var(--color-border);
  border-radius:11px;
  background:rgba(16,0,43,.77);
  color:#fff;
  box-shadow:0 8px 20px rgba(16,0,43,.16);
  backdrop-filter:blur(10px);
}
.provider-cover-service span{font-size:.5rem;opacity:.7}
.provider-cover-service strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.68rem;
}
.market-provider-card .provider-body{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
  gap:10px;
  padding:14px 15px 15px;
}
.provider-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.provider-identity{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}
.provider-identity .provider-avatar-wrap{
  position:static;
  width:46px;
  height:46px;
  flex:0 0 46px;
  overflow:hidden;
  border:2px solid var(--color-surface);
  border-radius:13px;
  box-shadow:0 0 0 1px var(--market-border);
}
.provider-identity .provider-avatar{width:100%;height:100%;object-fit:cover}
.provider-identity>span:last-child{min-width:0}
.provider-identity h3{
  overflow:hidden;
  margin:0 0 2px;
  color:var(--color-ink);
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.88rem;
}
.provider-identity small{
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--color-text-muted);
  font-size:.56rem;
}
.provider-identity small i{color:var(--color-primary)}
.market-provider-card .avail{
  flex:0 0 auto;
  min-height:26px;
  display:inline-flex;
  align-items:center;
  padding:0 7px;
  border-radius:999px;
  background:var(--color-success-soft);
  color:var(--color-success);
  font-size:.56rem;
  font-weight:780;
  white-space:nowrap;
}
.market-provider-card .avail.is-later{background:var(--color-surface-soft);color:var(--color-text-muted)}
.provider-service-context{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
  padding:10px 11px;
  border:1px solid var(--market-border);
  border-radius:13px;
  background:var(--market-soft);
}
.provider-service-main{min-width:0;display:grid;gap:2px}
.provider-service-label{color:var(--color-primary);font-size:.54rem;font-weight:820}
.provider-service-main strong{
  overflow:hidden;
  color:var(--color-ink);
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.74rem;
}
.provider-service-numbers{
  flex:0 0 auto;
  display:grid;
  justify-items:end;
  gap:2px;
}
.provider-service-numbers b{color:var(--color-primary);font-size:.7rem}
.provider-service-numbers span{
  display:inline-flex;
  align-items:center;
  gap:3px;
  color:var(--color-text-muted);
  font-size:.56rem;
}
.provider-scan-row{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:8px;
  align-items:center;
}
.provider-scan-row .rating,
.provider-scan-row .loc{
  min-width:0;
  display:flex;
  align-items:center;
  gap:4px;
  color:var(--color-text-muted);
}
.provider-scan-row .rating i{color:#e7a900}
.provider-scan-row .rating b{color:var(--color-ink);font-size:.68rem}
.provider-scan-row small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.57rem;
}
.provider-scan-row .loc{justify-self:end}
.provider-actions{
  display:grid;
  grid-template-columns:.82fr 1.18fr;
  gap:7px;
}
.provider-actions .btn-baveo{
  min-width:0;
  min-height:42px;
  justify-content:center;
  padding-inline:8px;
  border-radius:11px;
  font-size:.66rem;
}

/* اسکلت بارگذاری */
.provider-skel{
  min-height:390px;
  display:grid;
  grid-template-rows:205px 1fr;
  overflow:hidden;
  border:1px solid var(--market-border);
  border-radius:20px;
  background:var(--color-surface);
}
.provider-skel-media,
.provider-skel-body i,
.provider-skel-body b{
  position:relative;
  overflow:hidden;
  background:color-mix(in srgb,var(--color-primary) 5%,var(--color-surface-soft));
}
.provider-skel-media::after,
.provider-skel-body i::after,
.provider-skel-body b::after{
  content:"";
  position:absolute;
  inset:0;
  transform:translateX(100%);
  background:linear-gradient(90deg,transparent,var(--glass-strong),transparent);
  animation:market-skeleton 1.2s infinite;
}
.provider-skel-body{display:grid;gap:9px;align-content:start;padding:15px}
.provider-skel-body i{height:15px;border-radius:7px}
.provider-skel-body i:nth-child(2){width:70%}
.provider-skel-body i:nth-child(3){height:54px}
.provider-skel-body b{height:42px;margin-top:5px;border-radius:11px}
@keyframes market-skeleton{to{transform:translateX(-100%)}}

.market-state{
  min-height:270px;
  display:grid;
  place-items:center;
  align-content:center;
  gap:8px;
  padding:24px;
  border:1px dashed var(--market-border);
  border-radius:20px;
  background:var(--color-surface);
  text-align:center;
}
.market-state>i{color:var(--color-primary);font-size:1.45rem}
.market-state h3{margin:0;color:var(--color-ink);font-size:1rem}
.market-state p{max-width:430px;margin:0;color:var(--color-text-muted);font-size:.72rem;line-height:1.8}
.market-empty-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:7px;margin-top:5px}
.providers-more-wrap{display:flex;justify-content:center;margin-top:16px}
#providers-more:disabled{opacity:.62;cursor:wait}
.market-noscript{
  display:grid;
  gap:8px;
  margin-top:14px;
  padding:14px;
  border:1px solid var(--market-border);
  border-radius:15px;
  background:var(--color-surface);
}

/* نقشه */
.market-map-pane{
  position:sticky;
  top:136px;
  min-width:0;
  display:grid;
  gap:9px;
  padding:11px;
  border:1px solid var(--market-border);
  border-radius:20px;
  background:var(--color-surface);
  box-shadow:0 12px 34px rgba(31,13,52,.06);
}
.market-map-head h3{margin:3px 0;color:var(--color-ink);font-size:.9rem}
.market-map-head p{margin:0;color:var(--color-text-muted);font-size:.62rem;line-height:1.65}
.market-nearby-preview{
  display:grid;
  gap:7px;
  padding:8px;
  border:1px solid var(--market-border);
  border-radius:14px;
  background:var(--color-surface-soft);
}
.market-nearby-preview-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:9px;
}
.market-nearby-preview-head span{color:var(--color-ink);font-size:.64rem;font-weight:800}
.market-nearby-preview-head span i{color:var(--color-primary)}
.market-nearby-preview-head small{color:var(--color-text-muted);font-size:.53rem}
.marketplace-nearby-list{
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
}
.marketplace-nearby-list::-webkit-scrollbar{display:none}
.marketplace-nearby-list .nearby-item{
  flex:0 0 min(82%,280px);
  overflow:hidden;
  border:1px solid var(--market-border);
  border-radius:12px;
  background:var(--color-surface);
}
.marketplace-nearby-list .nearby-item.is-on{border-color:var(--color-primary);box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary) 10%,transparent)}
.marketplace-nearby-list .nearby-main{
  width:100%;
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:8px;
  align-items:center;
  padding:7px;
  border:0;
  background:transparent;
  color:inherit;
  text-align:right;
}
.marketplace-nearby-list .frame-thumb{width:48px;height:48px;border-radius:10px;overflow:hidden}
.marketplace-nearby-list .frame-thumb img{width:100%;height:100%;object-fit:cover}
.marketplace-nearby-list .nearby-copy{min-width:0;display:grid;gap:2px}
.marketplace-nearby-list h3{
  overflow:hidden;
  margin:0;
  color:var(--color-ink);
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.65rem;
}
.marketplace-nearby-list p{
  overflow:hidden;
  margin:0;
  color:var(--color-text-muted);
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:.55rem;
}
.nearby-tags{display:flex;gap:5px;align-items:center}
.nearby-tags span{font-size:.51rem;color:var(--color-text-muted)}
.slot-box.is-free{color:var(--color-success)}

.map-wrap{
  position:relative;
  height:calc(100vh - 235px);
  min-height:520px;
  max-height:720px;
  overflow:hidden;
  border:1px solid var(--market-border);
  border-radius:17px;
  background:color-mix(in srgb,var(--color-primary) 2%,var(--color-surface-soft));
}
.leaflet-host{width:100%;height:100%;direction:ltr}
.market-map-pane .leaflet-tile-pane{filter:saturate(.76) contrast(1.015) brightness(1.04)}
.map-floating-actions{
  position:absolute;
  z-index:680;
  top:13px;
  right:13px;
  pointer-events:none;
}
.map-locate-control{
  min-height:43px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 11px;
  border:1px solid var(--color-border);
  border-radius:13px;
  background:var(--glass-strong);
  color:var(--color-ink);
  box-shadow:0 12px 28px rgba(16,0,43,.14);
  font:inherit;
  font-size:.63rem;
  font-weight:820;
  backdrop-filter:blur(13px);
  pointer-events:auto;
}
.map-locate-control i{
  width:27px;
  height:27px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:var(--market-soft);
  color:var(--color-primary);
}
.map-locate-control.is-loading i{animation:locate-spin .9s linear infinite}
.map-locate-control.is-success{color:var(--color-success)}
.map-locate-control.is-success i{background:var(--color-success-soft);color:var(--color-success)}
.map-locate-control.is-denied,
.map-locate-control.is-error{color:var(--color-danger)}
.map-locate-control.is-denied i,
.map-locate-control.is-error i{background:var(--color-danger-soft);color:var(--color-danger)}
@keyframes locate-spin{to{transform:rotate(360deg)}}
.map-scroll-hint{
  position:absolute;
  z-index:640;
  top:66px;
  right:13px;
  display:flex;
  align-items:center;
  gap:5px;
  padding:6px 8px;
  border-radius:9px;
  background:rgba(16,0,43,.73);
  color:#fff;
  font-size:.52rem;
  pointer-events:none;
}
.map-legend{
  position:absolute;
  z-index:650;
  right:13px;
  bottom:13px;
  display:flex;
  flex-wrap:wrap;
  gap:7px 10px;
  max-width:calc(100% - 26px);
  padding:8px 10px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--glass-strong);
  box-shadow:0 9px 24px rgba(16,0,43,.1);
  color:var(--color-text);
  font-size:.57rem;
  backdrop-filter:blur(12px);
}
.map-legend .dot{display:inline-block;width:7px;height:7px;margin-left:4px;border-radius:50%}
.map-legend .dot.me{background:var(--color-deep-surface)}
.map-legend .dot.free{background:#239164}
.map-legend .dot.busy{background:#8d8795}

/* نشان اختصاصی باویو */
.map-salon-icon,
.map-user-icon{background:none!important;border:0!important}
.map-salon-icon .map-pin{
  position:relative;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:2px solid var(--color-primary);
  border-radius:13px 13px 13px 4px;
  background:var(--color-surface);
  color:var(--color-primary);
  box-shadow:0 8px 20px rgba(31,13,52,.2);
  transform:rotate(-45deg);
  transition:transform 160ms ease,background 160ms ease,color 160ms ease,box-shadow 160ms ease;
}
.map-salon-icon .map-pin i{
  font-size:.78rem;
  transform:rotate(45deg);
}
.map-salon-icon .map-pin::after{
  content:"";
  position:absolute;
  top:-3px;
  right:-3px;
  width:9px;
  height:9px;
  border:2px solid var(--color-surface);
  border-radius:50%;
  background:#8d8795;
}
.map-salon-icon.is-free .map-pin::after{background:#239164}
.map-salon-icon.is-hover .map-pin{
  transform:rotate(-45deg) scale(1.12);
  box-shadow:0 10px 26px rgba(31,13,52,.26);
}
.map-salon-icon.is-on .map-pin{
  background:var(--color-primary);
  color:#fff;
  transform:rotate(-45deg) scale(1.18);
  box-shadow:0 12px 30px color-mix(in srgb,var(--color-primary) 35%,transparent);
}
.map-user-dot{
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border:3px solid var(--color-surface);
  border-radius:50%;
  background:var(--color-deep-surface);
  color:#fff;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent),0 8px 20px rgba(16,0,43,.16);
}
.map-user-dot i{font-size:.66rem}
.market-map-pane .leaflet-control-zoom{
  overflow:hidden;
  border:1px solid var(--color-border)!important;
  border-radius:12px!important;
  box-shadow:0 9px 24px rgba(16,0,43,.12)!important;
}
.market-map-pane .leaflet-control-zoom a{
  background:var(--glass-strong)!important;
  color:var(--color-ink)!important;
}
.market-map-pane .leaflet-control-attribution{
  padding:3px 6px!important;
  background:var(--glass-strong)!important;
  color:var(--color-text-muted)!important;
  font-size:9px!important;
}
.market-map-pane .leaflet-control-attribution a{color:var(--color-primary)!important}
.market-map-pane .leaflet-popup-content-wrapper{
  border:1px solid var(--market-border);
  border-radius:17px;
  background:var(--glass-strong);
  box-shadow:0 18px 44px rgba(16,0,43,.17);
}
.market-map-pane .leaflet-popup-content{margin:0!important;padding:12px!important;font-family:var(--font)!important;direction:rtl;text-align:right}
.market-map-pane .leaflet-popup-tip{background:var(--color-surface)}
.map-provider-pop{min-width:220px;display:grid;gap:8px}
.map-pop-head{display:flex;align-items:center;gap:8px}
.map-pop-head>img{width:50px;height:50px;object-fit:cover;border-radius:11px}
.map-pop-head>span{min-width:0;display:grid}
.map-pop-head b{color:var(--color-ink);font-size:.72rem}
.map-pop-head small{color:var(--color-text-muted);font-size:.56rem}
.map-pop-head small i{color:#e7a900}
.map-pop-service{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  padding:8px;
  border-radius:10px;
  background:var(--market-soft);
}
.map-pop-service b{color:var(--color-ink);font-size:.64rem}
.map-pop-service em{color:var(--color-primary);font-size:.56rem;font-style:normal;margin-right: 50px}
.map-pop-location{color:var(--color-text-muted);font-size:.56rem}
.map-pop-availability{width:fit-content;padding:4px 7px;border-radius:999px;background:var(--color-surface-soft);color:var(--color-text-muted);font-size:.52rem}
.map-pop-availability.is-free{background:var(--color-success-soft);color:var(--color-success)}
.map-pop-cta{
  min-height:36px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  border-radius:10px;
  background:var(--color-primary);
  color:#fff!important;
  text-decoration:none!important;
  font-size:.61rem;
  font-weight:820;
}
.map-fallback,.market-map-empty{
  min-height:120px;
  display:grid;
  place-items:center;
  align-content:center;
  padding:20px;
  color:var(--color-text-muted);
  text-align:center;
  font-size:.7rem;
}

/* فیلترهای موبایل */
.market-filter-sheet[hidden]{display:none!important}
.market-filter-sheet{position:fixed;top:var(--market-viewport-top,0px);right:0;left:0;height:var(--market-viewport-height,100dvh);z-index:3000;display:block}
.market-filter-dim{position:absolute;inset:0;border:0;background:rgba(16,0,43,.42);backdrop-filter:blur(3px)}
.market-filter-panel{
  position:absolute;
  right:0;
  left:0;
  bottom:0;
  max-height:min(calc(var(--market-viewport-height,100dvh) - 32px),720px);
  overscroll-behavior:contain;
  overflow:auto;
  padding:17px 17px calc(18px + env(safe-area-inset-bottom));
  border-radius:24px 24px 0 0;
  background:var(--color-surface);
  box-shadow:0 -18px 52px rgba(16,0,43,.2);
}
.market-filter-panel:focus{outline:none}
.market-filter-sheet-head{
  position:sticky;
  top:-17px;
  z-index:3;
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:-17px -17px 15px;
  padding:16px 17px 12px;
  border-bottom:1px solid var(--market-border);
  background:var(--glass-strong);
  backdrop-filter:blur(12px);
}
.market-filter-sheet-head span{color:var(--color-primary);font-size:.58rem;font-weight:800}
.market-filter-sheet-head h2{margin:2px 0 0;color:var(--color-ink);font-size:1.05rem}
.market-filter-sheet-head>button{
  width:38px;
  height:38px;
  display:grid;
  place-items:center;
  border:1px solid var(--market-border);
  border-radius:11px;
  background:var(--color-surface-soft);
}
.market-filter-group{
  display:grid;
  gap:8px;
  padding:13px 0;
  border-bottom:1px solid var(--color-border);
}
.market-filter-group>strong{color:var(--color-ink);font-size:.77rem}
.market-filter-group>p{margin:0;color:var(--color-text-muted);font-size:.64rem;line-height:1.7}
.market-service-sheet-chips,.market-sheet-chips{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
}
.market-service-chip,.market-sheet-chips button{
  min-height:38px;
  padding:0 10px;
  border:1px solid var(--market-border);
  border-radius:11px;
  background:var(--color-surface);
  color:var(--color-text-muted);
  font:inherit;
  font-size:.65rem;
  font-weight:750;
}
.market-service-chip.is-active,.market-sheet-chips button.is-active,
.market-sheet-chips [data-gender].is-on{
  border-color:var(--color-primary);
  background:var(--market-soft);
  color:var(--color-primary);
}
.market-filter-summary{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:13px 0;
}
.market-filter-summary>div{
  display:grid;
  gap:2px;
  padding:10px;
  border-radius:11px;
  background:var(--color-surface-soft);
}
.market-filter-summary span{color:var(--color-text-muted);font-size:.55rem}
.market-filter-summary strong{color:var(--color-ink);font-size:.68rem}
.market-filter-sheet-actions{
  display:grid;
  grid-template-columns:.8fr 1.2fr;
  gap:8px;
  margin-top:10px;
}
/* Scroll ownership is managed centrally in baveo-core.js. */

/* کنترل ثابت موبایل */
.market-mobile-dock{display:none}
.mobile-map-card{display:none}

/* تبلت */
@media(max-width:1180px){
  .marketplace-workspace{grid-template-columns:minmax(0,1fr) 360px}
  .market-results-pane .provider-grid{grid-template-columns:1fr}
}
@media(max-width:1020px){
  .market-utility-head .container-baveo{grid-template-columns:1fr}
  .market-location-bar{max-width:760px}
}

/* تجربه مستقل موبایل */
@media(max-width:900px){
  .marketplace-page .section{padding-block:32px}
  .market-utility-head{padding:28px 0 16px}
  .market-utility-head .container-baveo{gap:18px}
  .market-utility-copy h1{font-size:clamp(1.5rem,6vw,2.05rem)}
  .market-location-bar{grid-template-columns:1fr 1fr}
  .market-location-bar>.btn-baveo{grid-column:1/-1;width:100%}
  .market-service-zone{padding-top:10px;scroll-margin-top:72px}
  .market-service-zone .container-baveo{padding-block:18px;border-radius:19px}
  .market-service-head{align-items:stretch;flex-direction:column;gap:12px}
  .service-search{width:100%}
  .cat-nav{display:none}
  .cat-row{margin-inline:-2px;padding-inline:2px}
  .cat-card{flex-basis:168px;min-width:168px}
  .cat-card .frame-cat{height:100px}

  .market-primary-bar{
    top:65px;
    grid-template-columns:1fr 1fr auto;
    border-radius:14px;
  }
  .market-primary-item{min-height:45px}
  .market-primary-item.is-service{grid-column:1/2}
  .market-primary-item.is-location{grid-column:2/3}
  .market-availability{grid-column:1/3;grid-row:2}
  .market-more-filters{grid-column:3;grid-row:1/3;height:100%}
  .active-filter-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    margin-bottom:10px;
    scrollbar-width:none;
  }
  .active-filter-row::-webkit-scrollbar{display:none}
  .active-filter-row>*{flex:0 0 auto}
  .marketplace-head{align-items:flex-start}
  .marketplace-count{min-width:78px;min-height:50px}
  .marketplace-workspace{display:block}
  .market-map-pane{display:none;position:static;padding:0;border:0;background:transparent;box-shadow:none}
  .marketplace-section.is-map-view .market-results-pane{visibility:hidden}
  .marketplace-section.is-map-view .market-map-pane{display:grid}
  .marketplace-section.is-map-view .market-nearby-preview{display:none}
  .marketplace-section.is-map-view .market-map-head{padding-inline:2px}
  .map-wrap{
    height:calc(100dvh - 170px);
    min-height:520px;
    max-height:none;
    border-radius:18px;
  }
  .map-scroll-hint{display:none}
  .map-legend{
    top:68px;
    bottom:auto;
    right:12px;
    max-width:220px;
  }
  .mobile-map-card{
    position:absolute;
    z-index:700;
    right:10px;
    left:10px;
    bottom:12px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:9px;
    border:1px solid var(--color-border);
    border-radius:16px;
    background:var(--glass-strong);
    box-shadow:0 14px 38px rgba(16,0,43,.19);
    backdrop-filter:blur(14px);
  }
  .mobile-map-card[hidden]{display:none!important}
  .mobile-map-card-main{
    min-width:0;
    display:grid;
    grid-template-columns:54px minmax(0,1fr);
    gap:8px;
    align-items:center;
  }
  .mobile-map-card-photo{width:54px;height:54px;overflow:hidden;border-radius:11px}
  .mobile-map-card-photo img{width:100%;height:100%;object-fit:cover}
  .mobile-map-card-copy{min-width:0;display:grid;gap:2px}
  .mobile-map-card-copy strong{
    overflow:hidden;
    color:var(--color-ink);
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.7rem;
  }
  .mobile-map-card-copy small{
    overflow:hidden;
    color:var(--color-text-muted);
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.57rem;
  }
  .mobile-map-card-copy>span{color:var(--color-text-muted);font-size:.55rem}
  .mobile-map-card-copy>span i{color:#e7a900}
  .mobile-map-card-actions{display:flex;gap:5px}
  .mobile-map-card-actions .btn-baveo{min-height:36px;padding-inline:8px;border-radius:9px;font-size:.58rem}
  .market-mobile-dock{
    position:fixed;
    z-index:1500;
    right:12px;
    left:12px;
    bottom:calc(10px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:.9fr 1fr 1fr;
    gap:4px;
    padding:5px;
    border:1px solid var(--market-border);
    border-radius:16px;
    background:var(--glass-strong);
    box-shadow:0 14px 38px rgba(16,0,43,.18);
    backdrop-filter:blur(16px);
  }
  .market-mobile-dock button{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--color-text-muted);
    font:inherit;
    font-size:.64rem;
    font-weight:800;
  }
  .market-mobile-dock button.is-on{
    background:var(--market-soft);
    color:var(--color-primary);
  }
}

@media(max-width:560px){
  .market-location-bar{grid-template-columns:1fr}
  .market-location-bar>.btn-baveo{grid-column:auto}
  .market-primary-bar{
    grid-template-columns:minmax(0,1fr) auto;
  }
  .market-primary-item.is-service{grid-column:1;grid-row:1}
  .market-primary-item.is-location{grid-column:1;grid-row:2}
  .market-availability{grid-column:1/-1;grid-row:3}
  .market-more-filters{grid-column:2;grid-row:1/3}
  .market-more-filters span{display:none}
  .marketplace-head{gap:10px}
  .marketplace-head .section-title{font-size:1.2rem}
  .market-provider-card .provider-cover{height:190px}
  .provider-service-context{align-items:flex-start;flex-direction:column}
  .provider-service-numbers{width:100%;display:flex;align-items:center;justify-content:space-between}
  .provider-actions{grid-template-columns:1fr 1.2fr}
  .market-filter-summary{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .marketplace-page *,
  .marketplace-page *::before,
  .marketplace-page *::after{
    scroll-behavior:auto!important;
    transition:none!important;
    animation:none!important;
  }
}


/* =========================================================
   لایه پایدارساز سوپراپ پیدا کردن متخصص
   این بخش عمداً در انتهای آخرین stylesheet صفحه لود می‌شود.
   ========================================================= */

body.marketplace-body{
  overflow-x:hidden;
  background:var(--color-background,var(--color-surface));
}
body.marketplace-body .pwa-connection-status{z-index:4000}
.marketplace-page{--market-nav-h:74px}
.marketplace-page .site-header,
.marketplace-page .site-header.is-scrolled{--nav-height:var(--market-nav-h)}

.marketplace-page,
.marketplace-page *,
.marketplace-page *::before,
.marketplace-page *::after{box-sizing:border-box}
.marketplace-page{width:100%;max-width:100%;overflow:clip}
.marketplace-page main{width:100%;max-width:100%;overflow:visible}
.marketplace-page .container-baveo{width:min(100% - 32px,1280px);max-width:1280px;margin-inline:auto}
.marketplace-page button,
.marketplace-page input{font-family:var(--font)}
.marketplace-page a{text-underline-offset:3px}
.marketplace-page .market-utility-copy,
.marketplace-page .market-service-head>div,
.marketplace-page .marketplace-head>div,
.marketplace-page .market-results-pane,
.marketplace-page .market-map-pane{min-width:0}

/* هدر کاربردی کم‌ارتفاع */
.marketplace-page .market-utility-head{padding-block:30px 18px}
.marketplace-page .market-utility-head .container-baveo{
  grid-template-columns:minmax(0,.9fr) minmax(500px,1.1fr);
  gap:28px;
  align-items:center;
}
.marketplace-page .market-utility-copy h1{
  max-width:620px;
  margin:6px 0;
  font-size:clamp(1.55rem,2.6vw,2.35rem);
}
.marketplace-page .market-utility-copy p{font-size:.8rem}
.marketplace-page .market-location-bar{width:100%;min-width:0}
.marketplace-page .market-location-bar .search-field-btn{min-width:0}
.marketplace-page .market-location-bar .search-menu{
  max-width:100%;
  overscroll-behavior:contain;
}

/* انتخاب خدمت: یک کارت ابزار، نه سکشن تبلیغاتی */
.marketplace-page .market-service-zone{padding-block:12px 8px}
.marketplace-page .market-service-zone .container-baveo{
  padding:20px;
  border-radius:22px;
}
.marketplace-page .market-service-head{margin-bottom:10px}
.marketplace-page .service-category-chips{margin-inline:-2px;padding-inline:2px}
.marketplace-page .cat-slider{min-width:0}
.marketplace-page .cat-viewport{width:100%;min-width:0;overflow:hidden}
.marketplace-page .cat-row{width:100%;max-width:100%;overscroll-behavior-inline:contain}
.marketplace-page .cat-card{flex:0 0 176px;min-width:176px;border-radius:16px}
.marketplace-page .cat-card .frame-cat{height:104px;aspect-ratio:auto}
.marketplace-page .cat-info{padding:10px 11px 12px}

/* نوار فیلتر اصلی */
.marketplace-page .marketplace-section{padding-top:20px!important}
.marketplace-page .market-primary-bar{
  top:calc(var(--market-nav-h) + 8px);
  grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto auto;
  gap:6px;
  width:100%;
  max-width:100%;
  margin-bottom:8px;
  padding:6px;
  border-radius:16px;
}
.marketplace-page .market-primary-item,
.marketplace-page .market-more-filters{min-width:0}
.marketplace-page .market-availability{min-width:max-content}
.marketplace-page .active-filter-row{margin-bottom:10px}
.marketplace-page .marketplace-head{
  margin-bottom:14px;
  padding:2px 2px 0;
}
.marketplace-page .marketplace-head .section-copy{max-width:680px;margin-bottom:0}

/* Desktop: فهرست 58% و نقشه 42% */
.marketplace-page .marketplace-workspace{
  display:grid;
  grid-template-columns:minmax(0,58fr) minmax(360px,42fr);
  gap:16px;
  align-items:start;
  width:100%;
}
.marketplace-page .market-results-pane{width:100%;max-width:100%;min-width:0}
.marketplace-page .market-results-pane .provider-grid{
  width:100%;
  grid-template-columns:minmax(0,1fr);
  gap:12px;
}

/* کارت افقی در دسکتاپ: اسکن سریع و ارتفاع کنترل‌شده */
@media (min-width:1024px){
  .marketplace-page .market-provider-card{
    display:grid;
    grid-template-columns:190px minmax(0,1fr);
    min-height:260px;
    overflow:hidden;
  }
  .marketplace-page .market-provider-card .provider-cover{
    width:100%;
    height:100%;
    min-height:260px;
  }
  .marketplace-page .market-provider-card .provider-body{
    min-width:0;
    align-content:start;
    gap:9px;
    padding:14px;
  }
  .marketplace-page .provider-cover-service{
    right:9px;
    left:9px;
    bottom:9px;
    max-width:none;
  }
  .marketplace-page .provider-title-row{align-items:center}
  .marketplace-page .provider-service-context{margin:0}
  .marketplace-page .provider-actions{margin-top:auto}
}

/* نقشه: تمام ارتفاع پنل، بدون درگیری با map-baveo.css */
.marketplace-page .market-map-pane.section-nearby{
  position:sticky;
  top:calc(var(--market-nav-h) + 82px);
  display:flex;
  flex-direction:column;
  gap:9px;
  width:100%;
  height:clamp(500px,calc(100dvh - 170px),720px);
  min-height:0;
  max-height:none;
  padding:10px;
  border:1px solid var(--market-border);
  border-radius:20px;
  background:var(--color-surface);
  box-shadow:0 14px 38px rgba(31,13,52,.07);
  overflow:hidden;
}
.marketplace-page .market-map-pane.section-nearby .market-map-head{
  flex:0 0 auto;
  min-height:52px;
  padding:2px 3px;
}
.marketplace-page .market-map-pane.section-nearby .market-map-head h3{
  margin:2px 0;
  font-size:.86rem;
}
.marketplace-page .market-map-pane.section-nearby .market-map-head p{
  max-width:520px;
  margin:0;
  font-size:.6rem;
}
.marketplace-page .market-map-pane.section-nearby .marketplace-nearby-list[hidden]{display:none!important}
.marketplace-page .market-map-pane.section-nearby .map-wrap{
  position:relative;
  flex:1 1 auto;
  width:100%;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--color-primary) 12%,var(--color-border))!important;
  border-radius:16px!important;
  background:#f3f1f7;
  box-shadow:none!important;
  isolation:isolate;
}
.marketplace-page .market-map-pane.section-nearby .leaflet-host{
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  border-radius:inherit;
  background:#f1eff5;
}
.marketplace-page .market-map-pane.section-nearby .leaflet-container{width:100%;height:100%}
.marketplace-page .market-map-pane.section-nearby .leaflet-tile-pane{
  filter:saturate(.78) contrast(1.025) brightness(1.035);
}

/* کنترل موقعیت داخل نقشه */
.marketplace-page .market-map-pane.section-nearby .map-floating-actions{
  position:absolute;
  z-index:680;
  top:12px;
  right:12px;
  pointer-events:none;
}
.marketplace-page .market-map-pane.section-nearby .map-locate-control{
  position:static!important;
  top:auto!important;
  right:auto!important;
  min-height:42px;
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:0 10px;
  border:1px solid var(--color-border);
  border-radius:12px;
  background:var(--glass-strong);
  color:var(--color-ink);
  box-shadow:0 10px 26px rgba(16,0,43,.14);
  font-size:.62rem;
  pointer-events:auto;
}
.marketplace-page .market-map-pane.section-nearby .map-locate-control i{
  width:27px;height:27px;border-radius:8px;
}
.marketplace-page .market-map-pane.section-nearby .map-scroll-hint{
  top:62px;
  right:12px;
  max-width:220px;
  line-height:1.5;
}
.marketplace-page .market-map-pane.section-nearby .map-legend{
  right:12px!important;
  bottom:12px!important;
  max-width:calc(100% - 24px)!important;
  padding:8px 10px!important;
  border-radius:11px!important;
  font-size:.58rem!important;
}

/* Marker باویو - Override قطعی نسبت به map-baveo.css */
.marketplace-page .market-map-pane.section-nearby .map-salon-icon{
  display:grid!important;
  place-items:center!important;
  border:0!important;
  background:transparent!important;
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon .map-pin{
  position:relative;
  width:34px!important;
  height:34px!important;
  display:grid!important;
  place-items:center!important;
  border:2px solid var(--color-primary)!important;
  border-radius:13px 13px 13px 4px!important;
  background:var(--color-surface)!important;
  color:var(--color-primary)!important;
  box-shadow:0 8px 20px rgba(31,13,52,.20)!important;
  transform:rotate(-45deg)!important;
  opacity:1!important;
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon .map-pin i{
  display:block;
  color:inherit;
  font-size:.75rem;
  transform:rotate(45deg);
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon .map-pin::after{
  content:"";
  position:absolute;
  top:-4px;
  right:-4px;
  width:10px!important;
  height:10px!important;
  border:2px solid var(--color-surface);
  border-radius:50%;
  background:#8d8795!important;
  box-shadow:0 2px 7px rgba(16,0,43,.16)!important;
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon.is-free .map-pin::after{background:#239164!important}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon.is-busy .map-pin{
  background:var(--color-surface)!important;
  color:#77717e!important;
  border-color:#aaa5af!important;
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon.is-on .map-pin{
  background:var(--color-primary)!important;
  color:#fff!important;
  border-color:var(--color-primary)!important;
  transform:rotate(-45deg) scale(1.17)!important;
  box-shadow:0 11px 28px color-mix(in srgb,var(--color-primary) 34%,transparent)!important;
}
.marketplace-page .market-map-pane.section-nearby .map-salon-icon.is-hover .map-pin{
  transform:rotate(-45deg) scale(1.1)!important;
}
.marketplace-page .market-map-pane.section-nearby .map-user-dot{
  width:28px!important;
  height:28px!important;
  display:grid!important;
  place-items:center!important;
  border:3px solid #fff!important;
  border-radius:50%!important;
  background:var(--color-deep-surface)!important;
  color:#fff!important;
  box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 18%,transparent),0 8px 20px rgba(16,0,43,.16)!important;
}

/* Popup */
.marketplace-page .market-map-pane.section-nearby .leaflet-popup-content-wrapper{
  border:1px solid var(--market-border)!important;
  border-radius:16px!important;
  background:var(--glass-strong)!important;
  box-shadow:0 16px 42px rgba(16,0,43,.18)!important;
}
.marketplace-page .market-map-pane.section-nearby .leaflet-popup-content{
  min-width:220px;
  margin:0!important;
  padding:12px!important;
  direction:rtl;
}
.marketplace-page .map-provider-pop{min-width:0}

/* وضعیت‌ها و Load more */
.marketplace-page .market-state{min-height:240px}
.marketplace-page .providers-more-wrap{padding-bottom:8px}

/* تبلت: از Split View خارج می‌شود */
@media (max-width:1023px){
  .marketplace-page .container-baveo{width:min(100% - 24px,900px)}
  .marketplace-page .market-utility-head{padding-top:22px}
  .marketplace-page .market-utility-head .container-baveo{
    grid-template-columns:1fr;
    gap:14px;
  }
  .marketplace-page .market-utility-copy h1{font-size:clamp(1.42rem,5vw,1.95rem)}
  .marketplace-page .market-location-bar{max-width:100%}
  .marketplace-page .market-service-zone{padding-top:8px}
  .marketplace-page .market-service-zone .container-baveo{padding:16px;border-radius:18px}
  .marketplace-page .market-service-head{align-items:stretch;flex-direction:column;gap:10px}
  .marketplace-page .service-search{width:100%}
  .marketplace-page .cat-nav{display:none}
  .marketplace-page .cat-card{flex-basis:158px;min-width:158px}
  .marketplace-page .cat-card .frame-cat{height:94px}

  .marketplace-page .market-primary-bar{
    top:calc(var(--market-nav-h) + 4px);
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;
    gap:5px;
  }
  .marketplace-page .market-availability{grid-column:1/3;grid-row:2;width:100%}
  .marketplace-page .market-availability .chip{flex:1}
  .marketplace-page .market-more-filters{grid-column:3;grid-row:1/3;height:100%}
  .marketplace-page .active-filter-row{
    flex-wrap:nowrap;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }
  .marketplace-page .active-filter-row::-webkit-scrollbar{display:none}
  .marketplace-page .active-filter-row>*{flex:0 0 auto}

  .marketplace-page .marketplace-workspace{display:block;width:100%}
  .marketplace-page .market-results-pane .provider-grid{grid-template-columns:1fr}
  .marketplace-page .market-provider-card{display:block}
  .marketplace-page .market-provider-card .provider-cover{
    height:210px;
    min-height:0;
  }

  /* نقشه در موبایل/تبلت یک Surface تمام‌صفحهٔ اپ است */
  .marketplace-page .market-map-pane.section-nearby{
    display:none;
    position:fixed;
    z-index:2200;
    top:var(--market-viewport-top,0px);
    right:0;
    left:0;
    bottom:auto;
    width:auto;
    height:var(--market-viewport-height,100dvh);
    min-height:0;
    padding:calc(8px + env(safe-area-inset-top,0px)) 10px calc(var(--mobile-dock-clearance,80px) + 6px);
    border:0;
    border-radius:0;
    background:var(--color-surface);
    box-shadow:none;
  }
  .marketplace-page .marketplace-section.is-map-view .market-results-pane{visibility:hidden}
  .marketplace-page .marketplace-section.is-map-view .market-map-pane.section-nearby{display:flex}
  body.is-market-map .marketplace-page :is(.site-header,.market-utility-head,.market-service-zone,.market-primary-bar,.active-filter-row,.marketplace-head,.market-result-status,.market-results-pane,.site-footer){visibility:hidden;pointer-events:none}
  body.is-market-map .market-mobile-dock{z-index:2300}
  body.is-market-map .market-map-pane{overscroll-behavior:none}
  body.is-market-map .market-map-pane .market-map-head{display:none}
  .marketplace-page .market-map-pane.section-nearby .market-map-head{
    min-height:48px;
    padding:0 2px 5px;
  }
  .marketplace-page .market-map-pane.section-nearby .market-map-head .eyebrow{display:none}
  .marketplace-page .market-map-pane.section-nearby .market-map-head h3{font-size:.78rem}
  .marketplace-page .market-map-pane.section-nearby .market-map-head p{
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
    font-size:.55rem;
  }
  .marketplace-page .market-map-pane.section-nearby .map-wrap{
    flex:1 1 0;
    height:auto!important;
    min-height:0!important;
    border-radius:16px!important;
  }
  .marketplace-page .market-map-pane.section-nearby .leaflet-host{
    height:100%!important;
    min-height:0!important;
  }
  .marketplace-page .market-map-pane.section-nearby .map-scroll-hint{display:none}
  .marketplace-page .market-map-pane.section-nearby .map-legend{
    top:62px!important;
    right:10px!important;
    bottom:auto!important;
    max-width:220px!important;
  }
  .marketplace-page .market-map-pane.section-nearby .map-locate-control span{display:inline}

  .marketplace-page .mobile-map-card{
    position:absolute;
    z-index:720;
    right:10px;
    left:10px;
    bottom:10px;
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:8px;
    align-items:center;
    padding:9px;
    border:1px solid var(--color-border);
    border-radius:15px;
    background:var(--glass-strong);
    box-shadow:0 14px 38px rgba(16,0,43,.2);
    backdrop-filter:blur(14px);
  }
  .marketplace-page .mobile-map-card[hidden]{display:none!important}
  .marketplace-page .mobile-map-card-main{
    min-width:0;
    display:grid;
    grid-template-columns:52px minmax(0,1fr);
    gap:8px;
    align-items:center;
  }
  .marketplace-page .mobile-map-card-photo{
    width:52px;height:52px;overflow:hidden;border-radius:11px
  }
  .marketplace-page .mobile-map-card-photo img{width:100%;height:100%;object-fit:cover}
  .marketplace-page .mobile-map-card-copy{min-width:0;display:grid;gap:2px}
  .marketplace-page .mobile-map-card-copy strong,
  .marketplace-page .mobile-map-card-copy small{
    overflow:hidden;text-overflow:ellipsis;white-space:nowrap
  }
  .marketplace-page .mobile-map-card-copy strong{color:var(--color-ink);font-size:.68rem}
  .marketplace-page .mobile-map-card-copy small{color:var(--color-text-muted);font-size:.56rem}
  .marketplace-page .mobile-map-card-copy>span{color:var(--color-text-muted);font-size:.54rem}
  .marketplace-page .mobile-map-card-copy>span i{color:#e7a900}
  .marketplace-page .mobile-map-card-actions{display:flex;gap:5px}
  .marketplace-page .mobile-map-card-actions .btn-baveo{
    min-height:35px;padding-inline:8px;border-radius:9px;font-size:.57rem
  }

  .marketplace-page .market-mobile-dock{
    position:fixed;
    z-index:1800;
    right:12px;
    left:12px;
    bottom:calc(var(--market-viewport-bottom,0px) + 8px + env(safe-area-inset-bottom));
    display:grid;
    grid-template-columns:.9fr 1fr 1fr;
    gap:4px;
    padding:5px;
    border:1px solid var(--market-border);
    border-radius:16px;
    background:var(--glass-strong);
    box-shadow:0 14px 38px rgba(16,0,43,.18);
    backdrop-filter:blur(16px);
  }
  .marketplace-page .market-mobile-dock button{
    min-height:44px;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:5px;
    border:0;
    border-radius:11px;
    background:transparent;
    color:var(--color-text-muted);
    font:inherit;
    font-size:.62rem;
    font-weight:800;
  }
  .marketplace-page .market-mobile-dock button.is-on{
    background:var(--market-soft);
    color:var(--color-primary);
  }
  .marketplace-page .site-footer{display:none}
}

/* موبایل کوچک */
@media (max-width:767px){
  .marketplace-page{--market-nav-h:62px}
}

@media (max-width:600px){
  .marketplace-page .container-baveo{width:min(100% - 18px,600px)}
  .marketplace-page .market-utility-copy p{font-size:.72rem}
  .marketplace-page .market-location-bar{
    grid-template-columns:1fr;
    gap:6px;
    padding:6px;
    border-radius:15px;
  }
  .marketplace-page .market-location-bar>.btn-baveo{grid-column:auto}
  .marketplace-page .market-location-bar .search-field-btn{min-height:48px}
  .marketplace-page .market-service-zone .container-baveo{padding:14px}
  .marketplace-page .market-service-head h2{font-size:1.08rem}
  .marketplace-page .market-service-head p{font-size:.67rem}
  .marketplace-page .service-selection-note{font-size:.62rem}
  .marketplace-page .cat-card{flex-basis:146px;min-width:146px}
  .marketplace-page .cat-card .frame-cat{height:88px}

  .marketplace-page .market-primary-bar{
    grid-template-columns:minmax(0,1fr) 50px;
    padding:5px;
    border-radius:13px;
  }
  .marketplace-page .market-primary-item.is-service{grid-column:1;grid-row:1}
  .marketplace-page .market-primary-item.is-location{grid-column:1;grid-row:2}
  .marketplace-page .market-more-filters{
    grid-column:2;grid-row:1/3;
    padding:0;
  }
  .marketplace-page .market-more-filters span{display:none}
  .marketplace-page .market-availability{grid-column:1/-1;grid-row:3}
  .marketplace-page .marketplace-head{align-items:flex-start;gap:8px}
  .marketplace-page .marketplace-count{min-width:70px;min-height:48px}
  .marketplace-page .market-provider-card .provider-cover{height:188px}
  .marketplace-page .market-provider-card .provider-body{padding:12px}
  .marketplace-page .provider-title-row{gap:6px}
  .marketplace-page .provider-identity .provider-avatar-wrap{width:42px;height:42px;flex-basis:42px}
  .marketplace-page .provider-service-context{
    align-items:flex-start;
    flex-direction:column;
    gap:6px;
  }
  .marketplace-page .provider-service-numbers{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
  }
  .marketplace-page .provider-actions{grid-template-columns:1fr 1.15fr}
  .marketplace-page .provider-actions .btn-baveo{font-size:.62rem}
  .marketplace-page .market-map-pane.section-nearby .map-locate-control{
    min-height:38px;
    padding-inline:8px;
  }
  .marketplace-page .market-map-pane.section-nearby .map-locate-control span{display:none}
  .marketplace-page .mobile-map-card{grid-template-columns:1fr}
  .marketplace-page .mobile-map-card-actions{display:grid;grid-template-columns:1fr 1fr}
}

@media (display-mode:standalone) and (max-width:1023px){
  .marketplace-page .market-mobile-dock{
    bottom:calc(var(--market-viewport-bottom,0px) + 8px + env(safe-area-inset-bottom));
  }
  .marketplace-page .market-map-pane.section-nearby{
    top:var(--market-viewport-top,0px);
    bottom:auto;
  }
}

@media (prefers-reduced-motion:reduce){
  .marketplace-page .market-provider-card,
  .marketplace-page .map-salon-icon .map-pin,
  .marketplace-page .market-mobile-dock button{transition:none!important}
}


/* ریزپرداخت رابط کاربری خدمات */
.marketplace-page .service-search{
  position:relative;
  width:min(390px,100%)!important;
  min-height:50px!important;
  display:flex!important;
  grid-template-columns:none!important;
  align-items:center!important;
  gap:9px!important;
  margin:0!important;
  padding:6px 12px!important;
  border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border))!important;
  border-radius:15px!important;
  background:var(--color-surface)!important;
  box-shadow:0 7px 22px rgba(31,13,52,.045)!important;
  cursor:text;
}
.marketplace-page .service-search::before{
  content:"";
  position:absolute;
  inset:6px;
  border-radius:11px;
  background:color-mix(in srgb,var(--color-primary) 3.5%,var(--color-surface-soft));
  pointer-events:none;
}
.marketplace-page .service-search>i{
  position:relative;
  z-index:1;
  width:34px;
  height:34px;
  flex:0 0 34px;
  display:grid;
  place-items:center;
  margin:0!important;
  border-radius:10px;
  background:color-mix(in srgb,var(--color-primary) 9%,var(--color-surface));
  color:var(--color-primary);
  font-size:.9rem;
}
.marketplace-page .service-search input[type="search"]{
  position:relative;
  z-index:1;
  width:100%!important;
  min-width:0!important;
  min-height:36px!important;
  height:36px!important;
  margin:0!important;
  padding:0 2px!important;
  border:0!important;
  border-radius:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:var(--color-ink)!important;
  font-family:var(--font)!important;
  font-size:16px;
  line-height:36px!important;
  appearance:none;
  -webkit-appearance:none;
}
.marketplace-page .service-search input[type="search"]::placeholder{
  color:color-mix(in srgb,var(--color-text-muted) 82%,transparent);
  opacity:1;
}
.marketplace-page .service-search input[type="search"]::-webkit-search-cancel-button{
  -webkit-appearance:none;
  width:18px;
  height:18px;
  border-radius:50%;
  background:
    linear-gradient(45deg,transparent 44%,var(--color-text-muted) 45% 55%,transparent 56%),
    linear-gradient(-45deg,transparent 44%,var(--color-text-muted) 45% 55%,transparent 56%);
  opacity:.6;
  cursor:pointer;
}
.marketplace-page .service-search:focus-within{
  border-color:color-mix(in srgb,var(--color-primary) 65%,var(--color-border))!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent),0 10px 28px rgba(31,13,52,.06)!important;
}
.marketplace-page .service-search:focus-within::before{background:var(--color-surface)}

/* نام خدمت داخل بدنه کارت وجود دارد؛ روی تصویر تکرار نمی‌شود. */
.marketplace-page .provider-cover-service{display:none!important}

/* راهنمای متنی شناور نقشه عمداً حذف شده؛ خود کنترل‌های نقشه کافی‌اند. */
.marketplace-page .map-scroll-hint{display:none!important}

@media(max-width:1023px){
  .marketplace-page .service-search{width:100%!important}
}


/* Service information inherits the semantic surface; no light-only hardcoded tint. */
.marketplace-page .provider-service-context {background:var(--market-soft);border-color:var(--market-border-strong);}
.marketplace-page .provider-service-main strong {color:var(--color-text);white-space:normal;overflow-wrap:anywhere;}
.marketplace-page .provider-service-label {color:var(--color-text-muted);font-size:.67rem;}
.marketplace-page .provider-service-numbers b {color:var(--color-primary);font-size:.76rem;}
.marketplace-page .provider-service-numbers span {color:var(--color-text-muted);font-size:.68rem;}

/* Status and controls stay in their existing surfaces. */
.market-result-status{margin:6px 0;font-size:13px;color:var(--color-text-muted);min-height:1.8em}
.market-map-status{position:absolute;z-index:1500;top:8px;inset-inline:54px;max-width:420px;margin-inline:auto;padding:8px 12px;border-radius:12px;background:var(--color-surface);color:var(--color-ink);font-size:13px;box-shadow:0 4px 20px #0002}
.market-map-status[hidden]{display:none}.market-map-status button{font:inherit;color:var(--color-primary);border:0;background:transparent;min-height:44px}
.market-sheet-location{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:center}.market-sheet-location select{font:inherit;font-size:16px;min-height:44px;min-width:0;max-width:100%;border:1px solid var(--color-border);border-radius:10px;background:var(--color-surface);color:var(--color-ink);padding:6px 10px}
.marketplace-page .provider-grid.is-stale{opacity:.6}.marketplace-page [inert]{pointer-events:none}
html.is-market-scroll-locked{overscroll-behavior:none}
