/* reset ساده */
*,
*::before,
*::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
}

body {
  font-family: system-ui, -apple-system, "Segoe UI", sans-serif;
  background: #f3f4f6;
  color: #111827;
  direction: rtl;
  text-align: right;
  line-height: 1.6;
}

/* لایه کلی صفحه */
.page {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}

.container {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding: 1.5rem;
}

/* Header */
.site-header {
  background: #111827;
  color: #fff;
}

.site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
}

.site-logo {
  font-weight: 700;
  font-size: 1.3rem;
}

.site-logo span {
  color: #38bdf8;
}

.site-nav a {
  color: #e5e7eb;
  margin-left: 1rem;
  text-decoration: none;
  font-size: 0.95rem;
}

.site-nav a:hover {
  color: #ffffff;
}

/* Hero / بالای صفحه */
.hero {
  padding: 2.5rem 0 1.5rem;
}

.hero-title {
  font-size: 1.8rem;
  font-weight: 700;
  margin-bottom: 0.75rem;
}

.hero-subtitle {
  color: #6b7280;
  margin-bottom: 1.5rem;
}

/* کارت‌ها و باکس‌ها */
.card {
  background: #ffffff;
  border-radius: 1.5rem;
  padding: 1.5rem;
  box-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
}

/* فرم جست‌وجو */
.search-card {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
  align-items: end;
}

.form-group {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
}

.form-group label {
  font-size: 0.9rem;
  color: #4b5563;
}

.form-control {
  width: 100%;
  padding: 0.55rem 0.75rem;
  border-radius: 0.75rem;
  border: 1px solid #d1d5db;
  background: #f9fafb;
  font-size: 0.95rem;
}

.form-control:focus {
  outline: none;
  border-color: #38bdf8;
  background: #ffffff;
}

/* دکمه‌ها */
.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.6rem 1.2rem;
  border-radius: 999px;
  border: none;
  cursor: pointer;
  font-size: 0.95rem;
  font-weight: 600;
  transition: all 0.15s ease-in-out;
}

.btn-primary:hover {
  background: #0284c7;
}

.btn-ghost {
  background: transparent;
  color: #0f172a;
}

.btn-ghost:hover {
  background: #e5e7eb;
}

/* لیست ارائه‌دهندگان */
.list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  margin: 1.5rem 0 1rem;
}

.list-title {
  font-size: 1.3rem;
  font-weight: 600;
}

.providers-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 1.2rem;
  margin-bottom: 2rem;
}

.provider-card {
  background: #ffffff;
  border-radius: 1rem;
  padding: 1rem 1.1rem;
  box-shadow: 0 8px 24px rgba(15, 23, 42, 0.06);
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.provider-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.5rem;
}

.provider-name {
  font-weight: 600;
  font-size: 1rem;
}

.badge-verified {
  border-radius: 999px;
  padding: 0.15rem 0.6rem;
  font-size: 0.75rem;
  border: 1px solid transparent;
  background: linear-gradient(#dcfce7,#dcfce7) padding-box, linear-gradient(90deg,#0ea5e9,#1e9e8d) border-box;
  color: #0f766e;
  
}

.provider-meta {
  font-size: 0.85rem;
  color: #6b7280;
}

.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.tag {
  padding: 0.2rem 0.55rem;
  background: #e6f7f4;
  color: #0f766e; 
  font-weight: 700;
  font-size: 0.75rem;
  border-radius: 999px;
}

/* پروفایل ارائه‌دهنده */
.profile-layout {
  display: grid;
  grid-template-columns: 1.6fr 1fr;
  gap: 1.5rem;
  margin-top: 1.5rem;
}

.profile-main,
.profile-side {
  background: #ffffff;
  border-radius: 1rem;
  padding: 1.25rem;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}

.profile-header {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
}

.profile-name {
  font-size: 1.3rem;
  font-weight: 700;
}

.profile-city {
  font-size: 0.9rem;
  color: #6b7280;
}

.profile-section-title {
  font-size: 1rem;
  font-weight: 600;
  margin: 1rem 0 0.4rem;
}

/* گالری نمونه‌کار */
.cases-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 1rem;
}

.case-card {
  border-radius: 0.75rem;
  background: #f9fafb;
  padding: 0.75rem;
}

.case-title {
  font-size: 0.9rem;
  font-weight: 600;
  margin-bottom: 0.5rem;
}

.case-photos {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.35rem;
}

.case-photos img {
  width: 100%;
  border-radius: 0.5rem;
  object-fit: cover;
}

/* =========================================================
   Provider Cases (Dashboard) — Card UI
   قابل تغییر با CSS variables روی .provider-cases
   ========================================================= */

.provider-cases{
  --pc-surface: #ffffff;
  --pc-surface-2: #f9fafb;
  --pc-border: rgba(15, 23, 42, 0.10);
  --pc-text: #111827;
  --pc-muted: #6b7280;

  /* Badge colors (easy to change) */
  --pc-badge-published-bg: rgba(16, 185, 129, 0.12);
  --pc-badge-published-text: #059669;
  --pc-badge-draft-bg: rgba(245, 158, 11, 0.14);
  --pc-badge-draft-text: #b45309;

  /* Buttons */
  --pc-primary-bg: #111827;
  --pc-primary-text: #ffffff;
  --pc-soft-bg: rgba(17, 24, 39, 0.06);
}

.provider-cases__topbar{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
}

.provider-cases__title{margin:0;color:var(--pc-text);font-size:1.25rem;font-weight:800;}
.provider-cases__subtitle{margin-top:6px;color:var(--pc-muted);font-size:0.9rem;}

.provider-cases__actions{display:flex;gap:10px;align-items:center;}

.provider-cases__grid{
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:14px;
}

@media (max-width: 900px){
  .provider-cases__grid{grid-template-columns: 1fr;}
}

.pc-card{
  background: var(--pc-surface);
  border: 1px solid var(--pc-border);
  border-radius: 16px;
  padding: 14px;
  box-shadow: 0 10px 30px rgba(15, 23, 42, 0.06);
}



/* ---------------------------------------------------------
   [IBP:UI] Publish state tint (Option B)
   --------------------------------------------------------- */
.provider-cases .pc-card.pc-card--published{
  background: linear-gradient(0deg, rgba(16, 185, 129, 0.06), rgba(16, 185, 129, 0.06)), var(--pc-surface);
  border-color: rgba(16, 185, 129, 0.18);
}
.provider-cases .pc-card.pc-card--draft{
  background: linear-gradient(0deg, rgba(245, 158, 11, 0.06), rgba(245, 158, 11, 0.06)), var(--pc-surface);
  border-color: rgba(245, 158, 11, 0.18);
}

.pc-card__head{display:flex;align-items:flex-start;justify-content:space-between;gap:10px;}
.pc-card__title{color:var(--pc-text);font-weight:800;font-size:1rem;line-height:1.55;}
.pc-card__meta{margin-top:8px;display:flex;gap:8px;align-items:center;flex-wrap:wrap;color:var(--pc-muted);font-size:0.85rem;}
.pc-dot{opacity:0.6;}
.pc-muted{color:var(--pc-muted);}

.pc-chip{
  background: var(--pc-surface-2);
  border: 1px solid var(--pc-border);
  border-radius: 999px;
  padding: 4px 10px;
  font-size: 0.82rem;
  color: var(--pc-text);
}

.pc-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius: 999px;
  padding: 6px 10px;
  font-size: 0.82rem;
  font-weight: 700;
  white-space: nowrap;
}
.pc-badge--published{background: var(--pc-badge-published-bg); color: var(--pc-badge-published-text);}
.pc-badge--draft{background: var(--pc-badge-draft-bg); color: var(--pc-badge-draft-text);}

.pc-card__body{margin-top:12px;}
.pc-kpis{display:grid;grid-template-columns: repeat(3, minmax(0, 1fr));gap:8px;}

/* Compact KPIs (keep them on one row) */
.pc-kpi{background: var(--pc-surface-2);border:1px solid var(--pc-border);border-radius:12px;padding:8px 10px;display:flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;}
.pc-kpi__label{color:var(--pc-muted);font-size:0.78rem;margin:0;white-space:nowrap;}
.pc-kpi__value{color:var(--pc-text);font-weight:800;font-size:0.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;}
.pc-kpi__value--date{font-weight:700;font-size:0.82rem;}

.pc-card__foot{margin-top:12px;display:flex;gap:10px;flex-wrap:wrap;}

.pc-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  border-radius: 12px;
  padding: 10px 12px;
  text-decoration:none;
  font-weight:800;
  font-size:0.9rem;
  border: 1px solid transparent;
}

.pc-btn--primary{background: var(--pc-primary-bg); color: var(--pc-primary-text);}
.pc-btn--soft{background: var(--pc-soft-bg); color: var(--pc-text);}
.pc-btn--outline{background: transparent; border-color: var(--pc-border); color: var(--pc-text);}

.pc-alert{border-radius: 14px;padding:12px 14px;border:1px solid var(--pc-border);background: var(--pc-surface);}
.pc-alert--error{border-color: rgba(239, 68, 68, 0.30);background: rgba(239, 68, 68, 0.06);color: #991b1b;}

.pc-empty{border:1px dashed var(--pc-border);border-radius:16px;padding:18px;background: var(--pc-surface);}
.pc-empty__title{font-weight:900;color:var(--pc-text);font-size:1rem;}
.pc-empty__desc{margin-top:8px;color:var(--pc-muted);font-size:0.9rem;line-height:1.8;}
.pc-empty__cta{margin-top:12px;}

.pc-note{color: var(--pc-muted);font-size:0.82rem;line-height:1.9;}

/* اطلاعات تماس */
.contact-box {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  font-size: 0.9rem;
}

.contact-row span.label {
  color: #6b7280;
  margin-left: 0;
  margin-right: 0.25rem;
}


/* Footer */
.site-footer {
  margin-top: auto;
  background: #111827;
  color: #9ca3af;
  padding: 1rem 0;
  font-size: 0.8rem;
}

.site-footer .container {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
}

/* ریسپانسیو */
@media (max-width: 768px) {
	
    .header-inner{flex-wrap:wrap;}
    .header-search{flex:1 1 100%;max-width:none;}
    .header-search-input{width:100%;}

  .site-header-inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .profile-layout {
    grid-template-columns: 1fr;
  }

  .site-footer .container {
    flex-direction: column;
  }
}
/* === کلیات layout جدید کچلها === */

/* بدنه سایت عمومی */
.site-body {
    margin: 0;
    font-family: tahoma, "iransans", sans-serif;
    background-color: #f7f8fa;
    color: #222;
}

/* ظرف اصلی */
.container {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 16px;
}

/* لینک‌ها و دکمه‌ها */
a {
    text-decoration: none;
}

.btn {
    display: inline-block;
    padding: 8px 18px;
    border-radius: 6px;
    font-size: 0.9rem;
    border: 1px solid transparent;
    cursor: pointer;
}

.btn-primary {
    background: linear-gradient(90deg, #0ea5e9, #1e9e8d);
    border-radius: 999px;
    color: #fff; box-shadow: 0 14px 30px rgba(14,165,233,0.25);
}

.btn-primary:hover {
    opacity: 0.9;
}

.btn-outline {
    background-color: #fff;
    border-color: #1e9e8d;
    color: #1e9e8d;
    border-radius: 999px;
}

.btn-outline:hover {
    background: linear-gradient(90deg, #0ea5e9, #1e9e8d);
    color: #fff; box-shadow: 0 14px 30px rgba(14,165,233,0.20);
}

/* === HEADER عمومی === */

.site-header {
    background-color: #ffffff;
    border-bottom: 1px solid #e2e4ea;
    position: sticky;
    top: 0;
    z-index: 100;
}

.header-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 10px 0;
}

.header-search{flex:1;max-width:320px;transition:box-shadow .15s ease,border-color .15s ease,background .15s ease;}
.header-search-input{width:100%;padding:7px 10px;border:1px solid #d0d3df;border-radius:999px;background:#f7f8fa;font-size:.85rem;}
.header-search-input:focus{outline:none;border-color:#0ea5e9;background:#fff;box-shadow:0 0 0 3px rgba(14,165,233,0.18);}
.header-search-input::placeholder{color:#94a3b8;}

/* لوگو */
.logo {
    display: flex;
    align-items: center;
    gap: 8px;
    color: #111;
}

.logo-img {
    width: 40px;
    height: 40px;
    border-radius: 0%;
    object-fit: contain;
}

.logo-text {
    display: flex;
    flex-direction: column;
    font-weight: bold;
    font-size: 1rem;
}

.logo-text small {
    font-weight: normal;
    font-size: 0.75rem;
    color: #777;
}

/* منو */
.header-nav ul {
    list-style: none;
    display: flex;
    gap: 16px;
    margin: 0;
    padding: 0;
    font-size: 0.9rem;
}

.header-nav a {
    color: #333;
    display:inline-block; padding:6px 10px; border-radius:999px;
    transition:background .15s ease, color .15s ease;
}

.header-nav a:hover {
    color:#1e9e8d; background:#e6f7f4;
}

/* اکشن‌ها */
.header-actions {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 0.85rem;
}

.link-provider-login {
    color: #555;
}

.link-provider-login:hover {
    color: #1e9e8d;
}

/* منوی موبایل – فعلاً فقط مخفی */
.header-menu-toggle {
    display: none;
    background: none;
    border: none;
    font-size: 1.3rem;
}

/* === FOOTER عمومی === */

.site-footer {
    margin-top: 40px;
    background-color: #101522;
    color: #f1f1f1;
    font-size: 0.85rem;
}

.footer-top {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 16px;
    padding: 24px 0 16px;
}

.footer-column h4 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 0.95rem;
}

.footer-column ul {
    list-style: none;
    margin: 0;
    padding: 0;
}

.footer-column li {
    margin-bottom: 4px;
}

.footer-column a {
    color: #d5d7de;
	text-decoration: none;
}

.footer-column a:hover{opacity:.85;}

.footer-column a:hover {
    color: #ffffff;
}

.footer-bottom {
    border-top: 1px solid #272b3a;
    padding: 10px 0 14px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
}

.footer-copy {
    color: #9ea3b5;
}

.footer-social span {
    margin-left: 8px;
}

.footer-social a {
    color: #d5d7de;
    margin-right: 6px;
}

/* === main sections === */

.site-main section {
    padding: 40px 0;
}

/* HERO صفحه اصلی */

.home-hero {
    background: linear-gradient(135deg, #e6f7f4, #ffffff);
    padding: 40px 0 32px;
}

.home-hero-inner {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 32px;
    align-items: center;
}

.home-hero h1 {
    margin-top: 0;
    font-size: 1.7rem;
    margin-bottom: 10px;
}

.hero-subtitle {
    margin: 0 0 18px;
    color: #555;
    font-size: 0.9rem;
}

/* فرم جست‌وجو ساده */

.search-bar-simple {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
    background-color: #fff;
    border-radius: 16px;
    padding: 14px;
    box-shadow: 0 18px 50px rgba(15, 23, 42, 0.10);
    margin-bottom: 16px;
}

.search-field {
    display: flex;
    flex-direction: column;
    min-width: 150px;
    flex: 1;
}

.search-field label {
    font-size: 0.75rem;
    margin-bottom: 4px;
    color: #555;
}

.search-field select {
    padding: 10px 12px;
    border-radius: 12px;
    border: 1px solid #d0d3df; background: #f9fafb;
    font-size: 0.85rem;
}
.search-field select:focus { outline: none; border-color: #0ea5e9; box-shadow: 0 0 0 3px rgba(14,165,233,0.18); }

.search-actions {
    flex-shrink: 0;
}

/* آمار زیر Hero */

.hero-stats {
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    margin-top: 10px;
}

.hero-stat-item {
    background-color: #ffffff;
    border-radius: 10px;
    padding: 8px 12px;
    font-size: 0.8rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.04);
}

.hero-stat-item strong {
    display: block;
    font-size: 1rem;
}

/* بخش تصویر قبل/بعد در Hero */

.home-hero-visual {
    display: flex;
    flex-direction: column;
    gap: 10px;
    align-items: flex-start;
}

.hero-before-after {
    background-color: #fff;
    border-radius: 12px;
    padding: 8px;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    position: relative;
    box-shadow: 0 4px 14px rgba(0, 0, 0, 0.06);
}

.hero-before-after img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
}

.ba-label {
    position: absolute;
    top: 8px;
    right: 10px;
	background: linear-gradient(90deg, #0ea5e9, #1e9e8d);
    color: #fff;
    padding: 2px 8px;
    border-radius: 999px;
    font-size: 0.7rem;
	font-weight: 800;
    box-shadow: 0 12px 28px rgba(15,23,42,0.14);
}

.ba-label-after {
    left: 10px;
    right: auto;
}

.hero-rating-box {
    background: linear-gradient(90deg, #0ea5e9, #1e9e8d);
    border-radius: 16px;
    font-size: 0.8rem; box-shadow: 0 18px 50px rgba(15, 23, 42, 0.12);    background-color: #1e9e8d;
    color: #fff;
    padding: 10px 12px;
}

.hero-rating-box .rating-score {
    font-size: 1.2rem;
    font-weight: bold;
}

/* بخش چطور کار می‌کند */

.home-how-it-works h2,
.home-service-categories h2,
.home-top-providers h2,
.home-before-after h2,
.home-trust h2,
.home-blog h2 {
    font-size: 1.4rem;
    margin: 0 0 16px;
    font-weight: 800;
}

.steps {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
}

.step-item {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
    font-size: 0.85rem;
}

.step-number {
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background-color: #1e9e8d;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    margin-bottom: 8px;
    font-size: 0.8rem;
}

/* دسته‌بندی خدمات */

.service-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
    gap: 16px;
}

.service-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.85rem;
    color: #222;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.service-card h3 {
    margin-top: 0;
    margin-bottom: 6px;
    font-size: 1rem;
}

.service-card:hover {
    border: 1px solid #1e9e8d;
}

/* پزشکان برتر */

.section-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 8px;
    margin-bottom: 14px;
}

.section-header h2{margin:0;}
.section-header .link-more{font-weight:600;text-decoration:none;}
.section-header .link-more:hover{opacity:.85;}

.link-more {
    font-size: 0.8rem;
    color: #1e9e8d;
}

.provider-cards {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 16px;
}

.provider-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.85rem;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.04);
}

.provider-card-header {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
}

.provider-avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
}

.provider-city {
    margin: 0;
    font-size: 0.8rem;
    color: #777;
}

.provider-rating {
    font-size: 0.8rem;
    margin-bottom: 6px;
}

.provider-summary {
    margin: 0 0 4px;
}

.home-top-providers .provider-summary .tags{
  display:inline-flex;
  flex-wrap:wrap;
  gap:0.35rem;
  vertical-align:middle;
}
.home-top-providers .provider-summary .tag{
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


.provider-meta {
    margin: 0 0 8px;
    color: #666;
    font-size: 0.8rem;
}

.provider-card-footer {
    text-align: left; /* چون RTL است، دکمه در سمت چپ می‌افتد */
}

/* قبل و بعد */

.case-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.case-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 10px;
    font-size: 0.85rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.case-images {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 4px;
    margin-bottom: 6px;
}

.case-images img {
    width: 100%;
    border-radius: 8px;
    object-fit: cover;
    aspect-ratio: 3 / 4;
    height: auto;
    display: block;
    background: #f1f5f9;
}

.case-meta {
    margin: 0;
    font-size: 0.8rem;
    color: #666;
}

/* =========================================================
   Public Cases List (cases_list.asp) — Modern, high-contrast
   Scope: .cases-list-page
   ========================================================= */

.cases-list-page .pub-cases__head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin: 10px 0 14px;
}

.cases-list-page .pub-cases__title{
  margin:0;
  font-size:1.35rem;
  font-weight:900;
  letter-spacing:-0.2px;
  color:#0f172a;
}

.cases-list-page .pub-cases__subtitle{
  margin:8px 0 0;
  font-size:0.95rem;
  color:#475569;
  line-height:1.7;
}

.cases-list-page .pub-provider-sticky{
  position: sticky;
  top: 10px;
  z-index: 40;
  margin: 12px 0 14px;
}

.cases-list-page .pub-provider-sticky__inner{
  display:flex;
  align-items:center;
  gap:14px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);
  backdrop-filter: blur(8px);
}

.cases-list-page .pub-provider-avatar{
  width: 62px;
  height: 62px;
  border-radius: 18px;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background: #f8fafc;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0;
  cursor: zoom-in;
}

.cases-list-page .pub-provider-avatar img{width:100%;height:100%;object-fit:cover;display:block;}

.cases-list-page .pub-provider-avatar__fallback{
  font-weight:900;
  font-size:1.3rem;
  color:#0f172a;
}

.cases-list-page .pub-provider-meta{min-width: 0; flex: 1;}

.cases-list-page .pub-provider-nameRow{
  display:flex;
  align-items:center;
  gap:10px;
  flex-wrap:wrap;
}

.cases-list-page .pub-provider-name{
  font-size:1.05rem;
  font-weight:900;
  color:#0f172a;
  max-width:100%;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cases-list-page .pub-provider-badge{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding: 4px 10px;
  border-radius: 999px;
  background: rgba(59, 130, 246, 0.10);
  color: #1d4ed8;
  border: 1px solid rgba(29, 78, 216, 0.20);
  font-size: 0.78rem;
  font-weight:800;
}

.cases-list-page .pub-provider-badge--muted{
  background: rgba(15, 23, 42, 0.06);
  color:#475569;
  border-color: rgba(15, 23, 42, 0.10);
}

.cases-list-page .pub-provider-sub{
  margin-top: 4px;
  display:flex;
  align-items:center;
  gap:8px;
  flex-wrap:wrap;
  color:#475569;
  font-size:0.88rem;
}

.cases-list-page .pub-provider-sep{opacity:0.65;}

.cases-list-page .pub-provider-rating{
  margin-top: 6px;
  display:flex;
  align-items:center;
  gap:10px;
  color:#0f172a;
}

.cases-list-page .pub-provider-stars{color:#f59e0b; font-size:0.9rem; letter-spacing:1px;}
.cases-list-page .pub-provider-ratingText{color:#475569;font-size:0.85rem;}
.cases-list-page .pub-provider-ratingValue{font-weight:900;color:#0f172a;}

.cases-list-page .pub-provider-actions{display:flex; gap:10px; flex-wrap:wrap;}

.cases-list-page .pub-cases__filters{margin-top: 10px;}

.cases-list-page .pub-cases__count{
  margin: 10px 0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.cases-list-page .pub-cases__countText{color:#475569; font-size:0.9rem;}

.cases-list-page .pub-cases__grid{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

@media (max-width: 1100px){
  .cases-list-page .pub-cases__grid{grid-template-columns: repeat(2, minmax(0, 1fr));}
}

@media (max-width: 680px){
  .cases-list-page .pub-provider-sticky{top: 6px;}
  .cases-list-page .pub-provider-avatar{width:58px;height:58px;border-radius:16px;}
  .cases-list-page .pub-provider-sticky__inner{padding: 10px; border-radius: 16px;}
  .cases-list-page .pub-cases__grid{grid-template-columns: 1fr;}
}

.cases-list-page .pub-case{
  position:relative;
  border-radius: 18px;
  overflow:hidden;
  background:#ffffff;
  border: 1px solid rgba(15, 23, 42, 0.10);
  box-shadow: 0 10px 26px rgba(15, 23, 42, 0.06);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

@media (hover:hover){
  .cases-list-page .pub-case:hover{
    transform: translateY(-2px);
    box-shadow: 0 16px 40px rgba(15, 23, 42, 0.10);
  }
}

.cases-list-page .pub-case:focus-within{
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.18), 0 16px 40px rgba(15, 23, 42, 0.10);
}

.cases-list-page .pub-case__link{
  position:absolute;
  inset:0;
  z-index: 1;
  text-indent:-9999px;
}

.cases-list-page .pub-case__photos{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  background: rgba(15, 23, 42, 0.08);
}

.cases-list-page .pub-case__photo{
  position:relative;
  background:#f1f5f9;
}

.cases-list-page .pub-case__photo img{
  width:100%;
  aspect-ratio:3 / 4;
  height:auto;
  object-fit: cover;
  display:block;
  cursor: zoom-in;
  position:relative;
  z-index: 2; /* بالاتر از لینک کلیک روی کارت */
}

@media (max-width: 680px){
  .cases-list-page .pub-case__photo img{height:auto;}
}

.cases-list-page .pub-case__photoLabel{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 0.78rem;
  font-weight: 900;
  color:#0f172a;
  background: rgba(255,255,255,0.92);
  border: 1px solid rgba(15, 23, 42, 0.10);
  backdrop-filter: blur(8px);
}

.cases-list-page .pub-case__photoMissing{
  aspect-ratio:3 / 4;
  height:auto;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#64748b;
  font-weight:800;
}

.cases-list-page .pub-case__body{
  position:relative;
  z-index:2;
  padding: 12px;
}

.cases-list-page .pub-case__top{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:10px;
}

.cases-list-page .pub-case__title{
  font-size:0.98rem;
  font-weight:900;
  color:#0f172a;
  line-height:1.45;
  max-width:100%;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.cases-list-page .pub-case__chip{
  flex: 0 0 auto;
  padding: 5px 10px;
  border-radius: 999px;
  background: rgba(2, 132, 199, 0.10);
  border: 1px solid rgba(2, 132, 199, 0.18);
  color:#075985;
  font-size: 0.78rem;
  font-weight: 900;
  white-space: nowrap;
}

.cases-list-page .pub-case__providerRow{margin-top: 10px;}

.cases-list-page .pub-case__provider{
  display:flex;
  align-items:center;
  gap:10px;
  text-decoration:none;
  color:inherit;
  position:relative;
  z-index: 2;
}

.cases-list-page .pub-case__providerAvatar{
  width: 34px;
  height: 34px;
  border-radius: 12px;
  overflow:hidden;
  border: 1px solid rgba(15, 23, 42, 0.10);
  background:#f8fafc;
  flex: 0 0 auto;
  display:flex;
  align-items:center;
  justify-content:center;
}

.cases-list-page .pub-case__providerAvatar img{width:100%;height:100%;object-fit:cover;display:block;}

.cases-list-page .pub-case__providerFallback{font-weight:900;color:#0f172a;}

.cases-list-page .pub-case__providerText{min-width:0; flex:1;}

.cases-list-page .pub-case__providerName{
  display:block;
  font-weight:900;
  color:#0f172a;
  font-size:0.9rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cases-list-page .pub-case__providerMeta{
  display:block;
  margin-top: 2px;
  color:#64748b;
  font-size:0.8rem;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.cases-list-page .pub-case__metaSep{margin:0 6px; opacity:0.65;}

.cases-list-page .pub-case__verified{
  width: 24px;
  height: 24px;
  border-radius: 999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background: rgba(16, 185, 129, 0.12);
  color:#059669;
  border: 1px solid rgba(5, 150, 105, 0.20);
  font-weight: 900;
  flex: 0 0 auto;
}

.cases-list-page .pub-case__photos img{touch-action: manipulation;}

/* اعتمادسازی */

.trust-items {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.trust-item {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.85rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

/* مقالات */

.blog-teasers {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 16px;
}

.blog-card {
    background-color: #fff;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.85rem;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.03);
}

.blog-card h3 {
    margin-top: 0;
    margin-bottom: 6px;
    font-size: 0.95rem;
}

.blog-link {
    font-size: 0.8rem;
    color: #1e9e8d;
}

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

@media (max-width: 768px) {
	.container{padding:0 12px;}
	.service-cards,.provider-cards,.trust-items,.blog-teasers,.case-grid,.steps{gap:12px;}
	.providers-grid{gap:1rem;}

    .home-hero-inner {
        grid-template-columns: 1fr;
    }

    .header-nav ul {
        display: none; /* بعداً منوی موبایل را کامل می‌کنیم */
    }

    .header-menu-toggle {
        display: block;
    }

    .header-actions {
        display: none;
    }

    .footer-bottom {
        flex-direction: column;
        align-items: flex-start;
    }
	.site-main section{padding:28px 0;}
	.home-hero{padding:28px 0 22px;}
	.home-hero h1{font-size:1.45rem;}
}
.providers-list-page h1 {
    font-size: 1.4rem;
    margin: 0 0 8px;
}

.providers-filters {
    margin: 20px 0;
    padding: 12px;
    background: #fff;
    border-radius: 10px;
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    align-items: flex-end;
}

.providers-filters .filter-field {
    display: flex;
    flex-direction: column;
    min-width: 160px;
    font-size: 0.85rem;
}

.providers-filters label {
    margin-bottom: 4px;
    color: #555;
    font-size: 0.8rem;
}

.providers-filters select {
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #d0d3df;
}

.providers-filters .filter-actions {
    flex-shrink: 0;
}

.providers-count {
    margin: 8px 0 16px;
    font-size: 0.85rem;
    color: #555;
}

.providers-list .provider-card {
    /* از استایل کارت‌های قبلی استفاده می‌شود؛ اگر خواستی کمی margin ویژه بده: */
}
.provider-profile-page {
    padding-top: 24px;
}

.provider-profile-header {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
    gap: 16px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.provider-avatar-large img {
    width: 96px;
    height: 96px;
    border-radius: 50%;
    object-fit: cover;
}

.provider-profile-main {
    display: flex;
    gap: 16px;
    align-items: center;
}

.provider-profile-title h1 {
    margin: 0 0 6px;
    font-size: 1.4rem;
}

.provider-profile-subtitle {
    margin: 0 0 4px;
    font-size: 0.9rem;
    color: #666;
}

.provider-profile-meta {
    margin: 0;
    font-size: 0.85rem;
    color: #555;
}

.provider-profile-contact {
    background: #f7f8fa;
    border-radius: 10px;
    padding: 12px;
    font-size: 0.85rem;
}

.provider-profile-contact h2 {
    margin-top: 0;
    font-size: 1rem;
}

.provider-profile-contact ul {
    list-style: none;
    margin: 0 0 10px;
    padding: 0;
}

.provider-profile-contact li {
    margin-bottom: 4px;
}

.provider-profile-sections .provider-section {
    background: #fff;
    border-radius: 10px;
    padding: 14px;
    margin-bottom: 16px;
    font-size: 0.9rem;
    box-shadow: 0 2px 8px rgba(0,0,0,0.02);
}

.provider-section h2 {
    margin-top: 0;
    font-size: 1.1rem;
    margin-bottom: 8px;
}

.provider-section h3 {
    font-size: 0.95rem;
    margin-top: 12px;
    margin-bottom: 4px;
}

.provider-section .form-row {
    margin-bottom: 8px;
}

.provider-section label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.85rem;
}

.provider-section input[type="text"],
.provider-section textarea {
    width: 100%;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #d0d3df;
    font-size: 0.85rem;
}

@media (max-width: 768px) {
    .provider-profile-header {
        grid-template-columns: 1fr;
    }

    .provider-profile-main {
        flex-direction: row;
        align-items: flex-start;
    }
}

.provider-dashboard-page {
    padding-top: 24px;
}

.provider-dashboard-header {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    display: flex;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 20px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
}

.provider-dashboard-main {
    display: flex;
    gap: 16px;
    align-items: center;
}

.provider-dashboard-subtitle {
    margin: 0 0 4px;
    font-size: 0.9rem;
    color: #666;
}

.provider-dashboard-meta {
    margin: 0;
    font-size: 0.85rem;
    color: #555;
}

.provider-dashboard-actions {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.provider-profile-header,.provider-dashboard-header{
  border-radius:16px; box-shadow:0 18px 50px rgba(15,23,42,0.10);
  border:1px solid rgba(15,23,42,0.06);
}


.table-cases {
    width: 100%;
    border-collapse: collapse;
    font-size: 0.85rem;
}

.table-cases th,
.table-cases td {
    border: 1px solid #e0e2ea;
    padding: 6px 8px;
}

.table-cases th {
    background: #f5f6fb;
    text-align: right;
}

.badge-published {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 999px;
    background-color: #e6f6ec;
    color: #0a7b33;
    font-size: 0.75rem;
}

.badge-unpublished {
    display: inline-block;
    padding: 2px 6px;
    border-radius: 999px;
    background-color: #fff4e6;
    color: #b35a00;
    font-size: 0.75rem;
}

.badge-published,.badge-unpublished,.badge-new,.badge-progress,.badge-done,.badge-cancelled{
  padding:0.2rem 0.55rem; font-weight:700; border:1px solid rgba(15,23,42,0.06);
}


@media (max-width: 768px) {
    .provider-dashboard-header {
        flex-direction: column;
        align-items: flex-start;
    }

    .provider-dashboard-actions {
        flex-direction: row;
        align-items: center;
    }
	.table-cases{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch;}
	.table-cases th,.table-cases td{white-space:nowrap;}
	.table-cases{max-width:100%;}

}
.provider-edit-profile-page h1 {
    margin-bottom: 12px;
}

.provider-form {
    background: #fff;
    border-radius: 12px;
    padding: 16px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.03);
    font-size: 0.9rem;
}

.provider-form .form-row {
    margin-bottom: 10px;
}

.provider-form label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.85rem;
    color: #555;
}

.provider-form input[type="text"],
.provider-form select,
.provider-form textarea {
    width: 100%;
    padding: 6px 8px;
    border-radius: 6px;
    border: 1px solid #d0d3df;
    font-size: 0.85rem;
}

.provider-form .form-row-inline {
    display: flex;
    gap: 8px;
    margin-bottom: 10px;
}

.provider-form .form-row-inline > div {
    flex: 1;
}

.form-actions {
    margin-top: 12px;
    display: flex;
    gap: 8px;
}

.success-message {
    color: #0a7b33;
    margin-bottom: 10px;
}

.error-message {
    color: #b30000;
    margin-bottom: 10px;
}
.auth-login-page {
    padding-top: 40px;
    padding-bottom: 40px;
}

.auth-login-container {
    max-width: 420px;
}

.auth-card {
    background-color: #fff;
    border-radius: 16px;
    padding: 20px;
    box-shadow: 0 4px 16px rgba(0,0,0,0.06);
    font-size: 0.9rem;
}

.auth-card h1 {
    margin-top: 0;
    margin-bottom: 8px;
    font-size: 1.2rem;
}

.auth-subtitle {
    margin: 0 0 16px;
    font-size: 0.85rem;
    color: #666;
}

.auth-info {
    font-size: 0.85rem;
    color: #444;
    margin-bottom: 12px;
}

.auth-dev-hint {
    margin-top: 8px;
    font-size: 0.8rem;
    color: #b35a00;
}

.auth-message {
    margin-top: 12px;
    font-size: 0.85rem;
}

.auth-message-error {
    color: #b30000;
}

.auth-message-success {
    color: #0a7b33;
}

.auth-message-info {
    color: #444;
}

.provider-leads-dashboard .dashboard-stats{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:12px;
  margin-bottom:16px;
}
.provider-leads-dashboard .stat-card{
  display:block;
  padding:12px;
  border:1px solid #eee;
  border-radius:12px;
  text-decoration:none;
}
.provider-leads-dashboard .stat-title{ font-size:13px; opacity:.8; }
.provider-leads-dashboard .stat-value{ font-size:22px; font-weight:700; margin-top:6px; }

.lead-last-list{ border-top:1px solid #f0f0f0; }
.lead-last-item{
  display:flex;
  justify-content:space-between;
  gap:12px;
  padding:10px 0;
  border-bottom:1px solid #f0f0f0;
}
.lead-last-title{ font-weight:700; }
.lead-last-meta{ font-size:12px; opacity:.8; margin-top:4px; }
.lead-last-right{ display:flex; align-items:center; gap:10px; white-space:nowrap; }
.lead-last-link{ font-size:13px; text-decoration:none; }

.badge{
  display:inline-block;
  padding:2px 8px;
  border-radius:999px;
  font-size:12px;
  border:1px solid #eee;
}
.badge-new{ background:#ffe5e5; border-color:#ffd0d0; color:#b00020; }
.badge-done{ background:#e6f6ea; border-color:#d2f0da; color:#1b5e20; }
.badge-progress{ background:#fff3cd; border-color:#ffe69c; color:#8a6d3b; }

@media (max-width:600px){
  .lead-last-item{ flex-direction:column; align-items:flex-start; }
  .lead-last-right{ width:100%; justify-content:space-between; }
}
.dash-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin:10px 0 16px}
.dash-card{display:block;border:1px solid #eee;border-radius:12px;padding:12px;text-decoration:none}
.dash-card-title{font-size:13px;opacity:.8}
.dash-card-value{font-size:22px;font-weight:700;margin-top:6px}

.dash-h2{margin:8px 0}
.dash-lead-list{border-top:1px solid #f0f0f0}
.dash-lead-item{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid #f0f0f0}
.dash-lead-title{font-weight:700}
.dash-lead-meta{font-size:12px;opacity:.85;line-height:1.7}
.dash-lead-when{opacity:.7}
.dash-lead-right{display:flex;align-items:center;gap:10px;white-space:nowrap}
.dash-lead-link{text-decoration:none;font-size:13px}

.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid #eee;white-space:nowrap}
.badge-new{background:#ffe5e5;border-color:#ffd0d0;color:#b00020}
.badge-done{background:#e6f6ea;border-color:#d2f0da;color:#1b5e20}
.badge-progress{background:#fff3cd;border-color:#ffe69c;color:#8a6d3b}
.badge-cancelled{background:#f2f2f2;border-color:#e2e2e2;color:#444}

@media (max-width:600px){
  .dash-cards{grid-template-columns:1fr}
  .dash-lead-item{flex-direction:column;align-items:flex-start}
  .dash-lead-right{width:100%;justify-content:space-between}
}

/* HERO - قبل/بعد: هم‌سایز کردن عکس‌ها */
.home-hero .hero-before-after img {
  width: 100%;
  height: 220px;       /* فعلاً ثابت؛ بعداً موقع تحویل عکس‌ها تنظیم می‌کنیم */
  object-fit: cover;   /* کادر را پر می‌کند بدون کشیدگی */
  display: block;
}
.home-hero .hero-before-after img {
  border-radius: 12px;
}

/* HERO - باکس امتیاز: هم‌عرض با باکس قبل/بعد */
.home-hero .home-hero-visual,
.home-hero .hero-before-after,
.home-hero .hero-rating-box {
  width: 100%;
}

.home-hero .hero-rating-box {
  box-sizing: border-box;
}
.home-hero .hero-before-after {
  box-sizing: border-box;
}

.service-card,.provider-card,.trust-item,.blog-card,.step-item{border:1px solid transparent;border-radius:16px;transition:transform .15s ease, box-shadow .15s ease, border-color .15s ease;}
.service-card:hover,.provider-card:hover,.trust-item:hover,.blog-card:hover,.step-item:hover{transform:translateY(-2px);box-shadow:0 22px 60px rgba(15,23,42,0.12);border-color:#1e9e8d;}
.provider-card:hover{border-color:#0ea5e9;}
select, textarea{
  padding: 0.55rem 0.75rem; border-radius: 0.75rem; background: #f9fafb;
}
.form-control{color:#0f172a;}
.form-control::placeholder{color:#94a3b8;}
.form-control:focus{outline:none;box-shadow:0 0 0 3px rgba(14,165,233,0.14);border-color:#0ea5e9;}
.provider-avatar,.provider-avatar-large img{border:2px solid transparent;}
.provider-avatar,.provider-avatar-large img{box-shadow:0 12px 28px rgba(15,23,42,0.14);}
.provider-avatar,.provider-avatar-large img{background:linear-gradient(#f9fafb,#f9fafb) padding-box,linear-gradient(90deg,#0ea5e9,#1e9e8d) border-box;}

.tag-more { cursor: help; }

/* === Header search focus (mobile): hide only logo text, keep input size unchanged === */
@media (max-width: 768px) {
    

    /* Ensure the search can use the freed space */
    .site-header.search-focused .header-search {
        flex: 1 1 auto;
        max-width: none;
    }

    .site-header.search-focused .header-search-input {
        width: 100%;
    }
}


/* === Mobile: animate hide/show logo text on search focus === */
@media (max-width: 768px) {
    /* حالت عادی: متن کنار لوگو دیده شود و قابل انیمیشن باشد */
    .site-header .logo-text {
        display: inline-block;
        white-space: nowrap;
        overflow: hidden;
        max-width: 240px; /* سقف منطقی برای جا دادن متن؛ در فوکوس به صفر می‌رسد */
        opacity: 1;
        transition: max-width 180ms ease, opacity 140ms ease;
        will-change: max-width, opacity;
        vertical-align: middle;
    }

    /* حالت فوکوس: فقط متن کنار لوگو محو و جمع شود (لوگو باقی می‌ماند) */
    .site-header.search-focused .logo-text {
        max-width: 0;
        opacity: 0;
        margin: 0 !important;
        padding: 0 !important;
    }
}

/* احترام به تنظیمات کاربر برای کاهش حرکت */
@media (prefers-reduced-motion: reduce) {
    .site-header .logo-text {
        transition: none !important;
    }
}

/* === Global: LTR for external URLs (fix RTL rendering for web/instagram/phone, etc.) === */
a[href^="http://"],
a[href^="https://"],
a[href^="www."],
a[href^="mailto:"],
a[href^="tel:"],
a[href*="instagram.com"],
a[href*="wa.me"]{
  direction: ltr;
  unicode-bidi: plaintext;
}

/* === Global: Persian-friendly font for form controls === */
input,
select,
textarea,
button,
optgroup,
option {
  font-family: Tahoma, "Segoe UI", Arial, sans-serif;
}



/* =========================================================
   Provider Cases - Small photo previews (1:1) + black caption bar
   Easy tweak: change caption bar opacity via --pc-photo-cap-bg if needed
   ========================================================= */
.provider-cases{
  --pc-photo-cap-bg: rgba(0,0,0,0.78);
}

.pc-photos{
  display:flex;
  gap:10px;
  align-items:flex-start;
  flex-wrap:nowrap;
  margin-bottom:12px;
  overflow-x:auto;
  padding-bottom:6px;
  -webkit-overflow-scrolling: touch;
  scroll-snap-type: x proximity;
}

.pc-photo{scroll-snap-align:start;}

.pc-photo__box{
  position:relative;
  width:76px;
  aspect-ratio: 1 / 1;
  border-radius:14px;
  overflow:hidden;
  background:#f3f4f6;
  border:1px solid var(--pc-border);
}

@supports not (aspect-ratio: 1 / 1){
  .pc-photo__box{ height:76px; }
}

.pc-photo__img{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}

.pc-photo__btn{
  appearance:none;
  border:0;
  padding:0;
  margin:0;
  width:100%;
  height:100%;
  display:block;
  background:transparent;
  cursor:pointer;
}

.pc-photo__btn:focus{
  outline:none;
}

.pc-photo__btn:focus-visible{
  box-shadow:0 0 0 3px rgba(14,165,233,0.26);
}

.pc-photo__placeholder{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:700;
  font-size:12px;
  color:var(--pc-muted);
  background:linear-gradient(180deg, #ffffff, #f3f4f6);
}

.pc-photo__cap{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:var(--pc-photo-cap-bg);
  color:#ffffff;
  font-size:11px;
  padding:4px 6px;
  line-height:1.2;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}


/* =========================================================
   Provider Cases - Prevent page horizontal scroll on mobile
   (keep horizontal scroll only inside .pc-photos)
   ========================================================= */

/* سخت‌گیرانه ولی Scope شده: فقط محتوای صفحه (main) را از overflow افقی محافظت کن تا هدر Sticky/Fixed بهم نریزد */
.site-main{max-width:100%; overflow-x:hidden;}

/* خود ماژول کیس‌ها هم بیرون‌زدن ندهد */
.provider-cases{max-width:100%; overflow-x:hidden;}

/* Grid/Flex child ها در موبایل min-width پیش‌فرض نگیرند */
.provider-cases__grid, .pc-card{min-width:0;}

/* اسکرول افقی فقط داخل نوار عکس‌ها */
.pc-photos{max-width:100%; overflow-x:auto; overflow-y:hidden; -webkit-overflow-scrolling:touch;}
.pc-photo{flex:0 0 auto;}

/* تصاویر هیچوقت باعث overflow نشوند */
img, svg, video, canvas{max-width:100%;}

/* =========================================================
   Provider Cases - Fullscreen Lightbox
   ========================================================= */
.pc-no-scroll{overflow:hidden;}

.pc-lightbox{
  position:fixed;
  inset:0;
  z-index:9999;
  display:none;
}

.pc-lightbox.is-open{display:block;}

.pc-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.82);
}

.pc-lightbox__panel{
  position:absolute;
  inset:0;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  padding:18px;
}

.pc-lightbox__img{
  max-width:100%;
  max-height:calc(100vh - 120px);
  width:auto;
  height:auto;
  object-fit:contain;
  border-radius:16px;
  box-shadow:0 24px 80px rgba(0,0,0,0.45);
  background:#0b1220;
}

.pc-lightbox__cap{
  margin-top:12px;
  max-width:920px;
  width:100%;
  color:#ffffff;
  font-size:14px;
  text-align:center;
  padding:10px 12px;
  border-radius:14px;
  background:rgba(0,0,0,0.55);
}

.pc-lightbox__close{
  position:absolute;
  top:14px;
  right:14px;
  width:44px;
  height:44px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,0.22);
  background:rgba(0,0,0,0.35);
  color:#ffffff;
  font-size:20px;
  line-height:1;
  cursor:pointer;
}

.pc-lightbox__close:hover{background:rgba(0,0,0,0.5);}

/* ===== IBP PATCH: KPI row (3 columns, no truncation) ===== */
.provider-cases .pc-kpis{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
  margin-top:8px;
}

.provider-cases .pc-kpi{
  border-radius:10px;
  padding:8px 6px;
  text-align:center;
  min-height:54px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:center;
}

.provider-cases .pc-kpi__label{
  font-size:11px;
  margin-bottom:2px;
  white-space:nowrap;
}

.provider-cases .pc-kpi__value{
  font-size:13px;
  font-weight:600;
  line-height:1.3;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  word-break:break-word;
}
/* ===== END IBP PATCH ===== */


/* =========================================================
   [IBP PATCH] Provider Cases — clearer card boundaries + better destructive button
   Date: 2026-02-19
   Scope: only .provider-cases
   Revert: remove this block
   ========================================================= */

/* Stronger separation token (cards look "outlined") */
.provider-cases{
  --pc-border: rgba(15, 23, 42, 0.16);
  --pc-card-shadow: 0 12px 34px rgba(15, 23, 42, 0.08);

  --pc-danger: #dc2626;
  --pc-danger-bg: rgba(220, 38, 38, 0.10);
  --pc-danger-border: rgba(220, 38, 38, 0.28);
}

/* Card boundary + subtle hover */
.provider-cases .pc-card{
  border-color: var(--pc-border);
  box-shadow: var(--pc-card-shadow);
}

@media (hover:hover) and (pointer:fine){
  .provider-cases .pc-card:hover{
    border-color: rgba(15, 23, 42, 0.22);
    box-shadow: 0 16px 44px rgba(15, 23, 42, 0.10);
    transform: translateY(-1px);
    transition: transform 220ms ease, box-shadow 220ms ease, border-color 220ms ease;
  }
}

.provider-cases .pc-card:focus-within{
  border-color: rgba(17, 24, 39, 0.30);
  box-shadow: 0 16px 44px rgba(15, 23, 42, 0.10), 0 0 0 3px rgba(17, 24, 39, 0.10);
}

/* Destructive button — soft danger (still clearly risky) */
.provider-cases .pc-btn.pc-btn--danger{
  color: var(--pc-danger);
  background: var(--pc-danger-bg);
  border-color: var(--pc-danger-border);
}

@media (hover:hover) and (pointer:fine){
  .provider-cases .pc-btn.pc-btn--danger:hover{
    background: var(--pc-danger);
    border-color: var(--pc-danger);
    color: #ffffff;
    box-shadow: 0 12px 28px rgba(220, 38, 38, 0.22);
    transform: translateY(-1px);
    transition: transform 220ms ease, background 220ms ease, box-shadow 220ms ease, border-color 220ms ease, color 220ms ease;
  }
}

.provider-cases .pc-btn.pc-btn--danger:active{
  transform: translateY(0);
  box-shadow: 0 10px 22px rgba(220, 38, 38, 0.18);
}

.provider-cases .pc-btn.pc-btn--danger:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(220, 38, 38, 0.18), 0 12px 28px rgba(220, 38, 38, 0.18);
}

/* Icon spacing inside buttons (SVG uses currentColor) */
.provider-cases .pc-btn__icon{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:18px;
  height:18px;
  flex:0 0 18px;
}

.provider-cases .pc-btn__text{
  display:inline-block;
  line-height:1;
}

/* Reduce motion */
@media (prefers-reduced-motion: reduce){
  .provider-cases .pc-card:hover,
  .provider-cases .pc-btn.pc-btn--danger:hover{
    transform: none !important;
    transition: none !important;
  }
}


/* =========================================================
   [IBP PATCH] Provider Cases — publish toggle (kc-switch)
   Date: 2026-02-19
   Scope: only .provider-cases
   Revert: remove this block
   ========================================================= */

.provider-cases .pc-pub-switch.kc-switch{position:relative;width:52px;height:32px;flex:0 0 auto;}
.provider-cases .pc-pub-switch.kc-switch input{position:absolute;inset:0;opacity:0;cursor:pointer;z-index:2;}
.provider-cases .pc-pub-switch .kc-switch-track{position:absolute;inset:0;border-radius:999px;background:rgba(15, 23, 42, 0.18);transition:240ms;pointer-events:none;}
.provider-cases .pc-pub-switch .kc-switch-thumb{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:999px;background:#fff;box-shadow:0 8px 16px rgba(15, 23, 42, 0.14);transition:240ms;pointer-events:none;}

/* ON = published */
.provider-cases .pc-pub-switch input:checked ~ .kc-switch-track{background:rgba(16, 185, 129, 0.55);}
.provider-cases .pc-pub-switch input:checked ~ .kc-switch-thumb{transform:translateX(-20px);}

/* Disabled */
.provider-cases .pc-pub-switch input:disabled{cursor:not-allowed;}
.provider-cases .pc-pub-switch input:disabled ~ .kc-switch-track{opacity:0.55;}
.provider-cases .pc-pub-switch input:disabled ~ .kc-switch-thumb{opacity:0.75;}

/* Focus */
.provider-cases .pc-pub-switch input:focus-visible ~ .kc-switch-track{box-shadow:0 0 0 3px rgba(17, 24, 39, 0.12);}

/* =========================================================
   IBP PATCH iter14 — Desktop header: no overlap, less margins
   Target HTML:
   .site-header > .container.header-inner
   ========================================================= */
@media (min-width: 992px){

  /* Make header span wider + reduce side whitespace (header only) */
  .site-header .container.header-inner{
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    margin-left: auto !important;
    margin-right: auto !important;

    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 14px !important;
  }

  /* Left brand stays compact */
  .site-header .header-left{
    flex: 0 0 auto !important;
    min-width: 0 !important;
  }
  .site-header .header-left .logo{
    display: inline-flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  /* Search: fixed, shorter width to free room for nav */
  .site-header .header-search{
    /*flex: 0 0 220px !important;
    max-width: 220px !important;
    min-width: 180px !important;
    margin: 0 !important;*/
    flex: 0 0 160px !important;
    max-width: 160px !important;
    min-width: 160px !important;
  }
  .site-header .header-search .header-search-input{
    width: 100% !important;
  }

  /* Actions: never wrap */
  .site-header .header-actions{
    flex: 0 0 auto !important;
    display: flex !important;
    align-items: center !important;
    gap: 12px !important;
    white-space: nowrap !important;
  }

  /* Nav: takes remaining space, must be allowed to shrink */
  .site-header .header-nav{
    /* flex: 1 1 auto !important;
    min-width: 0 !important;

    /* Prevent "text painting over search" */
    /* overflow: visible !important; */
    overflow-x: auto !important;   /* اجازه بده اگر جا کم بود اسکرول افقی بخورد، نه اینکه بریده شود */
    overflow-y: hidden !important;
    min-width: 0 !important;
    flex: 1 1 auto !important;
    scrollbar-width: none;         /* Firefox */	
  }
  .site-header .header-nav::-webkit-scrollbar{ display:none; } /* Chrome */

  /* Horizontal single-line nav with safe overflow */
  .site-header .header-nav > ul{
    list-style: none !important;
    display: flex !important;
    align-items: center !important;
    flex-wrap: nowrap !important;
    gap: 16px !important;

    /* If space is tight, scroll horizontally instead of overlapping */
    overflow-x: auto !important;
    overflow-y: hidden !important;
    white-space: nowrap !important;

    /* Hide scrollbar (best-effort) */
    scrollbar-width: none !important;     /* Firefox */
    -ms-overflow-style: none !important;  /* IE/Edge legacy */
  }
  .site-header .header-nav > ul::-webkit-scrollbar{
    width: 0 !important;
    height: 0 !important;
  }

  .site-header .header-nav a{
    display: inline-block !important;
    white-space: nowrap !important;
    line-height: 1.2 !important;
    padding: 10px 8px !important; /* tighter to avoid collisions */
  }

  /* Desktop: burger must not steal space */
  .site-header .header-menu-toggle{
    display: none !important;
  }
}


/* ===========================
   IBP PATCH iter15 — Mobile header order lock
   Goal: (RTL) rightmost = hamburger, then search, then brand on the left.
   Desktop must remain unchanged.
   =========================== */
@media (max-width: 768px){

  .site-header .header-inner{
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    flex-wrap: nowrap !important;
  }

  /* Keep hamburger on the far right (RTL) */
  .site-header .header-menu-toggle{
    order: 1 !important;
    display: inline-flex !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  /* Search sits between burger and brand */
  .site-header .header-search{
    order: 2 !important;
    flex: 1 1 auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    margin: 0 !important;
  }
  .site-header .header-search-input{
    width: 100% !important;
  }

  /* Brand on the left of search */
  .site-header .header-left{
    order: 3 !important;
    flex: 0 0 auto !important;
    margin: 0 !important;
  }

  /* Mobile: collapse desktop-only blocks */
  .site-header .header-nav,
  .site-header .header-actions{
    display: none !important;
  }
}

/* [IBP PATCH] Mobile: logo image must be LEFT of title (only on mobile) */
@media (max-width: 768px){
  .site-header .header-left .logo{
    flex-direction: row-reverse; /* img goes left, text stays right */
  }
}

@media (max-width: 768px){

  .site-header{
    min-height: 72px; /* ارتفاع ثابت بماند */
  }

  .site-header .logo-text{
    line-height: 1.4; /* مقدار طبیعی برگردد */
  }

  .site-header .logo-text small{
    margin-top: 2px;   /* فقط فاصله بین دو خط کم شود */
    display:block;
  }

}

@media (max-width: 768px){

  /* هدر واقعاً یک باکس 72px باشد و محتوا وسطش بنشیند */
  .site-header{
    min-height: 72px;
    display: flex;
    align-items: center;
  }

  /* کانتینر داخلی هم ارتفاع هدر را پر کند */
  .site-header .header-inner,
  .site-header .container.header-inner{
    min-height: 72px;
    padding-top: 0 !important;
    padding-bottom: 0 !important;
    align-items: center !important;
  }

}

/* [KACHALHA:UI] v1.0 | avatar editor sync for member/provider
   Scope: فقط Member_edit_profile و Provider_edit_profile
   Revert: حذف این بلوک و classهای avatar-editor-sync / member-profile-page / provider-profile-page
*/
html.kc-no-scroll,
body.kc-no-scroll{
  overflow:hidden !important;
  overscroll-behavior:none;
  touch-action:none;
}

.avatar-editor-sync{
  --ae-surface: linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  --ae-surface-soft: linear-gradient(180deg,#f8fbff 0%,#f2f7ff 100%);
  --ae-border: rgba(148,163,184,.18);
  --ae-shadow: 0 20px 50px rgba(15,23,42,.08);
  --ae-shadow-soft: 0 10px 26px rgba(15,23,42,.06);
  --ae-primary: #2563eb;
  --ae-primary-soft: rgba(37,99,235,.10);
  --ae-text: #0f172a;
  --ae-muted: #64748b;
}

.member-profile-page .member-card{
  background:
    radial-gradient(circle at top left, rgba(59,130,246,.10), transparent 36%),
    linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border-color:rgba(148,163,184,.16);
  box-shadow:0 24px 68px rgba(15,23,42,.08);
}

.member-profile-page .member-hero{
  background:
    radial-gradient(circle at top right, rgba(96,165,250,.16), transparent 42%),
    linear-gradient(180deg,#f8fbff 0%,#f3f8ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.55), 0 12px 28px rgba(37,99,235,.06);
}

.member-profile-page .member-section{
  background:
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-color:rgba(148,163,184,.16);
  box-shadow:0 14px 32px rgba(15,23,42,.05);
}

.member-profile-page .member-row{
  background:linear-gradient(180deg,#ffffff,#f6faff);
  border-color:#dbe4f0;
}

.member-profile-page .member-input,
.member-profile-page .member-textarea{
  background:linear-gradient(180deg,#ffffff,#fbfdff);
}

.member-profile-page .member-photo-chip{
  box-shadow:0 6px 16px rgba(37,99,235,.10);
}

.provider-profile-page .kc-top-title{
  padding:16px 18px;
  border:1px solid rgba(148,163,184,.16);
  border-radius:22px;
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.13), transparent 42%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 14px 34px rgba(15,23,42,.05);
}

.provider-profile-page .kc-card{
  border-color:#9fb3c8;
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 16px 38px rgba(15,23,42,.10),0 0 0 1px rgba(37,99,235,.06) inset;
}

.provider-profile-page .kc-photo-card{
  background:
    radial-gradient(circle at top right, rgba(59,130,246,.11), transparent 42%),
    linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  border-radius:22px;
}

.provider-profile-page .kc-form-card{
  border-color:#b6c6d8;
  border-right:4px solid rgba(37,99,235,.48);
  background:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  box-shadow:0 16px 36px rgba(15,23,42,.09),0 0 0 1px rgba(255,255,255,.82) inset;
}

.provider-profile-page .kc-form-card:hover{
  border-color:#93a9c2;
  box-shadow:0 20px 44px rgba(15,23,42,.12),0 0 0 1px rgba(37,99,235,.08) inset;
}

.member-profile-page .member-avatar,
.provider-profile-page .kc-photo-box{
  box-shadow:0 16px 34px rgba(37,99,235,.14);
}

.provider-profile-page .kc-photo-box{
  border:1px solid rgba(37,99,235,.16);
  background:linear-gradient(180deg,#ffffff,#edf4ff);
}

.provider-profile-page .kc-photo-status,
.member-profile-page .member-photo-status{
  min-height:22px;
  line-height:1.8;
}

.avatar-editor-sync .member-cropper-overlay,
.avatar-editor-sync .kc-cropper-overlay{
  background:rgba(2,6,23,.92);
  backdrop-filter:blur(8px);
}

.avatar-editor-sync .member-cropper-top,
.avatar-editor-sync .kc-cropper-top{
  min-height:60px;
  height:60px;
  padding:0 14px;
  border-bottom:1px solid rgba(255,255,255,.10);
  background:linear-gradient(180deg,rgba(15,23,42,.70),rgba(15,23,42,.48));
  backdrop-filter:blur(10px);
}

.avatar-editor-sync .member-cropper-title,
.avatar-editor-sync .kc-cropper-title{
  font-weight:900;
  letter-spacing:-.01em;
}

.avatar-editor-sync .member-cropper-stage,
.avatar-editor-sync .kc-cropper-stage{
  padding:14px 12px;
  background:
    radial-gradient(circle at center, rgba(59,130,246,.08), transparent 52%),
    linear-gradient(180deg,rgba(15,23,42,.10),rgba(15,23,42,.02));
}

.avatar-editor-sync .member-cropper-bottom,
.avatar-editor-sync .kc-cropper-bottom{
  flex:0 0 auto;
  max-height:min(44vh,340px);
  overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding:14px 16px calc(22px + env(safe-area-inset-bottom));
  gap:12px;
  background:linear-gradient(180deg,rgba(15,23,42,.72),rgba(15,23,42,.94));
}

.avatar-editor-sync .member-cropper-row,
.avatar-editor-sync .kc-cropper-zoomrow,
.avatar-editor-sync .kc-cropper-adjustrow{
  display:flex;
  align-items:center;
  gap:12px;
  padding:10px 12px;
  border:1px solid rgba(255,255,255,.09);
  border-radius:16px;
  background:rgba(255,255,255,.04);
}

.avatar-editor-sync .member-cropper-row label,
.avatar-editor-sync .kc-cropper-label{
  flex:0 0 64px;
  width:64px;
  min-width:64px;
  font-size:12px;
  font-weight:800;
  color:rgba(255,255,255,.90);
}

.avatar-editor-sync .member-cropper-row input[type=range],
.avatar-editor-sync .kc-cropper-zoomrow input[type=range],
.avatar-editor-sync .kc-cropper-adjustrow input[type=range]{
  flex:1 1 auto;
}

.avatar-editor-sync .member-cropper-value,
.avatar-editor-sync .kc-cropper-value{
  flex:0 0 52px;
  width:52px;
  min-width:52px;
  text-align:left;
  font-size:12px;
  font-weight:800;
  color:#93c5fd;
  direction:ltr;
  font-variant-numeric:tabular-nums;
}

.avatar-editor-sync .member-cropper-actions,
.avatar-editor-sync .kc-cropper-actions{
  display:flex;
  justify-content:flex-end;
}

.avatar-editor-sync .member-cropper-reset,
.avatar-editor-sync .kc-cropper-reset{
  appearance:none;
  border:1px solid rgba(255,255,255,.18);
  background:rgba(255,255,255,.06);
  color:#fff;
  border-radius:12px;
  padding:8px 12px;
  font:inherit;
  font-size:12px;
  font-weight:800;
  cursor:pointer;
}

.avatar-editor-sync .member-cropper-hint,
.avatar-editor-sync .kc-cropper-hint{
  font-size:12px;
  line-height:1.8;
  color:#cbd5e1;
}

@media (max-width:640px){
  .avatar-editor-sync .member-cropper-top,
  .avatar-editor-sync .kc-cropper-top{
    min-height:56px;
    height:56px;
    padding:0 10px;
  }

  .avatar-editor-sync .member-cropper-stage,
  .avatar-editor-sync .kc-cropper-stage{
    padding:10px 8px;
  }

  .avatar-editor-sync .member-cropper-bottom,
  .avatar-editor-sync .kc-cropper-bottom{
    max-height:min(48vh,360px);
    padding:12px 12px calc(22px + env(safe-area-inset-bottom));
  }

  .avatar-editor-sync .member-cropper-row,
  .avatar-editor-sync .kc-cropper-zoomrow,
  .avatar-editor-sync .kc-cropper-adjustrow{
    gap:10px;
    padding:10px;
  }

  .avatar-editor-sync .member-cropper-row label,
  .avatar-editor-sync .kc-cropper-label{
    flex-basis:58px;
    width:58px;
    min-width:58px;
  }
}

/* [IBP:UI] case_details media rail v1.2 */
.case-details-page{
  padding: 28px 0 56px;
}

.case-details-page .container{
  max-width: 1180px;
}

.case-details-page .case-header,
.case-details-page .case-section{
  background:#fff;
  border:1px solid rgba(15,23,42,0.08);
  border-radius:24px;
  box-shadow:0 18px 45px rgba(15,23,42,0.08);
  padding:24px;
}

.case-details-page .case-header{
  margin-bottom:18px;
}

.case-details-page .case-header h1{
  font-size:clamp(1.7rem,3vw,2.5rem);
  line-height:1.3;
  margin-bottom:10px;
}

.case-details-page .case-meta,
.case-details-page .case-provider-link,
.case-details-page .case-section__subtitle{
  color:#64748b;
}

.case-details-page .case-provider-link a{
  color:#0f172a;
  font-weight:800;
  text-decoration:none;
}

.case-details-page .case-provider-link a:hover{
  color:#1d4ed8;
}

.case-details-page .case-section{
  margin-top:18px;
}

.case-details-page .case-section__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  margin-bottom:18px;
}

.case-details-page .case-section h2{
  font-size:1.45rem;
  line-height:1.4;
  margin-bottom:6px;
}

.case-details-page .case-media-card{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 100%);
  border:1px solid rgba(37,99,235,0.10);
  border-radius:22px;
  padding:18px;
}

.case-details-page .case-media-card__toolbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-bottom:14px;
}

.case-details-page .case-media-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
}

.case-details-page .case-media-card__count{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:6px 12px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-weight:800;
}

.case-details-page .case-media-card__hint{
  color:#475569;
  font-size:0.95rem;
}

.case-details-page .case-media-card__nav{
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}

.case-details-page .case-media-card__navBtn{
  width:46px;
  height:46px;
  border:1px solid rgba(15,23,42,0.10);
  border-radius:999px;
  background:#fff;
  color:#0f172a;
  font-size:1.3rem;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 10px 24px rgba(15,23,42,0.08);
  transition:transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.case-details-page .case-media-card__navBtn:hover{
  transform:translateY(-1px);
  box-shadow:0 14px 28px rgba(15,23,42,0.12);
}

.case-details-page .case-media-card__navBtn:disabled{
  opacity:.45;
  cursor:default;
  transform:none;
  box-shadow:none;
}

.case-details-page .case-media-rail{
  display:flex;
  gap:14px;
  overflow-x:auto;
  overflow-y:hidden;
  scroll-snap-type:x proximity;
  scroll-behavior:smooth;
  padding:4px 2px 10px;
  scrollbar-width:thin;
}

.case-details-page .case-media-rail::-webkit-scrollbar{
  height:10px;
}

.case-details-page .case-media-rail::-webkit-scrollbar-thumb{
  background:rgba(100,116,139,0.35);
  border-radius:999px;
}

.case-details-page .case-media-rail__item{
  flex:0 0 min(280px,calc(100vw - 96px));
  border:1px solid rgba(15,23,42,0.08);
  border-radius:20px;
  background:#fff;
  padding:12px;
  text-align:right;
  color:#0f172a;
  cursor:pointer;
  scroll-snap-align:start;
  box-shadow:0 12px 26px rgba(15,23,42,0.07);
  transition:transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.case-details-page .case-media-rail__item:hover{
  transform:translateY(-2px);
  border-color:rgba(37,99,235,0.28);
  box-shadow:0 18px 36px rgba(15,23,42,0.10);
}

.case-details-page .case-media-rail__item:focus-visible{
  outline:none;
  border-color:#2563eb;
  box-shadow:0 0 0 3px rgba(37,99,235,0.16);
}

.case-details-page .case-media-rail__mediaWrap{
  display:block;
  border-radius:16px;
  overflow:hidden;
  background:#e2e8f0;
  aspect-ratio:3 / 4;
}

.case-details-page .case-media-rail__img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}

.case-details-page .case-media-rail__item--video{
  cursor:default;
}

.case-details-page .case-media-rail__item--video:hover{
  transform:none;
}

.case-details-page .case-media-rail__mediaWrap--video{
  background:#090909;
}

.case-details-page .case-media-rail__video{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
  background:#090909;
}

.case-details-page .case-media-rail__caption{
  display:flex;
  flex-direction:column;
  gap:4px;
  margin-top:10px;
}

.case-details-page .case-media-rail__caption strong{
  font-size:1rem;
}

.case-details-page .case-media-rail__caption span{
  color:#64748b;
  font-size:.88rem;
}

@media (max-width: 767px){
  .case-details-page .case-header,
  .case-details-page .case-section{
    border-radius:20px;
    padding:18px;
  }

  .case-details-page .case-media-card{
    padding:14px;
  }

  .case-details-page .case-media-card__toolbar{
    align-items:flex-start;
    flex-direction:column;
  }

  .case-details-page .case-media-card__nav{
    display:none;
  }

  .case-details-page .case-media-rail{
    gap:12px;
    padding-bottom:6px;
    -webkit-overflow-scrolling:touch;
  }

  .case-details-page .case-media-rail__item{
    flex-basis:78vw;
  }
}


.cases-list-page .pub-case__compareRow{
  margin-top: 10px;
}

.cases-list-page .pub-case__compareBtn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(15, 23, 42, 0.12);
  background:#f8fafc;
  color:#0f172a;
  border-radius: 999px;
  min-height: 36px;
  padding: 0 12px;
  font-size: 0.82rem;
  font-weight: 900;
  line-height: 1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
}

@media (hover:hover){
  .cases-list-page .pub-case__compareBtn:hover{
    background:#eef2ff;
    border-color: rgba(37, 99, 235, 0.24);
    color:#1d4ed8;
  }
}

.cases-list-page .pub-case__compareBtn:focus-visible{
  outline:none;
  box-shadow: 0 0 0 4px rgba(37, 99, 235, 0.14);
  border-color: rgba(37, 99, 235, 0.34);
}

.cases-list-page .pub-case__compareBtn.is-selected{
  background: rgba(16, 185, 129, 0.12);
  border-color: rgba(5, 150, 105, 0.22);
  color:#047857;
}

.cases-list-page .pub-case__compareBtn.is-loading,
.cases-list-page .pub-case__compareBtn[disabled]{
  cursor:default;
  opacity:0.72;
  transform:none;
}

.cases-list-page .compare-tray{
  position: fixed;
  right: 14px;
  left: 14px;
  bottom: 12px;
  z-index: 1200;
  opacity: 0;
  transform: translateY(10px);
  pointer-events:none;
  transition: opacity 220ms ease, transform 220ms ease;
}

.cases-list-page .compare-tray.is-visible{
  opacity: 1;
  transform: translateY(0);
  pointer-events:auto;
}

.cases-list-page .compare-tray__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(15, 23, 42, 0.92);
  color:#f8fafc;
  box-shadow: 0 18px 40px rgba(15, 23, 42, 0.22);
}

.cases-list-page .compare-tray__count{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.cases-list-page .compare-tray__countStrong{
  font-size:0.9rem;
  font-weight:900;
  color:#ffffff;
}

.cases-list-page .compare-tray__hint{
  font-size:0.76rem;
  color: rgba(248, 250, 252, 0.84);
}

.cases-list-page .compare-tray__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex: 0 0 auto;
}

.cases-list-page .compare-tray__cta,
.cases-list-page .compare-tray__clear{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  border-radius: 999px;
  min-height: 38px;
  padding: 0 14px;
  font-size:0.82rem;
  font-weight:900;
  cursor:pointer;
}

.cases-list-page .compare-tray__cta{
  background:#ffffff;
  color:#0f172a;
}

.cases-list-page .compare-tray__cta[disabled]{
  cursor:default;
  opacity:0.58;
}

.cases-list-page .compare-tray__clear{
  background: rgba(255,255,255,0.10);
  color:#ffffff;
  border: 1px solid rgba(255,255,255,0.12);
}

body.has-compare-tray .ibp-toast-host{
  bottom: 86px;
}

@media (max-width: 680px){
  .cases-list-page .compare-tray__inner{
    align-items:stretch;
    flex-direction:column;
  }

  .cases-list-page .compare-tray__actions{
    width:100%;
    justify-content:stretch;
  }

  .cases-list-page .compare-tray__cta,
  .cases-list-page .compare-tray__clear{
    flex:1 1 0;
  }
}


/* [IBP:UI] case_details compare iteration 1B */
.case-details-page .case-header__actions{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  flex-wrap:wrap;
  gap:10px;
  margin-top:14px;
}

.case-details-page .case-header__cta{
  text-decoration:none;
}

.case-details-page .case-media-card__metaRow{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
  width:100%;
}

.case-details-page .case-media-card__compareBtn{
  flex:0 0 auto;
  min-width:128px;
  white-space:nowrap;
  align-self:flex-start;
}

.case-details-page .case-details__compareBtn{
  appearance:none;
  -webkit-appearance:none;
  border:1px solid rgba(15, 23, 42, 0.12);
  background:#f8fafc;
  color:#0f172a;
  border-radius:999px;
  min-height:42px;
  padding:0 16px;
  font-size:0.88rem;
  font-weight:900;
  line-height:1;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  cursor:pointer;
  transition: background-color 200ms ease, border-color 200ms ease, color 200ms ease, transform 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
}

@media (hover:hover){
  .case-details-page .case-details__compareBtn:hover{
    background:#eef2ff;
    border-color:rgba(37, 99, 235, 0.24);
    color:#1d4ed8;
  }
}

.case-details-page .case-details__compareBtn:focus-visible{
  outline:none;
  box-shadow:0 0 0 4px rgba(37, 99, 235, 0.14);
  border-color:rgba(37, 99, 235, 0.34);
}

.case-details-page .case-details__compareBtn.is-selected{
  background:rgba(16, 185, 129, 0.12);
  border-color:rgba(5, 150, 105, 0.22);
  color:#047857;
}

.case-details-page .case-details__compareBtn.is-loading,
.case-details-page .case-details__compareBtn[disabled]{
  cursor:default;
  opacity:0.72;
  transform:none;
}

.case-details-page .compare-tray{
  position:fixed;
  right:14px;
  left:14px;
  bottom:12px;
  z-index:1200;
  opacity:0;
  transform:translateY(10px);
  pointer-events:none;
  transition:opacity 220ms ease, transform 220ms ease;
}

.case-details-page .compare-tray.is-visible{
  opacity:1;
  transform:translateY(0);
  pointer-events:auto;
}

.case-details-page .compare-tray__inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:10px 12px;
  border-radius:16px;
  background:rgba(15, 23, 42, 0.92);
  color:#f8fafc;
  box-shadow:0 18px 40px rgba(15, 23, 42, 0.22);
}

.case-details-page .compare-tray__count{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}

.case-details-page .compare-tray__countStrong{
  font-size:0.9rem;
  font-weight:900;
  color:#ffffff;
}

.case-details-page .compare-tray__hint{
  font-size:0.76rem;
  color:rgba(248, 250, 252, 0.84);
}

.case-details-page .compare-tray__actions{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.case-details-page .compare-tray__cta,
.case-details-page .compare-tray__clear{
  appearance:none;
  -webkit-appearance:none;
  border:none;
  border-radius:999px;
  min-height:38px;
  padding:0 14px;
  font-size:0.82rem;
  font-weight:900;
  cursor:pointer;
}

.case-details-page .compare-tray__cta{
  background:#ffffff;
  color:#0f172a;
}

.case-details-page .compare-tray__cta[disabled]{
  cursor:default;
  opacity:0.58;
}

.case-details-page .compare-tray__clear{
  background:rgba(255,255,255,0.10);
  color:#ffffff;
  border:1px solid rgba(255,255,255,0.12);
}

@media (max-width: 680px){
  .case-details-page .case-header__actions{
    align-items:stretch;
    flex-direction:column;
  }

  .case-details-page .case-header__actions > *{
    width:100%;
  }

  .case-details-page .case-header__cta{
    justify-content:center;
  }

  .case-details-page .case-media-card__metaRow{
    align-items:stretch;
    flex-direction:column;
  }

  .case-details-page .case-details__compareBtn,
  .case-details-page .case-header__cta,
  .case-details-page .case-media-card__compareBtn{
    justify-content:center;
  }

  .case-details-page .case-media-card__compareBtn{
    width:100%;
  }

  .case-details-page .compare-tray__inner{
    align-items:stretch;
    flex-direction:column;
  }

  .case-details-page .compare-tray__actions{
    width:100%;
    justify-content:stretch;
  }

  .case-details-page .compare-tray__cta,
  .case-details-page .compare-tray__clear{
    flex:1 1 0;
  }
}


/* [IBP:UI] compare page iteration 2A */
.compare-page{
  background:linear-gradient(180deg,#f8fbff 0%,#ffffff 42%);
}
.compare-page .site-main{
  padding-bottom:48px;
}
.compare-page__section{
  padding:24px 0 0;
}
.compare-page__shell{
  display:flex;
  flex-direction:column;
  gap:18px;
}
.compare-page__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
}
.compare-page__headMain{
  min-width:0;
}
.compare-page__backLink{
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#0f4c81;
  font-weight:800;
  text-decoration:none;
}
.compare-page__title{
  margin:8px 0 6px;
  font-size:clamp(1.25rem,2.2vw,1.9rem);
  line-height:1.25;
}
.compare-page__subtitle{
  margin:0;
  color:#526071;
}
.compare-page__count{
  flex:0 0 auto;
  min-width:96px;
  border-radius:999px;
  background:#eaf4ff;
  color:#0f4c81;
  font-weight:900;
  padding:10px 14px;
  text-align:center;
}
.compare-page__viewport{
  position:relative;
}
.compare-page__track{
  display:flex;
  flex-direction:column;
  gap:14px;
}
.compare-card{
  display:flex;
  flex-direction:column;
  gap:12px;
  border:1px solid rgba(15,76,129,.10);
  border-radius:24px;
  background:#fff;
  box-shadow:0 16px 36px rgba(15,23,42,.08);
  padding:12px;
}
.compare-card__top,
.compare-card__galleryCol,
.compare-card__actions{
  min-width:0;
}
.compare-card__top{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:4px;
  text-align:center;
}
/* [IBP:UI] File: /assets/css/style.css | Version: 1.1.1 | Reason: Compare page compact title-city line and lightweight text-link actions under gallery. */
.compare-card__galleryRail{
  display:flex;
  gap:8px;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
  padding-bottom:4px;
}
.compare-card__galleryRail::-webkit-scrollbar{
  height:6px;
}
.compare-card__galleryRail::-webkit-scrollbar-thumb{
  background:rgba(15,76,129,.18);
  border-radius:999px;
}
.compare-card__galleryItem{
  position:relative;
  flex:0 0 calc(50% - 4px);
  min-width:calc(50% - 4px);
  padding:0;
  border:0;
  background:transparent;
  border-radius:18px;
  overflow:hidden;
  scroll-snap-align:start;
  cursor:pointer;
}
.compare-card__galleryImage,
.compare-card__galleryEmpty{
  width:100%;
  aspect-ratio:3 / 4;
  height:auto;
  object-fit:contain;
  display:block;
  border-radius:16px;
  background:#edf2f7;
}
.compare-card__galleryEmpty{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:16px;
  color:#64748b;
  font-weight:700;
}
.compare-card__galleryBadge{
  position:absolute;
  inset-inline-end:8px;
  inset-block-end:8px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:34px;
  padding:4px 8px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#0f4c81;
  font-size:.74rem;
  font-weight:900;
}
.compare-card__title{
  margin:0;
  text-align:center;
  font-size:.98rem;
  line-height:1.9;
  font-weight:900;
  color:#0f172a;
}
.compare-card__city{
  color:#607085;
  font-weight:700;
  line-height:1.7;
  text-align:center;
}
.compare-card__actions{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.compare-card__detailsBtn,
.compare-card__removeBtn,
.compare-page__primaryBtn,
.compare-page__ghostBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:min(100%, 260px);
  min-height:42px;
  border-radius:14px;
  font-weight:800;
  text-decoration:none;
  transition:transform .22s ease, box-shadow .22s ease, background .22s ease;
}
.compare-card__detailsBtn,
.compare-page__primaryBtn{
  border:1px solid #0f4c81;
  background:#0f4c81;
  color:#fff;
  box-shadow:0 10px 22px rgba(15,76,129,.18);
}
.compare-card__removeBtn,
.compare-page__ghostBtn{
  border:1px solid rgba(185,28,28,.18);
  background:#fff7f7;
  color:#b91c1c;
}
.compare-card__detailsBtn:hover,
.compare-page__primaryBtn:hover,
.compare-card__removeBtn:hover,
.compare-page__ghostBtn:hover{
  transform:translateY(-1px);
}
.compare-card__removeBtn:disabled{
  opacity:.6;
  cursor:default;
}
.compare-card__detailsBtn.is-disabled{
  opacity:.5;
  box-shadow:none;
  cursor:default;
}
.compare-page__indicator{
  display:none;
}
.compare-page__state{
  padding:36px 0 12px;
}
.compare-page__stateCard{
  max-width:560px;
  margin:0 auto;
  border:1px solid rgba(15,76,129,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 22px 52px rgba(15,23,42,.08);
  padding:28px;
  text-align:center;
}
.compare-page__stateTitle{
  margin:0 0 10px;
  font-size:1.3rem;
}
.compare-page__stateText{
  margin:0;
  color:#526071;
  line-height:1.9;
}
.compare-page__stateActions{
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:18px;
}
@media (min-width: 992px){
  .compare-page__track{
    display:grid;
    grid-template-columns:repeat(var(--compare-cols, 2), minmax(0,1fr));
    gap:18px;
  }
  .compare-card__galleryRail{
    justify-content:center;
  }
  .compare-page__shell[data-cols="2"] .compare-page__track{ --compare-cols:2; }
  .compare-page__shell[data-cols="3"] .compare-page__track{ --compare-cols:3; }
  .compare-page__shell[data-cols="4"] .compare-page__track{ --compare-cols:4; }
  .compare-card{
    gap:14px;
    padding:14px;
  }
  .compare-card__galleryItem{
    flex:0 0 148px;
    min-width:148px;
  }
  .compare-card__galleryImage,
  .compare-card__galleryEmpty{
    height:auto;
  }
}
@media (max-width: 991px){
  .compare-page__head{flex-direction:column;align-items:stretch;}
  .compare-page__count{align-self:flex-start;}
}
@media (max-width: 640px){
  .compare-page__section{padding-top:18px;}
  .compare-card{
    gap:10px;
    padding:10px 9px;
    border-radius:20px;
  }
  .compare-card__galleryImage,
  .compare-card__galleryEmpty{
    height:auto;
    border-radius:14px;
  }
  .compare-card__galleryItem{
    border-radius:14px;
  }
  .compare-card__title{
    font-size:.9rem;
    line-height:1.8;
  }
  .compare-card__detailsBtn,
  .compare-card__removeBtn{
    width:100%;
    min-height:40px;
    font-size:.84rem;
  }
}

.compare-card__title{
  display:block;
  width:100%;
}

.compare-card__city{
  display:none;
}

.compare-card__actions{
  display:flex;
  flex-direction:row;
  align-items:center;
  justify-content:center;
  gap:12px;
  margin-top:-2px;
}

.compare-card__detailsBtn,
.compare-card__removeBtn{
  width:auto;
  min-height:0;
  padding:0;
  border:none;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  font-size:.84rem;
  font-weight:800;
  line-height:1.8;
  text-decoration:none;
}

.compare-card__detailsBtn{
  color:#1d4ed8;
}

.compare-card__removeBtn{
  color:#b91c1c;
}

.compare-card__detailsBtn:hover,
.compare-card__removeBtn:hover{
  transform:none;
  box-shadow:none;
  text-decoration:underline;
}

.compare-card__removeBtn:disabled,
.compare-card__detailsBtn.is-disabled{
  opacity:.55;
  cursor:default;
  text-decoration:none;
}

@media (max-width: 640px){
  .compare-card__actions{
    gap:10px;
    flex-wrap:wrap;
  }

  .compare-card__detailsBtn,
  .compare-card__removeBtn{
    width:auto;
    min-height:0;
    font-size:.82rem;
  }
}

.compare-page__contractBox{
  margin-top:16px;
  padding:14px;
  border-radius:18px;
  background:#f8fafc;
  border:1px solid rgba(15,23,42,0.08);
  text-align:right;
}
.compare-page__contractTitle{
  margin:0 0 10px;
  font-size:0.95rem;
  font-weight:900;
  color:#0f172a;
}
.compare-page__contractList{
  display:flex;
  flex-direction:column;
  gap:10px;
}
.compare-page__contractRow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:12px;
  border-radius:14px;
  background:#ffffff;
  border:1px solid rgba(15,23,42,0.08);
}
.compare-page__contractMeta{min-width:0; flex:1;}
.compare-page__contractItemTitle{
  font-weight:800;
  color:#0f172a;
  line-height:1.8;
}
.compare-page__contractItemSub{
  margin-top:2px;
  font-size:0.82rem;
  color:#64748b;
}
.compare-page__contractRemoveBtn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:116px;
  padding:11px 14px;
  border-radius:999px;
  border:1px solid rgba(239,68,68,0.22);
  background:#fff5f5;
  color:#b91c1c;
  font-weight:800;
  cursor:pointer;
}
.compare-page__contractRemoveBtn:disabled{
  opacity:0.6;
  cursor:default;
}
@media (max-width: 640px){
  .compare-page__contractRow{
    flex-direction:column;
    align-items:stretch;
  }
  .compare-page__contractRemoveBtn{
    width:100%;
    min-width:0;
  }
}


/* [IBP:UI] v1.0 | Member dashboard summary page
   Scope: /member/dashboard.asp
   Revert: حذف این بلوک و classهای member-dashboard-page / wallet-summary-* 
*/
.member-dashboard-page{
  --md-surface:#ffffff;
  --md-surface-soft:linear-gradient(180deg,#ffffff 0%,#f8fbff 100%);
  --md-border:rgba(148,163,184,.16);
  --md-shadow:0 18px 48px rgba(15,23,42,.08);
  --md-text:#0f172a;
  --md-muted:#64748b;
  --md-primary:#2563eb;
  --md-primary-soft:rgba(37,99,235,.10);
  --md-warning:#b45309;
  --md-warning-soft:rgba(245,158,11,.12);
}
.member-dashboard-page .wallet-summary-shell{padding:24px 0 40px;}
.member-dashboard-page .wallet-summary-hero{
  background:radial-gradient(circle at top right, rgba(59,130,246,.14), transparent 42%), linear-gradient(180deg,#f8fbff 0%,#f3f8ff 100%);
  border:1px solid var(--md-border);
  border-radius:24px;
  padding:20px;
  box-shadow:var(--md-shadow);
}
.member-dashboard-page .wallet-summary-title{font-size:1.55rem;font-weight:800;color:var(--md-text);line-height:1.7;}
.member-dashboard-page .wallet-summary-subtitle{margin-top:8px;color:var(--md-muted);font-size:.98rem;line-height:1.9;}
.member-dashboard-page .wallet-summary-actions{margin-top:16px;display:flex;gap:10px;flex-wrap:wrap;}
.member-dashboard-page .wallet-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:18px;}
.member-dashboard-page .wallet-summary-card{
  background:var(--md-surface-soft);
  border:1px solid var(--md-border);
  border-radius:22px;
  padding:16px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
  min-width:0;
}
.member-dashboard-page .wallet-summary-label{color:var(--md-muted);font-size:.9rem;line-height:1.8;}
.member-dashboard-page .wallet-summary-value{margin-top:8px;color:var(--md-text);font-size:1.7rem;font-weight:800;line-height:1.2;}
.member-dashboard-page .wallet-summary-value.is-warning{color:var(--md-warning);}
.member-dashboard-page .wallet-summary-note{margin-top:6px;color:var(--md-muted);font-size:.84rem;line-height:1.8;}
.member-dashboard-page .wallet-summary-panel{
  margin-top:18px;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 100%);
  border:1px solid var(--md-border);
  border-radius:24px;
  padding:18px;
  box-shadow:0 12px 28px rgba(15,23,42,.05);
}
.member-dashboard-page .wallet-summary-panelTitle{font-size:1rem;font-weight:700;color:var(--md-text);}
.member-dashboard-page .wallet-summary-panelText{margin-top:8px;color:var(--md-muted);line-height:1.9;}
.member-dashboard-page .wallet-summary-status{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;border-radius:999px;background:var(--md-primary-soft);color:var(--md-primary);font-weight:700;font-size:.92rem;}
.member-dashboard-page .wallet-summary-status.is-warning{background:var(--md-warning-soft);color:var(--md-warning);}
.member-dashboard-page .wallet-summary-state{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}
.member-dashboard-page .wallet-summary-empty{padding:18px;border-radius:18px;background:#fff;border:1px dashed rgba(148,163,184,.32);color:var(--md-muted);}
.member-dashboard-page .wallet-summary-error{padding:14px 16px;border-radius:18px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.16);color:#991b1b;line-height:1.9;}
@media (max-width: 980px){
  .member-dashboard-page .wallet-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width: 640px){
  .member-dashboard-page .wallet-summary-shell{padding:18px 0 30px;}
  .member-dashboard-page .wallet-summary-hero{padding:16px;border-radius:20px;}
  .member-dashboard-page .wallet-summary-grid{grid-template-columns:1fr;gap:12px;}
  .member-dashboard-page .wallet-summary-panel{padding:16px;border-radius:20px;}
  .member-dashboard-page .wallet-summary-title{font-size:1.28rem;}
  .member-dashboard-page .wallet-summary-value{font-size:1.5rem;}
}


/* [IBP:UI] File: /assets/css/style.css | Version: 1.1.0 | Reason: Add lightweight wallet ledger history styles for member dashboard without touching existing summary behavior. */
.member-dashboard-page .wallet-ledger-panel{margin-top:18px;}
.member-dashboard-page .wallet-ledger-loading{margin-top:14px;color:var(--md-muted);line-height:1.9;}
.member-dashboard-page .wallet-ledger-wrap{margin-top:14px;}
.member-dashboard-page .wallet-ledger-tableWrap{overflow:auto;border:1px solid var(--md-border);border-radius:20px;background:#fff;}
.member-dashboard-page .wallet-ledger-table{width:100%;border-collapse:collapse;min-width:720px;}
.member-dashboard-page .wallet-ledger-table th,
.member-dashboard-page .wallet-ledger-table td{padding:12px 14px;border-bottom:1px solid rgba(148,163,184,.12);text-align:right;vertical-align:middle;font-size:.93rem;line-height:1.8;color:var(--md-text);white-space:nowrap;}
.member-dashboard-page .wallet-ledger-table th{background:rgba(37,99,235,.06);color:var(--md-primary);font-weight:800;}
.member-dashboard-page .wallet-ledger-table tbody tr:hover{background:rgba(37,99,235,.03);}
.member-dashboard-page .wallet-ledger-table tbody tr:last-child td{border-bottom:none;}
.member-dashboard-page .wallet-ledger-amount{font-weight:800;}
.member-dashboard-page .wallet-ledger-actions{margin-top:14px;display:flex;justify-content:flex-start;}
@media (max-width: 640px){
  .member-dashboard-page .wallet-ledger-table th,
  .member-dashboard-page .wallet-ledger-table td{padding:10px 12px;font-size:.88rem;}
}

/* [IBP:UI] File: /assets/css/style.css | Version: 1.2.2 | Reason: Add clearer spacing between mobile wallet ledger cards, keep labels and values on one line when space exists, and preserve desktop behavior. */
@media (max-width: 768px){
  .member-dashboard-page .wallet-ledger-tableWrap{overflow:visible;border:none;border-radius:0;background:transparent;}
  .member-dashboard-page .wallet-ledger-table{min-width:0;border-collapse:separate;border-spacing:0 0;}
  .member-dashboard-page .wallet-ledger-table thead{
    position:absolute;
    width:1px;
    height:1px;
    padding:0;
    margin:-1px;
    overflow:hidden;
    clip:rect(0, 0, 0, 0);
    white-space:nowrap;
    border:0;
  }
  .member-dashboard-page .wallet-ledger-table,
  .member-dashboard-page .wallet-ledger-table tbody,
  .member-dashboard-page .wallet-ledger-table tr,
  .member-dashboard-page .wallet-ledger-table td{display:block;width:100%;}
  .member-dashboard-page .wallet-ledger-table tbody tr{
    background:#fff;
    border:1px solid var(--md-border);
    border-radius:22px;
    box-shadow:0 12px 30px rgba(15,23,42,.08);
    overflow:hidden;
    margin-bottom:14px;
  }
  .member-dashboard-page .wallet-ledger-table tbody tr:last-child{margin-bottom:0;}
  .member-dashboard-page .wallet-ledger-table tbody tr:hover{background:#fff;}
  .member-dashboard-page .wallet-ledger-table td{
    border-bottom:1px solid rgba(148,163,184,.12);
    white-space:normal;
    padding:12px 14px;
    text-align:right;
    display:grid;
    grid-template-columns:88px minmax(0,1fr);
    align-items:center;
    gap:10px;
  }
  .member-dashboard-page .wallet-ledger-table tbody tr td:last-child{border-bottom:none;}
  .member-dashboard-page .wallet-ledger-table td::before{
    content:attr(data-label);
    display:block;
    margin-bottom:0;
    color:var(--md-muted);
    font-size:.79rem;
    font-weight:700;
    line-height:1.7;
  }
  .member-dashboard-page .wallet-ledger-title{font-size:1rem;font-weight:800;color:var(--md-text);line-height:1.9;}
  .member-dashboard-page .wallet-ledger-title::before{color:var(--md-primary);}
  .member-dashboard-page .wallet-ledger-amount{font-size:1.08rem;font-weight:800;color:var(--md-primary);}
  .member-dashboard-page .wallet-ledger-status{font-weight:700;}
  .member-dashboard-page .wallet-ledger-date{direction:rtl;}
}


/* [IBP:UI] File: /assets/css/style.css | Version: 1.2.0 | Reason: Keep dashboard lightweight with a wallet CTA card while preserving the dedicated wallet page layout. */
.member-dashboard-page .wallet-walletCard-panel{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.member-dashboard-page .wallet-walletCard-actions{margin-top:14px;display:flex;gap:10px;flex-wrap:wrap;}

/* [IBP:UI] v1.0.1 - enforce hidden state for wallet more button so CSS button display does not override HTML hidden */
.member-dashboard-page #walletLedgerMoreBtn[hidden]{display:none !important;}



.site-body.is-kc-invite-sheet-open{
  overflow:hidden;
}
/* [IBP:UI] File: /assets/css/style.css | Version: 1.1.0 | Reason: Invite friends entry and referral share sheet for logged-in users. */
.site-body.has-kc-invite-banner{
  padding-bottom:0;
}
.kc-invite-banner,
.kc-invite-sheet{
  display:none;
}
.kc-invite-sheet:not([hidden]){
  position:fixed;
  inset:0;
  z-index:1250;
  display:block;
}
.kc-invite-sheet__backdrop{
  position:absolute;
  inset:0;
  border:none;
  background:rgba(15,23,42,.42);
  cursor:pointer;
}
.kc-invite-sheet__panel{
  position:absolute;
  top:50%;
  left:50%;
  width:min(94vw, 440px);
  max-height:calc(100vh - 32px);
  overflow:auto;
  transform:translate(-50%, -50%);
  padding:24px 22px 20px;
  border:1px solid rgba(148,163,184,.18);
  border-radius:28px;
  background:#ffffff;
  box-shadow:0 28px 70px rgba(15,23,42,.24);
}
.kc-invite-sheet__close{
  position:absolute;
  top:12px;
  left:12px;
  width:36px;
  height:36px;
  padding:0;
  border:none;
  border-radius:999px;
  background:rgba(148,163,184,.12);
  color:#64748b;
  font:inherit;
  font-size:1.25rem;
  line-height:1;
  cursor:pointer;
}
.kc-invite-sheet__hero{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:52px;
  height:52px;
  margin-bottom:10px;
  border-radius:20px;
  background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 48%,#fef3c7 100%);
  box-shadow:0 16px 34px rgba(37,99,235,.16);
  font-size:1.55rem;
}
.kc-invite-sheet__eyebrow{
  color:#2563eb;
  font-size:.82rem;
  font-weight:800;
  line-height:1.8;
}
.kc-invite-sheet__title{
  margin-top:6px;
  color:#0f172a;
  font-size:1.08rem;
  font-weight:900;
  line-height:1.9;
}
.kc-invite-sheet__text{
  margin-top:8px;
  color:#475569;
  font-size:.91rem;
  line-height:2;
}
.kc-invite-sheet__field,
.kc-invite-sheet__messageBox{
  margin-top:14px;
  display:block;
}
.kc-invite-sheet__label{
  display:block;
  margin-bottom:7px;
  color:#334155;
  font-size:.84rem;
  font-weight:800;
  line-height:1.8;
}
.kc-invite-sheet__input,
.kc-invite-sheet__message{
  width:100%;
  border:1px solid rgba(148,163,184,.38);
  border-radius:16px;
  background:#f8fafc;
  color:#0f172a;
  font:inherit;
  font-size:.92rem;
  line-height:1.9;
  outline:none;
}
.kc-invite-sheet__input{
  min-height:44px;
  padding:9px 12px;
  text-align:left;
}
.kc-invite-sheet__message{
  min-height:92px;
  padding:11px 12px;
  resize:none;
  direction:rtl;
}
.kc-invite-sheet__input:focus,
.kc-invite-sheet__message:focus{
  border-color:rgba(37,99,235,.62);
  box-shadow:0 0 0 4px rgba(37,99,235,.10);
}
.kc-invite-sheet__actions{
  margin-top:16px;
  display:flex;
  gap:10px;
}
.kc-invite-sheet__actions--grid{
  display:grid;
  grid-template-columns:repeat(2, minmax(0, 1fr));
}
.kc-invite-sheet__btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:44px;
  padding:10px 14px;
  border:none;
  border-radius:16px;
  font:inherit;
  font-size:.9rem;
  font-weight:800;
  cursor:pointer;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.kc-invite-sheet__btn:active{
  transform:translateY(1px);
}
.kc-invite-sheet__btn--primary{
  background:#2563eb;
  color:#ffffff;
  box-shadow:0 12px 24px rgba(37,99,235,.22);
}
.kc-invite-sheet__btn--secondary{
  background:#eff6ff;
  color:#1d4ed8;
}
.kc-invite-sheet__btn--whatsapp{
  background:#ecfdf5;
  color:#047857;
}
.kc-invite-sheet__btn--telegram{
  background:#e0f2fe;
  color:#0369a1;
}
.kc-invite-sheet__btn--ghost{
  grid-column:1 / -1;
  background:#f8fafc;
  color:#334155;
  border:1px solid rgba(148,163,184,.32);
}
.kc-invite-sheet__status{
  margin-top:12px;
  padding:12px 14px;
  border-radius:16px;
  background:#ecfdf5;
  border:1px solid rgba(22,163,74,.16);
}
.kc-invite-sheet__status.is-error{
  background:#fef2f2;
  border-color:rgba(220,38,38,.16);
}
.kc-invite-sheet__statusTitle{
  display:block;
  color:#166534;
  font-size:.9rem;
  font-weight:900;
  line-height:1.9;
}
.kc-invite-sheet__status.is-error .kc-invite-sheet__statusTitle{
  color:#b91c1c;
}
.kc-invite-sheet__statusText{
  margin-top:4px;
  color:#475569;
  font-size:.84rem;
  line-height:1.95;
}
.header-invite-cta,
.kc-mobile-drawer__invite{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:none;
  cursor:pointer;
  font:inherit;
}
.header-invite-cta{
  color:#333;
  background:transparent;
  white-space:nowrap;
  line-height:1.2;
  padding:10px 8px;
  border-radius:999px;
  font-size:inherit;
}
.header-invite-cta:hover{
  color:#1e9e8d;
  background:#e6f7f4;
}
.kc-mobile-drawer__invite{
  width:100%;
  text-align:inherit;
  background:transparent;
  padding:0;
}
@media (max-width: 768px){
  .site-body.has-kc-invite-banner{
    padding-bottom:96px;
  }
  .kc-invite-banner{
    position:fixed;
    right:12px;
    left:12px;
    bottom:12px;
    z-index:1200;
    display:block;
    padding:14px 48px 14px 14px;
    border:1px solid rgba(249,115,22,.34);
    border-radius:22px;
    background:linear-gradient(135deg,#fff7ed 0%,#ffedd5 52%,#fde68a 100%);
    box-shadow:0 22px 44px rgba(194,65,12,.22);
  }
  .kc-invite-banner[hidden]{
    display:none !important;
  }
  .kc-invite-banner__content{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
  }
  .kc-invite-banner__text{
    flex:1;
    min-width:0;
    color:#7c2d12;
    font-size:.94rem;
    font-weight:900;
    line-height:1.9;
  }
  .kc-invite-banner__cta{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    min-width:112px;
    min-height:42px;
    padding:10px 16px;
    border:none;
    border-radius:999px;
    background:#ea580c;
    color:#ffffff;
    font:inherit;
    font-size:.88rem;
    font-weight:800;
    cursor:pointer;
    box-shadow:0 12px 24px rgba(234,88,12,.28);
  }
  .kc-invite-banner__cta:active{
    transform:translateY(1px);
  }
  .kc-invite-banner__close{
    position:absolute;
    top:10px;
    right:10px;
    z-index:3;
    width:30px;
    height:30px;
    padding:0;
    border:none;
    border-radius:999px;
    background:rgba(124,45,18,.10);
    color:#64748b;
    font:inherit;
    font-size:1.1rem;
    line-height:1;
    cursor:pointer;
    touch-action:manipulation;
  }
  .kc-invite-sheet__panel{
    top:auto;
    right:0;
    left:0;
    bottom:0;
    width:auto;
    max-height:calc(100vh - 24px);
    transform:none;
    padding:22px 18px 18px;
    border-radius:26px 26px 0 0;
    border:none;
    box-shadow:0 -18px 40px rgba(15,23,42,.18);
  }
}


/* [IBP:UI] compare page desktop title slot lock v1.0
   Goal: reserve a fixed two-line title area on desktop so compare cards align vertically
   Scope: only .compare-page desktop cards
*/
@media (min-width: 992px){
  .compare-card__top{
    min-height: calc(1.9em * 2);
    display:flex;
    align-items:center;
    justify-content:center;
  }

  .compare-card__title{
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
    line-height:1.9;
    min-height: calc(1.9em * 2);
    width:100%;
  }
}


/* [IBP:UI] v2.4 | Home Service Feed Entry polish | Reversible: remove this block and restore /public/partials/_home_hero.asp from baseline */
.home-hero .hero-kicker{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:max-content;
  max-width:100%;
  margin:0 0 10px;
  padding:6px 10px;
  border:1px solid rgba(30,158,141,0.18);
  border-radius:999px;
  background:rgba(255,255,255,0.72);
  color:#0f766e;
  font-size:0.78rem;
  font-weight:800;
  box-shadow:0 10px 28px rgba(15,23,42,0.06);
}

.home-hero .hero-kicker::before{
  content:"";
  width:7px;
  height:7px;
  border-radius:999px;
  background:linear-gradient(90deg,#0ea5e9,#1e9e8d);
  box-shadow:0 0 0 4px rgba(30,158,141,0.12);
}

.home-hero h1{
  max-width:680px;
  line-height:1.55;
  letter-spacing:-0.015em;
}

.home-hero .hero-subtitle{
  max-width:620px;
  color:#475569;
  line-height:1.95;
}

.home-hero .search-bar-simple{
  position:relative;
  align-items:center;
  border:1px solid rgba(148,163,184,0.24);
  background:rgba(255,255,255,0.92);
  box-shadow:0 20px 60px rgba(15,23,42,0.12);
}

.home-hero .search-field label{
  color:#334155;
  font-weight:800;
}

.home-hero .search-field select{
  min-height:44px;
  border-color:#dbe3ee;
  background:#ffffff;
  transition:border-color 220ms ease, box-shadow 220ms ease, background 220ms ease;
}

.home-hero .search-field select:hover{
  border-color:#b8c7d9;
  background:#fbfdff;
}

.home-hero .search-actions .btn{
  min-height:44px;
  padding:10px 18px;
  border-radius:14px;
  font-weight:900;
  box-shadow:0 14px 30px rgba(30,158,141,0.22);
}

.home-hero .hero-search-hint{
  margin:-6px 4px 16px;
  color:#64748b;
  font-size:0.78rem;
  line-height:1.8;
}

@media (max-width: 768px){
  .home-hero .hero-kicker{
    font-size:0.74rem;
    margin-bottom:8px;
  }

  .home-hero .search-bar-simple{
    padding:12px;
    gap:10px;
  }

  .home-hero .search-field,
  .home-hero .search-actions{
    flex:1 1 100%;
    width:100%;
  }

  .home-hero .search-actions .btn{
    width:100%;
  }

  .home-hero .hero-search-hint{
    margin:0 2px 14px;
    font-size:0.76rem;
  }
}

/* [IBP:UI] v2.7 | Home richer color pass | Reversible: remove this block to revert */
body{
  background:#eef3f8;
}

.site-main section:nth-of-type(even){
  background:linear-gradient(180deg, rgba(232,245,242,0.72) 0%, rgba(255,255,255,0.00) 100%);
}

.home-hero{
  background:
    radial-gradient(circle at top right, rgba(14,165,233,0.16), transparent 34%),
    radial-gradient(circle at top left, rgba(30,158,141,0.18), transparent 32%),
    linear-gradient(135deg, #d8f3ec 0%, #e4f2ff 52%, #ffffff 100%);
}

.home-hero .hero-kicker{
  background:linear-gradient(180deg, rgba(255,255,255,0.95), rgba(240,253,250,0.96));
  border-color:rgba(30,158,141,0.38);
  color:#0f766e;
}

.home-hero h1,
.home-how-it-works h2,
.home-service-categories h2,
.home-top-providers h2,
.home-before-after h2,
.home-trust h2,
.home-blog h2,
.section-header h2{
  color:#0b1324;
}

.home-hero .hero-subtitle,
.home-hero .hero-search-hint,
.home-service-categories .service-card p,
.home-top-providers .provider-city,
.home-top-providers .provider-rating,
.home-top-providers .provider-meta,
.home-top-providers .provider-summary,
.home-before-after .case-card p,
.home-trust .trust-item p,
.home-blog .blog-card p,
.home-how-it-works .step-item,
.home-how-it-works .step-item p{
  color:#334155;
}

.search-bar-simple,
.home-hero .search-bar-simple{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid #cfdceb;
  box-shadow:0 22px 60px rgba(15,23,42,0.16);
}

.home-hero .search-field label{
  color:#1e293b;
  font-weight:800;
}

.search-field select,
.home-hero .search-field select{
  border:1px solid #bfd0e1;
  background:#ffffff;
  color:#0f172a;
  font-weight:700;
}

.home-hero .search-field select:hover,
.search-field select:hover{
  border-color:#7fb7d9;
  background:#ffffff;
}

.home-hero .search-field select:focus,
.search-field select:focus{
  border-color:#0ea5e9;
  box-shadow:0 0 0 4px rgba(14,165,233,0.20);
}

.btn-primary{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 42%, #0f9c82 100%);
  color:#ffffff;
  box-shadow:0 16px 36px rgba(14,165,233,0.30);
}

.btn-primary:hover{
  background:linear-gradient(90deg, #0369a1 0%, #0284c7 42%, #0f8b73 100%);
  opacity:1;
}

.btn-outline{
  background:#effcf8;
  border-color:#1e9e8d;
  color:#0f766e;
}

.btn-outline:hover{
  background:linear-gradient(90deg, #0ea5e9 0%, #1e9e8d 100%);
  color:#ffffff;
  border-color:transparent;
}

.home-hero .search-actions .btn{
  box-shadow:0 18px 38px rgba(30,158,141,0.30);
}

.hero-stat-item{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid #d6e2ee;
  box-shadow:0 12px 28px rgba(15,23,42,0.08);
}

.hero-stat-item strong{
  color:#0f172a;
}

.hero-before-after{
  background:linear-gradient(180deg, #ffffff 0%, #f8fbff 100%);
  border:1px solid #d8e3ef;
  box-shadow:0 18px 44px rgba(15,23,42,0.12);
}

.ba-label{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 42%, #1e9e8d 100%);
}

.hero-rating-box{
  background:linear-gradient(90deg, #0284c7 0%, #0ea5e9 44%, #1e9e8d 100%);
  box-shadow:0 20px 48px rgba(15,23,42,0.18);
}

.service-card,
.provider-card,
.case-card,
.trust-item,
.blog-card,
.step-item{
  background:linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border:1px solid #d8e3ef;
  box-shadow:0 12px 32px rgba(15,23,42,0.07);
}

.service-card h3,
.provider-name,
.trust-item h3,
.blog-card h3,
.step-item h3{
  color:#0f172a;
}

.service-card:hover,
.provider-card:hover,
.trust-item:hover,
.blog-card:hover,
.step-item:hover{
  border-color:#159884;
  box-shadow:0 22px 60px rgba(15,23,42,0.13);
}

.link-more,
.section-header .link-more{
  color:#0f766e;
  font-weight:800;
}

.tag{
  background:linear-gradient(180deg, #e6faf4 0%, #d8f5ee 100%);
  color:#0f766e;
}


/* [IBP:UI] v2.8 | Home static top hero visual | Reversible: remove this block and restore /public/partials/_home_hero.asp */
.home-hero-banner{
  position:relative;
  overflow:hidden;
  border-radius:28px;
  margin:0 0 24px;
  box-shadow:0 22px 60px rgba(15,23,42,0.14);
  background:#ffffff;
}

.home-hero-banner img{
  display:block;
  width:100%;
  height:clamp(260px, 30vw, 360px);
  min-height:260px;
  max-height:360px;
  object-fit:cover;
  object-position:center center;
}

.home-hero-inner{
  grid-template-columns:minmax(0, 1fr);
  gap:0;
}

.home-hero-text{
  max-width:760px;
}

.home-hero .hero-stats{
  margin-top:14px;
}

@media (max-width: 768px){
  .home-hero-banner{
    border-radius:22px;
    margin-bottom:18px;
  }

  .home-hero-banner img{
    aspect-ratio:4 / 3;
    min-height:200px;
  }
}


/* [IBP:UI] v2.9 | Home hero subtle luxury motion | Reversible: remove this block */
.home-hero-banner{
  isolation:isolate;
}

.home-hero-banner img{
  transform-origin:center center;
  animation:ibpHomeHeroCalmDrift 18s ease-in-out infinite alternate;
  will-change:transform;
}

.home-hero-banner::after{
  content:"";
  position:absolute;
  inset:-18%;
  z-index:2;
  pointer-events:none;
  background:
    linear-gradient(115deg,
      transparent 0%,
      transparent 35%,
      rgba(255,255,255,0.00) 43%,
      rgba(255,255,255,0.34) 49%,
      rgba(224,244,239,0.24) 52%,
      rgba(255,255,255,0.00) 59%,
      transparent 100%);
  transform:translateX(42%) rotate(0.001deg);
  opacity:0.82;
  mix-blend-mode:screen;
  animation:ibpHomeHeroSoftGleam 9.5s ease-in-out infinite;
}

.home-hero-banner::before{
  content:"";
  position:absolute;
  inset:0;
  z-index:1;
  pointer-events:none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,0.28), transparent 28%),
    linear-gradient(180deg, rgba(255,255,255,0.06), rgba(15,23,42,0.08));
}

@keyframes ibpHomeHeroCalmDrift{
  0%{
    transform:scale(1.012) translate3d(0, 0, 0);
  }
  100%{
    transform:scale(1.055) translate3d(-1.4%, -0.8%, 0);
  }
}

@keyframes ibpHomeHeroSoftGleam{
  0%, 22%{
    transform:translateX(48%) rotate(0.001deg);
    opacity:0;
  }
  38%{
    opacity:0.74;
  }
  58%{
    transform:translateX(-42%) rotate(0.001deg);
    opacity:0.26;
  }
  100%{
    transform:translateX(-48%) rotate(0.001deg);
    opacity:0;
  }
}

@media (prefers-reduced-motion: reduce){
  .home-hero-banner img,
  .home-hero-banner::after{
    animation:none;
  }

  .home-hero-banner img{
    transform:none;
  }

  .home-hero-banner::after{
    opacity:0;
  }
}


/* [IBP:UI] v3.0 | Home service icon grid | Reversible: remove this block and restore /public/partials/_home_service_categories.asp */
.home-service-categories .service-cards{
  grid-template-columns:repeat(auto-fit, minmax(108px, 1fr));
  gap:14px;
}

.home-service-categories .service-icon-card{
  min-height:132px;
  padding:14px 10px 12px;
  border-radius:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  background:
    linear-gradient(180deg, rgba(255,255,255,0.96) 0%, rgba(248,252,255,0.98) 100%);
  border:1px solid rgba(203,213,225,0.82);
  box-shadow:0 14px 34px rgba(15,23,42,0.08);
}

.home-service-categories .service-icon-card:hover{
  transform:translateY(-3px);
  border-color:rgba(30,158,141,0.55);
  box-shadow:0 24px 58px rgba(15,23,42,0.14);
}

.home-service-categories .service-card-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.8em;
  color:#0f172a;
  font-size:0.88rem;
  line-height:1.4;
  font-weight:900;
}

.home-service-categories .service-icon{
  width:66px;
  height:66px;
  border-radius:22px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  box-shadow:0 16px 34px rgba(15,23,42,0.16);
}

.home-service-categories .service-icon::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 24% 18%, rgba(255,255,255,0.60), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.20), rgba(255,255,255,0.00));
}

.home-service-categories .service-icon svg{
  width:40px;
  height:40px;
  position:relative;
  z-index:1;
  fill:none;
  stroke:#ffffff;
  stroke-width:4;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.home-service-categories .service-icon-hair{
  background:linear-gradient(135deg, #0ea5e9 0%, #1e9e8d 100%);
}

.home-service-categories .service-icon-eyebrow{
  background:linear-gradient(135deg, #7c3aed 0%, #ec4899 100%);
}

.home-service-categories .service-icon-beard{
  background:linear-gradient(135deg, #2563eb 0%, #334155 100%);
}

.home-service-categories .service-icon-botox{
  background:linear-gradient(135deg, #06b6d4 0%, #10b981 100%);
}

.home-service-categories .service-icon-filler{
  background:linear-gradient(135deg, #f43f5e 0%, #fb923c 100%);
}

.home-service-categories .service-icon-laser{
  background:linear-gradient(135deg, #f97316 0%, #facc15 100%);
}

.home-service-categories .service-icon-skin{
  background:linear-gradient(135deg, #fb7185 0%, #f59e0b 100%);
}

.home-service-categories .service-icon-dental{
  background:linear-gradient(135deg, #38bdf8 0%, #2563eb 100%);
}

.home-service-categories .service-icon-surgery{
  background:linear-gradient(135deg, #14b8a6 0%, #0f766e 100%);
}

.home-service-categories .service-icon-beauty{
  background:linear-gradient(135deg, #8b5cf6 0%, #06b6d4 100%);
}

@media (max-width: 768px){
  .home-service-categories .service-cards{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:10px;
  }

  .home-service-categories .service-icon-card{
    min-height:118px;
    padding:12px 8px 10px;
    border-radius:20px;
  }

  .home-service-categories .service-icon{
    width:58px;
    height:58px;
    border-radius:19px;
  }

  .home-service-categories .service-icon svg{
    width:35px;
    height:35px;
    stroke-width:4;
  }

  .home-service-categories .service-card-title{
    font-size:0.78rem;
  }
}


/* [IBP:UI] v3.1 | Home services first five + more + disabled states | Reversible: remove this block and restore /public/partials/_home_service_categories.asp */
.home-service-categories .service-cards-primary{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  max-width:620px;
  margin:0 auto;
}

.home-service-categories .service-more-details{
  display:block;
  min-width:0;
}

.home-service-categories .service-more-details > summary{
  list-style:none;
}

.home-service-categories .service-more-details > summary::-webkit-details-marker{
  display:none;
}

.home-service-categories .service-more-details[open]{
  grid-column:1 / -1;
}

.home-service-categories .service-more-details[open] > summary{
  max-width:190px;
  margin:0 auto 14px;
}

.home-service-categories .service-more-card{
  cursor:pointer;
  user-select:none;
}

.home-service-categories .service-more-card .service-card-title{
  color:#0f766e;
}

.home-service-categories .service-icon-more{
  background:linear-gradient(135deg, #0ea5e9 0%, #8b5cf6 100%);
}

.home-service-categories .service-icon-more svg{
  fill:#ffffff;
  stroke:none;
}

.home-service-categories .service-cards-expanded{
  grid-template-columns:repeat(auto-fit, minmax(104px, 1fr));
  gap:12px;
  max-width:900px;
  margin:0 auto;
  padding:14px;
  border:1px solid rgba(203,213,225,0.72);
  border-radius:26px;
  background:rgba(255,255,255,0.64);
  box-shadow:inset 0 1px 0 rgba(255,255,255,0.85);
}

.home-service-categories .service-card-disabled{
  cursor:not-allowed;
  opacity:0.54;
  filter:saturate(0.62);
  box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.home-service-categories .service-card-disabled:hover{
  transform:none;
  border-color:rgba(203,213,225,0.82);
  box-shadow:0 8px 22px rgba(15,23,42,0.05);
}

.home-service-categories .service-card-disabled .service-icon{
  filter:grayscale(0.18) saturate(0.74);
  box-shadow:0 10px 22px rgba(15,23,42,0.10);
}

.home-service-categories .service-card-disabled .service-card-title{
  color:#64748b;
}

@media (max-width: 768px){
  .home-service-categories .service-cards-primary{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    max-width:none;
  }

  .home-service-categories .service-more-details[open] > summary{
    max-width:none;
    margin-bottom:10px;
  }

  .home-service-categories .service-cards-expanded{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    padding:10px;
    gap:10px;
    border-radius:22px;
  }
}


/* [IBP:UI] v3.2 | Home services single panel + sharper icon colors | Reversible: remove this block and restore /public/partials/_home_service_categories.asp */
.home-service-categories .service-icon-panel{
  max-width:720px;
  margin:0 auto;
  padding:18px;
  border:1px solid rgba(15,23,42,0.10);
  border-radius:32px;
  background:
    radial-gradient(circle at 12% 10%, rgba(14,165,233,0.13), transparent 34%),
    radial-gradient(circle at 88% 0%, rgba(236,72,153,0.12), transparent 32%),
    linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow:0 24px 64px rgba(15,23,42,0.13);
}

.home-service-categories .service-cards-primary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  max-width:none;
  margin:0;
}

.home-service-categories .service-icon-item{
  min-width:0;
  min-height:118px;
  padding:10px 6px;
  border:0;
  border-radius:24px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  color:#0f172a;
  background:transparent;
  box-shadow:none;
  transition:transform 180ms ease, background 180ms ease;
}

.home-service-categories a.service-icon-item{
  cursor:pointer;
}

.home-service-categories a.service-icon-item:hover{
  transform:translateY(-3px);
  background:rgba(255,255,255,0.72);
}

.home-service-categories .service-card-title{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  min-height:2.8em;
  color:#0f172a;
  font-size:0.88rem;
  line-height:1.4;
  font-weight:900;
}

.home-service-categories .service-icon{
  width:70px;
  height:70px;
  border-radius:24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  position:relative;
  overflow:hidden;
  box-shadow:
    0 18px 34px rgba(15,23,42,0.24),
    inset 0 1px 0 rgba(255,255,255,0.38);
}

.home-service-categories .service-icon::before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 24% 18%, rgba(255,255,255,0.70), transparent 29%),
    linear-gradient(180deg, rgba(255,255,255,0.18), rgba(255,255,255,0.00));
}

.home-service-categories .service-icon svg{
  width:42px;
  height:42px;
  position:relative;
  z-index:1;
  fill:none;
  stroke:#ffffff;
  stroke-width:4.35;
  stroke-linecap:round;
  stroke-linejoin:round;
  filter:drop-shadow(0 2px 3px rgba(15,23,42,0.20));
}

.home-service-categories .service-icon-hair{
  background:linear-gradient(135deg, #0284c7 0%, #00b8d9 45%, #00a878 100%);
}

.home-service-categories .service-icon-eyebrow{
  background:linear-gradient(135deg, #6d28d9 0%, #d946ef 48%, #f43f5e 100%);
}

.home-service-categories .service-icon-beard{
  background:linear-gradient(135deg, #1d4ed8 0%, #2563eb 45%, #111827 100%);
}

.home-service-categories .service-icon-botox{
  background:linear-gradient(135deg, #0891b2 0%, #06b6d4 42%, #10b981 100%);
}

.home-service-categories .service-icon-filler{
  background:linear-gradient(135deg, #e11d48 0%, #f43f5e 45%, #f97316 100%);
}

.home-service-categories .service-icon-laser{
  background:linear-gradient(135deg, #ea580c 0%, #f97316 42%, #facc15 100%);
}

.home-service-categories .service-icon-skin{
  background:linear-gradient(135deg, #db2777 0%, #fb7185 45%, #f59e0b 100%);
}

.home-service-categories .service-icon-dental{
  background:linear-gradient(135deg, #0284c7 0%, #38bdf8 45%, #4f46e5 100%);
}

.home-service-categories .service-icon-surgery{
  background:linear-gradient(135deg, #0f766e 0%, #14b8a6 48%, #2563eb 100%);
}

.home-service-categories .service-icon-beauty{
  background:linear-gradient(135deg, #7c3aed 0%, #a855f7 43%, #06b6d4 100%);
}

.home-service-categories .service-icon-more{
  background:linear-gradient(135deg, #4f46e5 0%, #8b5cf6 42%, #ec4899 100%);
}

.home-service-categories .service-icon-more svg{
  fill:#ffffff;
  stroke:none;
}

.home-service-categories .service-more-details{
  display:block;
  min-width:0;
}

.home-service-categories .service-more-details > summary{
  list-style:none;
}

.home-service-categories .service-more-details > summary::-webkit-details-marker{
  display:none;
}

.home-service-categories .service-more-details[open]{
  grid-column:1 / -1;
}

.home-service-categories .service-more-details[open] > summary{
  display:none;
}

.home-service-categories .service-cards-expanded{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  max-width:none;
  margin:2px 0 0;
  padding:10px 0 0;
  border:0;
  border-top:1px solid rgba(148,163,184,0.28);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.home-service-categories .service-card-disabled{
  cursor:not-allowed;
  opacity:0.46;
  filter:saturate(0.82);
}

.home-service-categories .service-card-disabled:hover{
  transform:none;
  background:transparent;
}

.home-service-categories .service-card-disabled .service-icon{
  filter:grayscale(0.28) saturate(0.72);
  box-shadow:0 10px 22px rgba(15,23,42,0.12);
}

.home-service-categories .service-card-disabled .service-card-title{
  color:#64748b;
}

@media (max-width: 768px){
  .home-service-categories .service-icon-panel{
    padding:14px 10px;
    border-radius:26px;
  }

  .home-service-categories .service-cards-primary,
  .home-service-categories .service-cards-expanded{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:9px;
  }

  .home-service-categories .service-icon-item{
    min-height:106px;
    padding:8px 4px;
    border-radius:20px;
  }

  .home-service-categories .service-icon{
    width:60px;
    height:60px;
    border-radius:20px;
  }

  .home-service-categories .service-icon svg{
    width:36px;
    height:36px;
    stroke-width:4.2;
  }

  .home-service-categories .service-card-title{
    font-size:0.76rem;
  }
}


/* [IBP:UI] v3.3 | Home services more becomes less no empty tooth | Reversible: remove this block and restore /public/partials/_home_service_categories.asp */
.home-service-categories .service-more-details,
.home-service-categories .service-more-details[open]{
  display:contents;
  grid-column:auto;
}

.home-service-categories .service-more-details > summary,
.home-service-categories .service-more-details[open] > summary{
  display:flex;
  max-width:none;
  margin:0;
}

.home-service-categories .service-more-state{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.home-service-categories .service-more-state-open{
  display:none;
}

.home-service-categories .service-more-details[open] .service-more-state-closed{
  display:none;
}

.home-service-categories .service-more-details[open] .service-more-state-open{
  display:flex;
}

.home-service-categories .service-cards-expanded{
  grid-column:1 / -1;
}

.home-service-categories .service-icon-less{
  background:linear-gradient(135deg, #db2777 0%, #f97316 44%, #facc15 100%);
}

.home-service-categories .service-icon-less svg{
  fill:none;
  stroke:#ffffff;
}

.home-service-categories .service-more-details[open] .service-more-card .service-card-title{
  color:#9f1239;
}

@media (max-width: 768px){
  .home-service-categories .service-more-details > summary,
  .home-service-categories .service-more-details[open] > summary{
    max-width:none;
    margin:0;
  }
}


/* [IBP:UI] v3.6 | Home services stable checkbox toggle layout | Reversible: remove this block and restore /public/partials/_home_service_categories.asp */
.home-service-categories .service-icon-panel{
  overflow:hidden;
}

.home-service-categories .service-toggle-control{
  position:absolute;
  width:1px;
  height:1px;
  margin:-1px;
  padding:0;
  border:0;
  overflow:hidden;
  clip:rect(0 0 0 0);
  white-space:nowrap;
}

.home-service-categories .service-cards-primary{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  width:100%;
  max-width:none;
  margin:0;
}

.home-service-categories .service-more-card{
  cursor:pointer;
  user-select:none;
}

.home-service-categories .service-more-state{
  width:100%;
  min-height:100%;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
}

.home-service-categories .service-more-state-open{
  display:none;
}

.home-service-categories .service-toggle-control:checked ~ .service-cards-primary .service-more-state-closed{
  display:none;
}

.home-service-categories .service-toggle-control:checked ~ .service-cards-primary .service-more-state-open{
  display:flex;
}

.home-service-categories .service-cards-expanded{
  display:none;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  width:100%;
  max-width:none;
  margin:8px 0 0;
  padding:16px 0 0;
  border:0;
  border-top:1px solid rgba(148,163,184,0.28);
  border-radius:0;
  background:transparent;
  box-shadow:none;
}

.home-service-categories .service-toggle-control:checked ~ .service-cards-expanded{
  display:grid;
}

.home-service-categories .service-cards-expanded .service-icon-item{
  min-width:0;
}

.home-service-categories .service-icon-less{
  background:linear-gradient(135deg, #e11d48 0%, #f97316 48%, #facc15 100%);
}

@media (max-width: 768px){
  .home-service-categories .service-cards-primary,
  .home-service-categories .service-cards-expanded{
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap:9px;
  }

  .home-service-categories .service-cards-expanded{
    margin-top:8px;
    padding-top:14px;
  }
}


/* [IBP:UI] v4.11 | Home before-after horizontal slider | Reversible: remove this block and restore /public/partials/_home_before_after_cases.asp */
.home-before-after .case-grid.case-slider{
  display:flex !important;
  grid-template-columns:none !important;
  grid-auto-flow:unset !important;
  flex-wrap:nowrap;
  align-items:stretch;
  gap:16px;
  overflow-x:auto;
  overflow-y:hidden;
  padding:4px 2px 18px;
  margin-inline:-2px;
  scroll-snap-type:x mandatory;
  scroll-padding-inline:2px;
  -webkit-overflow-scrolling:touch;
}

.home-before-after .case-grid.case-slider::-webkit-scrollbar{
  height:7px;
}

.home-before-after .case-grid.case-slider::-webkit-scrollbar-track{
  background:rgba(226,232,240,0.72);
  border-radius:999px;
}

.home-before-after .case-grid.case-slider::-webkit-scrollbar-thumb{
  background:linear-gradient(90deg, rgba(14,165,233,0.75), rgba(30,158,141,0.78));
  border-radius:999px;
}

.home-before-after .case-grid.case-slider .case-card-link{
  flex:0 0 min(86vw, 360px);
  width:min(86vw, 360px);
  max-width:min(86vw, 360px);
  min-width:0;
  scroll-snap-align:start;
  scroll-snap-stop:always;
}

.home-before-after .case-grid.case-slider .case-card{
  height:100%;
  border:1px solid rgba(27,127,209,0.18);
  box-shadow:0 18px 48px rgba(15,23,42,0.10);
}

@media (min-width:768px){
  .home-before-after .case-grid.case-slider .case-card-link{
    flex-basis:min(48vw, 360px);
    width:min(48vw, 360px);
    max-width:min(48vw, 360px);
  }
}

@media (min-width:992px){
  .home-before-after .case-grid.case-slider .case-card-link{
    flex-basis:min(32vw, 372px);
    width:min(32vw, 372px);
    max-width:min(32vw, 372px);
  }
}

@media (max-width:520px){
  .home-before-after .case-grid.case-slider{
    gap:12px;
    padding-inline:0;
    margin-inline:0;
    scroll-padding-inline:0;
    padding-bottom:16px;
  }

  .home-before-after .case-grid.case-slider .case-card-link{
    flex:0 0 100%;
    width:100%;
    max-width:100%;
  }

  .home-before-after .case-grid.case-slider .case-images img{
    height:160px !important;
  }
}


/* [IBP:UI] v4.13 | Home how-it-works clearer card border | Reversible: remove this block */
.home-how-it-works .step-item{
  border:1px solid rgba(27,127,209,0.30);
  box-shadow:
    0 18px 48px rgba(15,23,42,0.10),
    0 0 0 1px rgba(14,165,233,0.12);
}

.home-how-it-works .step-item:hover{
  border-color:rgba(14,165,233,0.44);
  box-shadow:
    0 22px 56px rgba(15,23,42,0.13),
    0 0 0 1px rgba(14,165,233,0.18);
}


/* [IBP:UI] v4.14 | Home cases trust blog clearer card borders | Reversible: remove this block */
.home-before-after .case-card,
.home-trust .trust-item,
.home-blog .blog-card{
  border:1px solid rgba(27,127,209,0.30) !important;
  box-shadow:
    0 18px 48px rgba(15,23,42,0.10),
    0 0 0 1px rgba(14,165,233,0.12) !important;
}

.home-before-after .case-card-link:hover .case-card,
.home-trust .trust-item:hover,
.home-blog .blog-card:hover{
  border-color:rgba(14,165,233,0.44) !important;
  box-shadow:
    0 22px 56px rgba(15,23,42,0.13),
    0 0 0 1px rgba(14,165,233,0.18) !important;
}

.home-before-after .case-card,
.home-trust .trust-item,
.home-blog .blog-card{
  transition:border-color 220ms ease, box-shadow 220ms ease, transform 220ms ease;
}

@media (hover:hover) and (pointer:fine){
  .home-before-after .case-card-link:hover .case-card,
  .home-trust .trust-item:hover,
  .home-blog .blog-card:hover{
    transform:translateY(-1px);
  }
}


/* [IBP:UI] v4.15 | Home service icons 30 percent tighter gap | Reversible: remove this block */
.home-service-categories .service-cards-primary,
.home-service-categories .service-cards-expanded{
  gap:8px;
}

@media (max-width:768px){
  .home-service-categories .service-cards-primary,
  .home-service-categories .service-cards-expanded{
    gap:6px;
  }
}


/* [IBP:UI] v4.16 | Home hero visual motion 30 percent faster | Reversible: remove this block */
.home-hero-banner img{
  animation-duration:12.6s;
}

.home-hero-banner::after{
  animation-duration:6.65s;
}

/* Provider dashboard card polish — scoped override */
.kc-dash-wrap .kc-dash-card,
.kc-dash-wrap .kc-metric,
.kc-dash-wrap .kc-action{
  border-width:1.5px;
  box-shadow:0 12px 30px rgba(25,50,88,.08);
}
.kc-dash-wrap .kc-dash-card{
  border-color:rgba(11,116,222,.22);
}
.kc-dash-wrap .kc-metric,
.kc-dash-wrap .kc-action{
  border-color:rgba(58,87,132,.18);
  background:linear-gradient(180deg,#fff,#fbfcff);
  position:relative;
  overflow:hidden;
}
.kc-dash-wrap .kc-metric:hover,
.kc-dash-wrap .kc-action:hover{
  border-color:rgba(11,116,222,.30);
  box-shadow:0 16px 34px rgba(25,50,88,.12);
}
.kc-dash-wrap .kc-metric:after,
.kc-dash-wrap .kc-action:after{
  content:"";
  position:absolute;
  inset:0 0 0 auto;
  width:5px;
  background:rgba(11,116,222,.42);
  pointer-events:none;
}
.kc-dash-wrap .kc-action-inner,
.kc-dash-wrap .kc-metric-top,
.kc-dash-wrap .kc-metric-label,
.kc-dash-wrap .kc-metric-kpi{
  position:relative;
  z-index:1;
}
.kc-dash-wrap .kc-metric[data-kind="lead-total"]{border-color:rgba(11,116,222,.30);background:linear-gradient(180deg,#fff,rgba(11,116,222,.035));}
.kc-dash-wrap .kc-metric[data-kind="lead-total"]:after{background:linear-gradient(180deg,#0b74de,#63a8ef);}
.kc-dash-wrap .kc-metric[data-kind="lead-recent"]{border-color:rgba(17,122,55,.28);background:linear-gradient(180deg,#fff,rgba(17,122,55,.035));}
.kc-dash-wrap .kc-metric[data-kind="lead-recent"]:after{background:linear-gradient(180deg,#117a37,#54b877);}
.kc-dash-wrap .kc-metric[data-kind="cases-published"]{border-color:rgba(163,91,0,.30);background:linear-gradient(180deg,#fff,rgba(163,91,0,.04));}
.kc-dash-wrap .kc-metric[data-kind="cases-published"]:after{background:linear-gradient(180deg,#a35b00,#e0a24c);}
.kc-dash-wrap .kc-metric[data-kind="cases-unpublished"]{border-color:rgba(107,42,107,.26);background:linear-gradient(180deg,#fff,rgba(107,42,107,.035));}
.kc-dash-wrap .kc-metric[data-kind="cases-unpublished"]:after{background:linear-gradient(180deg,#6b2a6b,#b575b5);}
.kc-dash-wrap .kc-action[data-kind="leads"]{border-color:rgba(17,122,55,.26);background:linear-gradient(180deg,#fff,rgba(17,122,55,.03));}
.kc-dash-wrap .kc-action[data-kind="leads"]:after{background:linear-gradient(180deg,#117a37,#54b877);}
.kc-dash-wrap .kc-action[data-kind="cases"]{border-color:rgba(163,91,0,.28);background:linear-gradient(180deg,#fff,rgba(163,91,0,.035));}
.kc-dash-wrap .kc-action[data-kind="cases"]:after{background:linear-gradient(180deg,#a35b00,#e0a24c);}
.kc-dash-wrap .kc-action[data-kind="verify"]{border-color:rgba(107,42,107,.25);background:linear-gradient(180deg,#fff,rgba(107,42,107,.032));}
.kc-dash-wrap .kc-action[data-kind="verify"]:after{background:linear-gradient(180deg,#6b2a6b,#b575b5);}
.kc-dash-wrap .kc-action[data-kind="staff"]{border-color:rgba(11,116,222,.28);background:linear-gradient(180deg,#fff,rgba(11,116,222,.035));}
.kc-dash-wrap .kc-action[data-kind="staff"]:after{background:linear-gradient(180deg,#0b74de,#63a8ef);}



/* [IBP:UI] Provider leads mobile verify select filter */
.kc-leads-wrap .kc-filter-select-shell{margin-top:10px;display:flex;align-items:flex-end;gap:10px;flex-wrap:wrap;}
.kc-leads-wrap .kc-filter-select-label{font-size:.86rem;font-weight:900;color:#4b5563;margin-bottom:6px;}
.kc-leads-wrap .kc-filter-select-control{position:relative;min-width:280px;}
.kc-leads-wrap .kc-filter-select-control:after{content:"";position:absolute;left:16px;top:50%;width:9px;height:9px;border-left:2px solid #2563eb;border-bottom:2px solid #2563eb;transform:translateY(-65%) rotate(-45deg);pointer-events:none;}
.kc-leads-wrap .kc-filter-select{width:100%;min-height:46px;border:1px solid rgba(37,99,235,.34);border-radius:18px;background:linear-gradient(135deg,#ffffff 0%,#f3f8ff 100%);box-shadow:0 10px 24px rgba(37,99,235,.10), inset 4px 0 0 rgba(37,99,235,.42);color:#1f2937;font-weight:900;font-size:.94rem;line-height:1.8;padding:9px 16px 9px 42px;outline:none;appearance:none;-webkit-appearance:none;cursor:pointer;}
.kc-leads-wrap .kc-filter-select:focus{border-color:#2563eb;box-shadow:0 0 0 4px rgba(37,99,235,.12),0 10px 24px rgba(37,99,235,.12), inset 4px 0 0 rgba(37,99,235,.55);}
@media (max-width: 720px){
  .kc-leads-wrap .kc-filter-select-shell{display:block;width:100%;}
  .kc-leads-wrap .kc-filter-select-label{display:block;}
  .kc-leads-wrap .kc-filter-select-control{width:100%;min-width:0;}
  .kc-leads-wrap .kc-filter-select{width:100%;}
}


/* [IBP:MEDIA] Provider portfolio image contract v1 — 3:4 public case thumbnails.
   Reversible: remove this block and restore fixed-height 4:5/legacy thumbnail rules. */
.provider-profile-page #cases .case-images img,
.home-before-after .case-images img,
.case-card .case-images img{
  aspect-ratio:3 / 4 !important;
  height:auto !important;
  max-height:none !important;
  object-fit:cover !important;
}

/* Member wallet store coin value polish */
.member-dashboard-page .wallet-ledger-amount-main{font-weight:800;color:var(--md-primary);line-height:1.7;}
.member-dashboard-page .wallet-ledger-amount-note{margin-top:3px;color:var(--md-muted);font-size:.78rem;font-weight:500;line-height:1.7;white-space:normal;max-width:280px;}
@media (max-width:720px){.member-dashboard-page .wallet-ledger-amount-note{max-width:none;text-align:right;}}



/* [IBP:UI] File: /assets/css/style.css | Version: 1.2.1 | Reason: Compact invite modal, hidden scrollbar with scroll preserved, header-level overlay, and menu-link visual parity. */
.kc-invite-sheet:not([hidden]){
  z-index:5000;
}
.kc-invite-sheet__backdrop{
  background:rgba(15,23,42,.54);
  cursor:default;
}
.kc-invite-sheet__panel{
  width:min(92vw, 400px);
  max-height:calc(100dvh - 36px);
  padding:18px 18px 16px;
  border-radius:24px;
  overflow:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.kc-invite-sheet__panel::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
.kc-invite-sheet__hero{
  width:42px;
  height:42px;
  margin-bottom:6px;
  border-radius:16px;
  font-size:1.28rem;
}
.kc-invite-sheet__eyebrow{
  font-size:.78rem;
  line-height:1.6;
}
.kc-invite-sheet__title{
  margin-top:3px;
  font-size:1rem;
  line-height:1.7;
}
.kc-invite-sheet__text{
  display:none;
}
.kc-invite-sheet__field,
.kc-invite-sheet__messageBox{
  margin-top:10px;
}
.kc-invite-sheet__label{
  margin-bottom:5px;
}
.kc-invite-sheet__input{
  min-height:42px;
  padding:8px 12px;
}
.kc-invite-sheet__message{
  min-height:104px;
  max-height:150px;
  padding:9px 11px;
  overflow:auto;
  scrollbar-width:none;
  -ms-overflow-style:none;
}
.kc-invite-sheet__message::-webkit-scrollbar{
  width:0;
  height:0;
  display:none;
}
.kc-invite-sheet__actions{
  margin-top:12px;
  gap:8px;
}
.kc-invite-sheet__btn{
  min-height:40px;
  padding:8px 12px;
  border-radius:14px;
  font-size:.86rem;
}
.kc-invite-sheet__status{
  margin-top:10px;
  padding:10px 12px;
}
.header-nav .header-invite-cta{
  color:#333;
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:transparent;
  white-space:nowrap;
  line-height:1.6;
  font-size:inherit;
  transition:background .15s ease, color .15s ease;
}
.header-nav .header-invite-cta:hover{
  color:#1e9e8d;
  background:#e6f7f4;
}
.kc-mobile-drawer__invite{
  color:inherit;
  appearance:none;
  -webkit-appearance:none;
}
@media (max-width: 768px){
  .kc-invite-sheet__panel{
    top:50%;
    right:auto;
    left:50%;
    bottom:auto;
    width:min(92vw, 390px);
    max-height:calc(100dvh - 34px);
    transform:translate(-50%, -50%);
    padding:18px 16px 15px;
    border:1px solid rgba(148,163,184,.18);
    border-radius:24px;
    box-shadow:0 24px 54px rgba(15,23,42,.28);
  }
  .kc-invite-sheet__hero{
    display:none;
  }
  .kc-invite-sheet__title{
    padding-left:38px;
  }
  .kc-invite-sheet__actions--grid{
    grid-template-columns:repeat(2, minmax(0, 1fr));
  }
}

/* [IBP:UI] File: /assets/css/style.css | Version: invite-menu-corrective-v1 | Reason: Restore invite menu item parity and prevent mobile drawer layout regression. */
.site-header .header-nav a[data-kc-invite-open]{
  color:#333;
  display:inline-block;
  padding:6px 10px;
  border-radius:999px;
  background:transparent;
  white-space:nowrap;
  text-decoration:none;
  line-height:1.2;
}
.site-header .header-nav a[data-kc-invite-open]:hover{
  color:#1e9e8d;
  background:#e6f7f4;
}
.site-header .kc-mobile-drawer__nav a[data-kc-invite-open].kc-mi{
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  width:auto !important;
  min-height:auto !important;
  padding:12px 12px !important;
  border:0 !important;
  border-radius:14px !important;
  background:transparent !important;
  color:var(--ibp-text, #0f172a) !important;
  font:inherit !important;
  font-weight:900 !important;
  font-size:14px !important;
  text-decoration:none !important;
  text-align:right !important;
  appearance:auto !important;
  -webkit-appearance:none !important;
}
.site-header .kc-mobile-drawer__nav a[data-kc-invite-open].kc-mi:hover{
  background:rgba(27,127,209,0.10) !important;
  transform:translateY(-1px);
}
.site-header .kc-mobile-drawer__nav a[data-kc-invite-open].kc-mi .kc-mi__icon{
  width:22px !important;
  height:22px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 22px !important;
}
.site-header .kc-mobile-drawer__nav a[data-kc-invite-open].kc-mi .kc-mi__label{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  color:inherit !important;
}


/* [IBP:UI] File: /assets/css/style.css | Version: invite-modal-layer-fix-v1 | Reason: Force invite modal overlay above sticky header after user-reported header overlap. */
.site-body.is-kc-invite-sheet-open .kc-invite-sheet:not([hidden]){
  position:fixed !important;
  inset:0 !important;
  z-index:2147483000 !important;
  display:block !important;
}
.site-body.is-kc-invite-sheet-open .kc-invite-sheet__backdrop{
  position:fixed !important;
  inset:0 !important;
  z-index:0 !important;
}
.site-body.is-kc-invite-sheet-open .kc-invite-sheet__panel{
  z-index:1 !important;
}
.site-body.is-kc-invite-sheet-open .site-header{
  pointer-events:none;
}
