/* BAVEO homepage/account polish — فقط ظاهر و تعاملات سبک، بدون تغییر منطق کسب‌وکار. */

.baveo-review-stars { color:#f4b000; letter-spacing:1px; font-size:.95em; font-weight:800; white-space:nowrap; }
.review-card{position:relative;overflow:hidden;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));background:linear-gradient(145deg,var(--glass-strong),color-mix(in srgb,var(--color-surface-soft) 78%,var(--color-surface)));box-shadow:0 14px 34px rgba(35,9,68,.07)}
.review-card::before{content:"\201C";position:absolute;top:8px;right:16px;color:color-mix(in srgb,var(--color-primary) 18%,transparent);font-size:4rem;line-height:1;font-weight:900;pointer-events:none}
.review-card p{position:relative;z-index:1;line-height:1.9}.review-card cite{display:flex;align-items:center;flex-wrap:wrap;gap:7px;color:var(--color-text-muted);font-size:.82rem;font-style:normal}
.fav-list{display:grid;gap:12px}.fav-row{display:grid;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:14px;padding:13px;border:1px solid color-mix(in srgb,var(--color-primary) 13%,var(--color-border));border-radius:20px;background:linear-gradient(135deg,var(--glass-strong),color-mix(in srgb,var(--color-surface-soft) 72%,var(--color-surface)));box-shadow:0 10px 26px rgba(35,9,68,.055)}
.fav-row>img,.fav-row>.is-fallback{width:68px;height:68px;border-radius:18px;object-fit:cover;background:var(--color-surface-lavender)}.fav-row strong{display:block;margin-bottom:4px;font-size:.98rem}.fav-row .service-card-actions{display:flex;align-items:center;gap:7px}.fav-row .service-card-actions .btn-baveo{min-height:40px;border-radius:12px}
.referral-hero{display:grid;gap:16px;padding:20px;border-radius:24px;border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));background:radial-gradient(circle at 10% 0%,color-mix(in srgb,var(--color-primary) 16%,transparent),transparent 42%),linear-gradient(145deg,var(--glass-strong),color-mix(in srgb,var(--color-surface-soft) 76%,var(--color-surface)));box-shadow:0 16px 34px rgba(35,9,68,.065)}
.referral-code-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.referral-code.referral-code-value{flex:1 1 180px;min-height:48px;display:grid;place-items:center;margin:0;padding:0 16px;border:1px dashed color-mix(in srgb,var(--color-primary) 38%,var(--color-border));border-radius:15px;background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));color:var(--color-primary);font-weight:800;letter-spacing:.08em}.referral-actions{display:flex;gap:8px;flex-wrap:wrap}.referral-actions .btn-baveo{min-height:44px;border-radius:13px}.referral-actions .is-copied{background:var(--color-success)!important;border-color:var(--color-success)!important;color:#fff!important}
[data-fav]{transition:transform 160ms ease,background-color 160ms ease,color 160ms ease}[data-fav]:active{transform:scale(.94)}[data-fav].is-on{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}

/* در موبایل صفحه اصلی، حساب جای خروج را می‌گیرد؛ خروج همچنان در منوی کشویی باقی می‌ماند. */
@media (max-width:991px){
  .nav-actions .nav-account{display:inline-flex!important;align-items:center;justify-content:center;min-height:36px;padding:0 11px;white-space:nowrap}
  .nav-actions .nav-logout-form{display:none!important}
}

/* در PWA فاصلهٔ نوار پایین از لبهٔ صفحه دقیقاً ۱۰ پیکسل باشد. */
@media (max-width:900px){.dash-bottom{bottom:10px!important}}

/* ویترین خدمات واقعی: فقط داده‌ای که متخصص در سیستم ثبت کرده و قابل رزرو است نمایش داده می‌شود. */
.baveo-service-showcase{position:relative;overflow:hidden}
.baveo-service-showcase::before{content:"";position:absolute;inset:10% auto auto 4%;width:240px;height:240px;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 9%,transparent);filter:blur(2px);pointer-events:none}
.baveo-service-showcase-head{align-items:flex-end}
.baveo-service-trust{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;border:1px solid color-mix(in srgb,var(--color-primary) 18%,var(--color-border));border-radius:999px;background:rgba(255,255,255,.62);color:var(--color-primary);font-size:.82rem;font-weight:800;white-space:nowrap}
.baveo-service-trust i{font-size:1.05rem}
.baveo-service-showcase-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-top:24px}
.baveo-service-showcase-card{position:relative;overflow:hidden;display:flex;flex-direction:column;min-width:0;border:1px solid color-mix(in srgb,var(--color-primary) 14%,var(--color-border));border-radius:24px;background:linear-gradient(145deg,var(--glass-strong),color-mix(in srgb,var(--color-surface-soft) 76%,var(--color-surface)));box-shadow:0 16px 34px rgba(35,9,68,.07);transition:transform .2s ease,box-shadow .2s ease}
.baveo-service-showcase-card:hover{transform:translateY(-4px);box-shadow:0 22px 42px rgba(35,9,68,.11)}
.baveo-service-showcase-media{height:150px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 12%,var(--color-surface)),var(--color-surface-soft));overflow:hidden}
.baveo-service-showcase-media img{width:100%;height:100%;object-fit:cover;display:block}
.baveo-service-showcase-body{display:flex;flex-direction:column;gap:8px;padding:16px;min-height:245px}
.baveo-service-kicker{font-size:.72rem;font-weight:800;color:var(--color-primary);opacity:.82}
.baveo-service-showcase-body h3{margin:0;font-size:1.02rem;color:var(--color-ink)}
.baveo-service-showcase-body p{margin:0;color:var(--color-text-muted);font-size:.82rem;line-height:1.8;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.baveo-service-meta{display:flex;flex-direction:column;gap:3px;margin-top:auto;padding:10px 0 4px}
.baveo-service-meta strong{font-size:.9rem;color:var(--color-primary)}
.baveo-service-meta span{font-size:.73rem;color:var(--color-text-muted)}
.baveo-service-showcase-body .btn-baveo{width:100%;min-height:42px;border-radius:13px}
.baveo-service-empty{display:flex;align-items:center;gap:18px;padding:24px;border:1px solid color-mix(in srgb,var(--color-primary) 15%,var(--color-border));border-radius:24px;background:linear-gradient(135deg,var(--glass-strong),color-mix(in srgb,var(--color-surface-soft) 78%,var(--color-surface)));box-shadow:0 16px 34px rgba(35,9,68,.06)}
.baveo-service-empty-icon{width:62px;height:62px;flex:0 0 62px;display:grid;place-items:center;border-radius:19px;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));color:var(--color-primary);font-size:1.5rem}
.baveo-service-empty h3{margin:3px 0 6px}.baveo-service-empty p{margin:0 0 14px;color:var(--color-text-muted);line-height:1.9}

/* مسیر رزرو برای کاربری که اولین بار وارد باویو می‌شود. */
.baveo-booking-flow{padding-top:10px}
.baveo-flow-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-top:24px}
.baveo-flow-card{position:relative;padding:20px;border-radius:22px;border:1px solid color-mix(in srgb,var(--color-primary) 13%,var(--color-border));background:rgba(255,255,255,.68);box-shadow:0 12px 28px rgba(35,9,68,.055)}
.baveo-flow-icon{position:relative;width:52px;height:52px;display:grid;place-items:center;border-radius:17px;background:linear-gradient(145deg,color-mix(in srgb,var(--color-primary) 16%,var(--color-surface)),color-mix(in srgb,var(--color-accent) 12%,var(--color-surface)));color:var(--color-primary);font-size:1.25rem;margin-bottom:14px}
.baveo-flow-icon span{position:absolute;top:-7px;right:-7px;width:23px;height:23px;display:grid;place-items:center;border-radius:50%;background:var(--color-primary);color:#fff;font-size:.68rem;font-weight:900;border:2px solid #fff}
.baveo-flow-card h3{font-size:1rem;margin:0 0 7px}.baveo-flow-card p{margin:0;color:var(--color-text-muted);font-size:.82rem;line-height:1.9}

@media (max-width:1100px){.baveo-service-showcase-grid,.baveo-flow-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

@media (max-width:767px){
  .fav-row{grid-template-columns:56px minmax(0,1fr);gap:10px;padding:10px}.fav-row>img,.fav-row>.is-fallback{width:56px;height:56px;border-radius:15px}.fav-row .service-card-actions{grid-column:1/-1;width:100%}.fav-row .service-card-actions .btn-baveo{flex:1}
  .referral-hero{padding:14px;border-radius:20px}.referral-code-wrap,.referral-actions{width:100%}.referral-actions .btn-baveo{flex:1 1 0}.review-card{padding:18px;border-radius:18px}
  .baveo-service-showcase-head{display:block}.baveo-service-trust{margin-top:12px}.baveo-service-showcase-grid,.baveo-flow-grid{grid-template-columns:1fr;gap:12px}.baveo-service-showcase-card{border-radius:20px}.baveo-service-showcase-media{height:170px}.baveo-service-showcase-body{min-height:0;padding:15px}.baveo-service-empty{align-items:flex-start;padding:18px}.baveo-flow-card{padding:17px;border-radius:19px}
}

/* اعلان‌ها در همهٔ هدرها و منوی موبایل باید یک کنترل یکپارچه داشته باشند. */
.nav-notifications{min-width:44px;min-height:44px;border-radius:13px;color:var(--color-primary);border:1px solid var(--color-border-strong);background:var(--glass,var(--glass-strong));cursor:pointer}
.nav-notifications:hover{background:var(--color-surface-soft);color:var(--color-primary-dark)}
.drawer-link[data-open-notifications]{width:100%;border:0;background:transparent;font:inherit;text-align:right;cursor:pointer;color:inherit}
@media(max-width:767px){.nav-notifications{min-width:38px;min-height:38px;width:38px;height:38px;padding:0}.nav-actions{gap:6px}}


/* پاداش دعوت: نمایش جداگانه کاربر و آرایشگر */
.referral-reward-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:14px;
}
.referral-reward-card{
  min-width:0;
  display:flex;
  align-items:center;
  gap:10px;
  padding:12px;
  border:1px solid color-mix(in srgb,var(--color-primary) 10%,var(--color-border));
  border-radius:15px;
  background:var(--color-surface);
}
.referral-reward-card>span{
  width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;
  border-radius:11px;background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface));color:var(--color-primary);
}
.referral-reward-card>div{min-width:0;display:grid;gap:2px}
.referral-reward-card small{color:var(--color-text-muted);font-size:.62rem}
.referral-reward-card strong{color:var(--color-ink);font-size:.76rem}
.referral-reward-card.is-professional{
  border-color:color-mix(in srgb,var(--color-primary) 20%,var(--color-border));
  background:linear-gradient(145deg,var(--color-surface),color-mix(in srgb,var(--color-primary) 4%,var(--color-surface)));
}
@media(max-width:520px){
  .referral-reward-grid{grid-template-columns:1fr}
}

