/* ---------- Palette ---------- */
:root{
  --cream:#F6EFE7;
  --brown:#5A4633;
  --accent:#D8A86B;      /* کاراملی */
  --ink:#2b2a2a;
}
body{ background:var(--cream); color:var(--ink); }
.bg-cream{ background:var(--cream)!important; }

.header{ background: rgba(246,239,231,.9); backdrop-filter: blur(6px); }
.navmenu .nav-link{ color:var(--ink); }
.navmenu .nav-link:hover{ color:var(--accent); }

.btn-accent{ background:var(--accent); color:#fff; border:none; }
.btn-accent:hover{ opacity:.95; }
.btn-outline{ border:1px solid var(--ink); color:var(--ink); }
.btn-outline:hover{ background:var(--ink); color:#fff; }

/* ---------- Hero ---------- */
.hero{ position:relative; padding: 9rem 0 5rem; }
.hero-video-container{ position:absolute; inset:0; overflow:hidden; z-index:-1; }
.hero-video-container video{ width:100%; height:100%; object-fit:cover; filter: saturate(1.05) contrast(1.05); }
.hero-overlay{ position:absolute; inset:0; background:linear-gradient(to top, rgba(246,239,231,.85), rgba(246,239,231,.35)); }
.hero-title{ color:var(--brown); }
.hero-sub{ color:#6b5c4d; }
.stat-item{ background:#fff; border-radius:16px; padding:.75rem; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.stat-number{ display:block; font-weight:800; font-size:1.5rem; }

/* ---------- About ---------- */
.about .feature-list li{ margin-bottom:.5rem; }
.about .feature-list i{ color:var(--accent); margin-left:.5rem; font-size:1.1rem; }
.about-visual{ position:relative; }
.floating-badge{ position:absolute; bottom:-14px; left:-14px; background:#fff; border-radius:16px; padding:.6rem .9rem; display:flex; align-items:center; gap:.6rem; box-shadow:0 10px 24px rgba(0,0,0,.08); }
.floating-badge i{ color:var(--accent); font-size:1.3rem; }
.badge-title{ font-weight:700; }

/* ---------- Services ---------- */
.section-title{ text-align:center; margin-bottom:2rem; }
.services-grid{ display:grid; gap:16px; grid-template-columns:repeat(1,1fr); }
@media (min-width:768px){ .services-grid{ grid-template-columns:repeat(3,1fr); } }
.service-item{ position:relative; background:#fff; border-radius:18px; padding:1.2rem; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.service-number{ position:absolute; top:10px; left:12px; color:#c9b49b; font-weight:800; }
.service-icon{ width:56px;height:56px;border-radius:14px;background:var(--cream); display:grid; place-items:center; font-size:1.4rem; color:var(--brown); }
.service-item.featured{ border:2px dashed var(--accent); }
.featured-badge{ position:absolute; top:-10px; right:-8px; background:var(--accent); color:#fff; padding:.25rem .5rem; border-radius:10px; font-size:.8rem; }
.service-cta{ display:inline-flex; align-items:center; gap:.35rem; color:var(--brown); font-weight:600; }

/* ---------- Projects / Marketplace ---------- */
.project-card{ background:#fff; border-radius:18px; overflow:hidden; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.project-image{ position:relative; }
.project-image img{ width:100%; height:260px; object-fit:cover; }
.project-overlay{ position:absolute; inset:0; display:flex; align-items:flex-start; justify-content:space-between; padding:.6rem; opacity:0; transition:.2s; background: linear-gradient(to top, rgba(0,0,0,.35), rgba(0,0,0,.05)); }
.project-card:hover .project-overlay{ opacity:1; }
.project-status{ background:#fff; border-radius:10px; padding:.2rem .5rem; font-size:.8rem; }
.project-actions .btn-project{ background:var(--accent); color:#fff; padding:.35rem .6rem; border-radius:10px; text-decoration:none; }
.project-info{ padding:.9rem; }
.project-meta{ display:flex; gap:1rem; color:#6d6d6d; font-size:.9rem; }

/* ---------- Ranks ---------- */
.rank-legend .rank-badge{ padding:.35rem .6rem; border-radius:12px; }
.rank-bronze{ background:#E0C3A1; }
.rank-silver{ background:#C9CED6; }
.rank-gold{ background:#E7C766; }
.rank-pro{ background:#9adf9a; }

/* ---------- Testimonials ---------- */
.testimonial-masonry{ columns:1; column-gap:16px; }
@media (min-width:992px){ .testimonial-masonry{ columns:3; } }
.testimonial-item{ break-inside:avoid; background:#fff; border-radius:18px; padding:1rem; margin:0 0 16px; box-shadow:0 10px 24px rgba(0,0,0,.06); }
.testimonial-item.highlight{ border:2px dashed var(--accent); }
.quote-pattern{ color:#cdb08a; font-size:1.2rem; }

/* ========== Footer Clean Layout ========== */
.footer{
  background:#1e1d1b; color:#e9e9e9;
  padding: 3rem 0 1.75rem;
  --gap: 18px;
}

.footer-grid{
  display:grid; gap: var(--gap);
  grid-template-columns: 1fr;
}
@media (min-width: 576px){
  .footer-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (min-width: 992px){
  .footer-grid{ grid-template-columns: 1.2fr .8fr .8fr .9fr; }
}

.footer-col{ display:flex; flex-direction:column; gap: .65rem; }

/* Brand */
.footer-brand{
  display:inline-flex; align-items:center; gap:.55rem;
  text-decoration:none;
}
/* Hero tidy */
.hero-title{ margin-bottom: .5rem; }
.hero-title-accent{
  background:linear-gradient(90deg, var(--accent), #e6b97e);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}
.hero-divider{
  width:min(140px, 22vw); height:6px; border-radius:999px;
  margin: .6rem auto 1rem;
  background:linear-gradient(90deg, rgba(216,168,107,.0), rgba(216,168,107,.9), rgba(216,168,107,.0));
  box-shadow: 0 6px 20px rgba(216,168,107,.25);
}
.hero-sub{ color:#6b5c4d; max-width: 58ch; margin-inline: auto; }

/* CTA buttons spacing */
.hero-actions .btn{ border-radius:14px; padding-top:.7rem; padding-bottom:.7rem; }

/* Ensure hero doesn’t overflow on small screens */
@media (max-width: 575.98px){
  .hero{ padding-top: 8.5rem; padding-bottom: 3.75rem; }
  .hero-sub{ font-size: 1.02rem; }
}

.brand-dot{
  width:12px; height:12px; border-radius:50%;
  background: linear-gradient(135deg, var(--accent), #e6b97e);
  box-shadow: 0 0 0 4px rgba(255,255,255,.06);
}
.brand-text{ color:#fff; font-weight:900; letter-spacing:.2px; }
.footer-desc{ color:#cfcfcf; margin: 2px 0 8px; }

/* Social chips */
.footer-social{ display:flex; align-items:center; gap:8px; }
.social-chip{
  display:grid; place-items:center;
  width:36px; height:36px; border-radius:12px;
  background: rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.10);
  color:#f1f1f1; text-decoration:none;
  transition: transform .15s ease, background .15s ease, border-color .15s ease;
}
.social-chip:hover{
  transform: translateY(-2px);
  background: rgba(255,255,255,.12);
  border-color: rgba(255,255,255,.20);
}

/* Titles & links */
.footer-title{
  color:#fff; font-weight:800; margin: 2px 0 .25rem;
  font-size:.95rem; letter-spacing:.2px;
}

.footer-links{
  list-style:none; margin:0; padding:0;
  display:flex; flex-direction:column; gap:.2rem;
}
.footer-links a{
  display:inline-block; padding:.15rem 0 .2rem;
  color:#dcdcdc; text-decoration:none; position:relative;
  transition: color .15s ease;
}
.footer-links a::after{
  content:""; position:absolute; inset-inline-start:0; bottom:-2px;
  width:0; height:2px; background: linear-gradient(90deg, var(--accent), #e6b97e);
  transition: width .18s ease;
}
.footer-links a:hover{ color:#fff; }
.footer-links a:hover::after{ width:60%; }

/* CTA */
.footer-cta{
  margin-top:.4rem; border-radius:12px;
  border-color: rgba(255,255,255,.35); color:#fff;
}
.footer-cta:hover{ background:#fff; color:#1e1d1b; border-color:#fff; }

/* Separator */
.footer-sep{
  margin: 1.5rem 0; border:0; height:1px;
  background: linear-gradient(90deg, rgba(255,255,255,.04), rgba(255,255,255,.18), rgba(255,255,255,.04));
}

/* Bottom bar */
.footer-bottom{
  display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap;
}
.footer-bottom .text-muted{ color:#c9c9c9 !important; }

.footer-bottom-right{
  display:flex; align-items:center; gap:12px;
}
.to-top{
  display:grid; place-items:center;
  width:34px; height:34px; border-radius:10px;
  background: rgba(255,255,255,.08); color:#fff; text-decoration:none;
  border:1px solid rgba(255,255,255,.12);
  transition:.15s ease;
}
.to-top:hover{ background:rgba(255,255,255,.16); }

/* Small screens spacing tweaks */
@media (max-width: 575.98px){
  .footer{ padding-top: 2.25rem; }
  .footer-title{ margin-top: .15rem; }
}


/* ---------- Helpers ---------- */
.section{ padding: 5rem 0; }
.light-background{ background:#f9f5ef; }
.dark-background, .dark-overlay{ background:#1e1d1b; color:#fff; }
.cta-link{ color:var(--brown); font-weight:700; }
/* Header glass + layout */
.header-glass{
  background: rgba(246,239,231,.82);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(90,70,51,.08);
}
.logo-img{ height:44px; width:auto; border-radius:8px; box-shadow:0 4px 14px rgba(0,0,0,.05); }

/* Nav center + hover underline */
.navmenu .nav-link{
  color: var(--brown);
  position: relative;
}
.navmenu .nav-link::after{
  content:""; position:absolute; left:50%; bottom:-6px; width:0; height:2px;
  background: var(--accent); transition: .2s; transform: translateX(-50%);
}
.navmenu .nav-link:hover{ color:#000; }
.navmenu .nav-link:hover::after{ width:60%; }

/* Mobile nav open (همون دکمه‌ای که قبلاً داری) */
#navmenu.open ul{ display:flex!important; flex-direction:column; gap:.5rem; background:var(--cream);
  padding:.75rem; border-radius:12px; box-shadow:0 10px 24px rgba(0,0,0,.08); }
@media (max-width: 991.98px){
  .navmenu ul{ display:none!important; }
}
/* ---------- HERO (Background-only) ---------- */
.hero--pattern{ position:relative; padding:9.5rem 0 4.5rem; overflow:hidden; }
.hero-bg{ position:absolute; inset:0; z-index:-2; }

/* گرادیان کرِمی لطیف */
.hero-gradient{
  position:absolute; inset:0; z-index:-3;
  background:
    radial-gradient(1200px 600px at 50% 20%, rgba(216,168,107,.18), rgba(216,168,107,0) 60%),
    linear-gradient(180deg, #F6EFE7 0%, #F8F3EC 60%, #FBF7F1 100%);
}

/* پترن نقطه‌ای خیلی ملایم (بدون تصویر خارجی) */
.hero-dots{
  position:absolute; inset:0; z-index:-2; opacity:.25;
  background-image:
    radial-gradient(circle at 1px 1px, rgba(90,70,51,.20) 1px, transparent 0);
  background-size: 22px 22px;
  mix-blend-mode: multiply;       /* ملایم‌ترش می‌کند */
}

/* وینیت برای خوانایی تیتر */
.hero-vignette{
  position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    linear-gradient(to top, rgba(30,29,27,.12), rgba(30,29,27,0) 40%),
    radial-gradient(800px 400px at 50% 0%, rgba(255,255,255,.6), rgba(255,255,255,0) 70%);
}

/* عنوان/اکتنت همان قبلی */
.hero-title{ color:var(--brown); line-height:1.25; }
.hero-title-accent{
  background:linear-gradient(90deg, var(--accent), #e6b97e);
  -webkit-background-clip:text; background-clip:text; color:transparent;
}

/* چیپ‌ها/CTA/اعتماد/آمار/فلش — از نسخه قبل */
.hero-top-badge{ display:flex; gap:.5rem; justify-content:center; flex-wrap:wrap; margin-bottom:.75rem; }
.badge-pill{
  background:#fff; color:var(--ink); border:1px solid rgba(90,70,51,.12);
  padding:.35rem .7rem; border-radius:999px; font-weight:600; font-size:.9rem;
  box-shadow:0 8px 22px rgba(0,0,0,.05);
}

.hero-actions .btn{ border-radius:14px; }
.btn-accent{ background:var(--accent); color:#fff; border:none; }
.btn-accent:hover{ filter:brightness(.96); }

.hero-trust{ display:flex; gap:.75rem; align-items:center; justify-content:center; }
.hero-trust .trust-text{ color:#7a6957; font-weight:700; }
.hero-trust .trust-logos{ display:flex; gap:.75rem; align-items:center; opacity:.9; }
.hero-trust img{ border-radius:6px; filter:grayscale(1); opacity:.7; transition:.2s; background:#fff; }
.hero-trust img:hover{ filter:none; opacity:1; }

.stat-item{
  background:#fff; padding:.9rem; border-radius:16px; text-align:center;
  box-shadow:0 12px 28px rgba(0,0,0,.07); border:1px solid rgba(90,70,51,.08);
}
.stat-icon{ width:42px;height:42px; border-radius:10px; background:var(--cream);
  display:grid; place-items:center; color:var(--brown); margin:0 auto .35rem; font-size:1.1rem;
}
.stat-number{ display:block; font-weight:800; font-size:1.6rem; color:var(--brown); }
.stat-label{ color:#6b5c4d; font-size:.92rem; }

.scroll-cue{
  display:inline-flex; align-items:center; justify-content:center; margin-top:10px;
  width:44px;height:44px; border-radius:999px; background:#fff; color:var(--brown);
  box-shadow:0 8px 18px rgba(0,0,0,.08); transition:.15s; text-decoration:none;
}
.scroll-cue:hover{ transform: translateY(2px); }

.hero-wave{ position:absolute; bottom:-1px; left:0; right:0; height:100px; z-index:0; }
.hero-wave svg{ width:100%; height:100%; display:block; }
.hero-wave path{ fill:#f9f5ef; }

/* کاهش حرکت */
@media (prefers-reduced-motion: reduce){
  .hero-dots{ background:none; }
}
/* ---------- Market Minimal ---------- */
.market.minimal{ background: linear-gradient(180deg,#fff 0%, #fbf7f1 100%); padding-top: 3.5rem; }
.market-swiper{ overflow: visible; }

.market-card{
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(90,70,51,.08);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  overflow: hidden;
  transition: transform .15s ease, box-shadow .15s ease;
}
.market-card:hover{ transform: translateY(-2px); box-shadow:0 16px 38px rgba(0,0,0,.08); }

.market-cover{ display:block; position:relative; aspect-ratio: 4/3; overflow:hidden; }
.market-cover img{ width:100%; height:100%; object-fit:cover; display:block; transition: transform .4s ease; }
.market-card:hover .market-cover img{ transform: scale(1.03); }

/* چیپ تایید */
.market-cover .chip{
  position:absolute; top:.75rem; left:.75rem;
  background:#0bb07b; color:#fff; font-weight:700; font-size:.8rem;
  padding:.25rem .55rem; border-radius:999px; box-shadow:0 8px 18px rgba(11,176,123,.25);
}

.market-body{ padding: .9rem .95rem 1.05rem; }
.market-title{ margin:0 0 .35rem; font-size:1.05rem; font-weight:800; color:var(--brown); }

.market-meta{ display:flex; align-items:center; gap:.5rem; color:#6b5c4d; font-size:.92rem; }
.market-meta .dot{ width:4px; height:4px; border-radius:50%; background:#c9bfb4; }

.market-actions{ margin-top:.7rem; display:flex; justify-content:flex-start; }
.btn-ghost{
  display:inline-flex; align-items:center; gap:.15rem;
  padding:.4rem .7rem; border-radius:12px;
  background:#fff; border:1px solid rgba(90,70,51,.12);
  color:#5a4633; text-decoration:none; font-weight:700;
  transition:.15s ease;
}
.btn-ghost:hover{ background:#f6efe7; border-color: rgba(90,70,51,.22); }

/* Swiper pagination (بدون دکمه‌های قبلی) */
.market-swiper .swiper-pagination{ position:relative; margin-top: .9rem; }
.market-swiper .swiper-pagination-bullet{
  width:6px; height:6px; background:#c9bfb4; opacity:.8; margin:0 .25rem !important;
}
.market-swiper .swiper-pagination-bullet-active{
  width:18px; border-radius:999px; background: var(--accent); opacity:1;
}

/* فاصله اسلایدها */
.market-swiper .swiper-slide{ height:auto; }
/* ===== Auth Pages ===== */
.auth-wrap{
  min-height: 100vh;
  display:grid; place-items:center;
  position:relative; overflow:hidden;
  padding: 48px 16px;
  background:
    radial-gradient(1200px 600px at 80% -10%, rgba(230,185,126,.20), transparent 60%),
    radial-gradient(900px 500px at 10% 110%, rgba(216,168,107,.18), transparent 60%),
    linear-gradient(180deg, #F6EFE7 0%, #FBF7F1 100%);
}
.auth-blob{
  position:absolute; filter: blur(48px); opacity:.35; z-index:0;
  border-radius: 50%;
}
.auth-blob.b1{ width:360px; height:360px; background:#f0d4a3; top: -120px; right: -80px; }
.auth-blob.b2{ width:420px; height:420px; background:#d7b89f; bottom: -140px; left: -100px; }
.auth-blob.b3{ width:280px; height:280px; background:#ffd6ab; top: 30%; left: 60%; }

.auth-card{
  position:relative; z-index:1;
  width: 100%; max-width: 520px;
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(10px);
  border: 1px solid rgba(90,70,51,.10);
  border-radius: 20px;
  box-shadow: 0 24px 64px rgba(0,0,0,.10);
}
.auth-card .card-body{ padding: 28px; }
@media (min-width: 576px){ .auth-card .card-body{ padding: 36px; } }

.auth-brand{
  display:flex; align-items:center; gap:.6rem; margin-bottom: .75rem;
}
.auth-brand .logo{
  width:40px; height:40px; border-radius: 12px;
  background: linear-gradient(135deg, var(--accent), #e6b97e);
  display:grid; place-items:center; color:#fff; font-weight:800;
}
.auth-title{ margin:0; font-weight:900; color:var(--brown); }
.auth-sub{ color:#6b5c4d; margin-top: .25rem; }

/* Phone field */
.input-ltr{ direction:ltr; }

/* OTP boxes */
.otp-group{ display:flex; gap:.5rem; justify-content:center; margin: .5rem 0 1rem; }
.otp-box{
  width:48px; height:56px; text-align:center; font-size:1.25rem;
  border-radius: 14px; border: 1px solid rgba(90,70,51,.18);
  background:#fff; outline:none; transition: all .15s ease; font-weight:800;
}
.otp-box:focus{
  border-color: var(--accent);
  box-shadow: 0 0 0 4px rgba(230,185,126,.25);
}
@media (min-width: 768px){
  .otp-box{ width:56px; height:64px; font-size:1.35rem; }
}

/* Helpers */
.auth-actions{ display:flex; gap:.5rem; align-items:center; justify-content:space-between; }
.link-muted{ color:#6b5c4d; text-decoration:none; }
.link-muted:hover{ text-decoration:underline; }
.small-muted{ color:#8f7f70; font-size:.9rem; }

.btn-accent{ background: var(--accent); color:#fff; border:none; border-radius:14px; }
.btn-accent:hover{ filter: brightness(.96); }
.btn-outline{ border-radius:14px; }

.alert-inline{
  background:#fff; border:1px solid rgba(220,53,69,.25);
  color:#a2202c; border-radius:12px; padding:.5rem .75rem; font-size:.9rem;
}
/* ===== Minimal phone UX بدون تغییر ساختار ===== */
.auth-card .mb-3 { position: relative; }

/* محفظه‌ی ویژه‌ی فیلد موبایل (با JS این کلاس ست می‌شود) */
.auth-card .mb-3.phone-wrap{
  --pp-accent:#E6B980;       /* کرمِ روشن */
  --pp-ok:#19b66a;
  --pp-err:#dc3545;
  padding-top: 22px;         /* جا برای لیبل شناور */
}

/* چیپ +98 (بدون تغییر DOM) */
.auth-card .mb-3.phone-wrap::before{
  content:"+98";
  position:absolute; left:10px; top:50%; transform:translateY(-50%);
  font-weight:600; font-size:.9rem; opacity:.65;
  padding:.1rem .4rem; border-radius:.5rem; background:rgba(0,0,0,.04);
  pointer-events:none;
}
[dir="rtl"] .auth-card .mb-3.phone-wrap::before{ left:auto; right:10px; }

/* خود اینپوت (target با name=phone) */
.auth-card .mb-3.phone-wrap input[name="phone"]{
  all:unset;
  width:100%;
  direction:ltr;
  font:600 1.05rem/1.35 var(--bs-font-sans-serif, Vazirmatn, system-ui, -apple-system, "Segoe UI", Roboto, Arial);
  letter-spacing:.02em; font-variant-numeric:tabular-nums;
  padding: 10px 12px;
  padding-left:72px;    /* جا برای +98 */
  border-radius: 10px;
}
[dir="rtl"] .auth-card .mb-3.phone-wrap input[name="phone"]{ padding-left:12px; padding-right:72px; }

/* لیبل شناور (از همان label موجود استفاده می‌کنیم) */
.auth-card .mb-3.phone-wrap > label{
  position:absolute; left:12px; top:42px; transform:translateY(-50%);
  color:#7a7a7a; font-size:.92rem; transition:all .15s ease; pointer-events:none;
}
[dir="rtl"] .auth-card .mb-3.phone-wrap > label{ left:auto; right:12px; }

/* هنگام فوکوس یا وقتی placeholder خالی نیست → لیبل بره بالا */
.auth-card .mb-3.phone-wrap:has(input[name="phone"]:focus) > label,
.auth-card .mb-3.phone-wrap.filled > label{
  top:16px; transform:none; font-size:.78rem; opacity:.9;
}

/* خط زیرین + انیمیشن */
.auth-card .mb-3.phone-wrap::after{
  content:"";
  position:absolute; left:0; right:0; bottom:0; height:2px;
  background:#e9ecef; border-radius:2px; overflow:hidden;
}
.auth-card .mb-3.phone-wrap.focus::after{
  background:linear-gradient(90deg, var(--pp-accent), #ffd8a6);
  box-shadow:0 0 0 4px rgba(255,170,51,.12) inset;
}
.auth-card .mb-3.phone-wrap.ok::after{
  background:var(--pp-ok);
  box-shadow:0 0 0 4px rgba(25,182,106,.12) inset;
}
.auth-card .mb-3.phone-wrap.bad::after{
  background:var(--pp-err);
  box-shadow:0 0 0 4px rgba(220,53,69,.10) inset;
}

/* Placeholder محو تا لیبل نقش نگه‌دارنده را بازی کند */
.auth-card .mb-3.phone-wrap input[name="phone"]::placeholder{ color:transparent; }

/* پیام خطا/راهنما کمی جمع‌وجورتر */
.auth-card .mb-3 .invalid-feedback,
.auth-card .mb-3 .form-text { margin-top: .4rem; }
/* ===== Testimonials (Market-like) بدون overflow ===== */
.testimonials{
  background: linear-gradient(180deg,#fff 0%, #fbf7f1 100%);
  padding-top: 3.5rem;
}
.testimonials .section-title h2{ color: var(--brown); }

/* خود اسلایدر: حتماً داخل ظرف بمونه */
.testimonials .swiper{
  overflow: hidden;                 /* 👈 مانع بیرون‌زدن اسلایدها */
  padding-bottom: 1rem;             /* جا برای دات‌ها */
  position: relative;
}
.testimonials-swiper .swiper-wrapper{ align-items: stretch; }
.testimonials-swiper .swiper-slide{
  height: auto;                     /* کارت قد می‌کشه */
}

/* کارت شبیه market-card */
.testimonial-card{
  background: rgba(255,255,255,.85);
  border: 1px solid rgba(90,70,51,.08);
  border-radius: 18px;
  box-shadow: 0 12px 28px rgba(0,0,0,.06);
  overflow: hidden;                 /* 👈 محتوای کارت بیرون نزنه */
  transition: transform .15s ease, box-shadow .15s ease;
  height: 100%;
  display: flex; flex-direction: column;
}
.testimonial-card:hover{
  transform: translateY(-2px);
  box-shadow: 0 16px 38px rgba(0,0,0,.08);
}

/* هدر کارت */
.testimonial-head{
  display:flex; align-items:center; gap:.75rem;
  padding: .85rem .95rem .25rem;
}
.testimonial-avatar{
  width:44px; height:44px; border-radius:12px; overflow:hidden;
  background:#fff; border:1px solid rgba(90,70,51,.08);
  flex: 0 0 44px;
}
.testimonial-avatar img{ width:100%; height:100%; object-fit:cover; display:block; }
.testimonial-name{ font-weight:800; color:var(--brown); margin:0; font-size:1rem; }
.testimonial-meta{ color:#6b5c4d; font-size:.9rem; }

/* چیپ تأیید شبیه market */
.testimonial-chip{
  margin-inline-start:auto;
  background:#0bb07b; color:#fff; font-weight:700; font-size:.75rem;
  padding:.2rem .55rem; border-radius:999px;
  box-shadow:0 8px 18px rgba(11,176,123,.25);
  display:inline-flex; align-items:center; gap:.25rem;
}
.testimonial-chip i{ font-size:1rem; }

/* بدنه نقل‌قول */
.testimonial-body{ padding: .25rem .95rem 1.05rem; position:relative; }
.testimonial-quote{
  color:#3a3a3a; line-height:1.9; margin: .35rem 0 .65rem;
  /* جلوگیری از کشیده‌شدن متن */
  word-break: break-word;
}

/* فوتر کارت: امتیاز + CTA روحی */
.testimonial-foot{
  margin-top:auto; padding: 0 .95rem .95rem;
  display:flex; align-items:center; justify-content:space-between; gap:.75rem;
}
.rating{ display:inline-flex; align-items:center; gap:.2rem; color:#e7c766; }
.rating i{ font-size:1.05rem; }
.testimonial-cta.btn-ghost{
  display:inline-flex; align-items:center; gap:.25rem;
  padding:.4rem .7rem; border-radius:12px;
  background:#fff; border:1px solid rgba(90,70,51,.12);
  color:#5a4633; text-decoration:none; font-weight:700;
  transition:.15s ease; white-space:nowrap;
}
.testimonial-cta.btn-ghost:hover{ background:#f6efe7; border-color: rgba(90,70,51,.22); }

/* دات‌ها شبیه مارکت */
.testimonials-swiper .swiper-pagination{
  position:relative; margin-top: .9rem;
}
.testimonials-swiper .swiper-pagination-bullet{
  width:6px; height:6px; background:#c9bfb4; opacity:.8; margin:0 .25rem !important;
}
.testimonials-swiper .swiper-pagination-bullet-active{
  width:18px; border-radius:999px; background: var(--accent); opacity:1;
}

/* فلش‌ها داخل ظرف و clickable */
.testimonials-swiper .swiper-button-prev,
.testimonials-swiper .swiper-button-next{
  color:#5a4633; width:36px; height:36px; border-radius:12px;
  background:#fff; border:1px solid rgba(90,70,51,.12);
  box-shadow:0 8px 18px rgba(0,0,0,.06);
  z-index:5; pointer-events:auto;
  top: 40%;                         /* داخل ظرف؛ وسط تقریبی */
}
.testimonials-swiper .swiper-button-prev{ inset-inline-start: .25rem; inset-inline-end: auto; }
.testimonials-swiper .swiper-button-next{ inset-inline-end: .25rem; inset-inline-start: auto; }
.testimonials-swiper .swiper-button-prev:after,
.testimonials-swiper .swiper-button-next:after{ font-size:16px; font-weight:900; }
.testimonials-swiper .swiper-button-prev:hover,
.testimonials-swiper .swiper-button-next:hover{ background:#f6efe7; }

/* اگر قبلاً Masonry داشتی، غیر‌فعال تا مزاحم Carousel نشه */
.testimonial-masonry{ display:none !important; }
.testimonials-swiper .swiper-button-prev,
.testimonials-swiper .swiper-button-next{
  display: none !important;
}
/* 1) حذف خط مرزی و سایه‌ی هدر */
.header-glass{ border-bottom: none !important; }
.header.shadow-sm{ box-shadow: none !important; }

/* 2) اگر هنوز یک درز 1px می‌بینی، بک‌گراند هیرو رو 1px ببَر زیر هدر */
.hero--pattern .hero-bg{
  position:absolute; left:0; right:0; bottom:0;
  top:-1px; /* درز احتمالی از بین می‌رود */
}

/* 3) اطمینان از نبود فاصله‌ی ناخواسته بین هدر ثابت و هیرو */
.hero--pattern{ margin-top: 0 !important; }
/* ===== Header buttons tidy ===== */
.header .d-flex.align-items-center.gap-2{ gap:.5rem; }

/* اندازه و تایپوگرافی یکدست */
.header .btn{
  height:42px;
  padding:0 14px;
  border-radius:12px;
  font-weight:800;
  letter-spacing:.1px;
  display:inline-flex; align-items:center; justify-content:center;
  line-height:1; /* جلوگیری از کشیدگی عمودی */
}

/* آیکن کنار متن (در RTL آیکن سمت چپ متن قرار می‌گیرد) */
.header .btn i{ font-size:1rem; margin-inline-start:.35rem; }

/* استایل واضح‌تر برای outline */
.header .btn-outline-dark{
  border:1px solid rgba(90,70,51,.18);
  color:var(--brown);
  background:#fff;
}
.header .btn-outline-dark:hover{
  background:var(--brown);
  color:#fff;
  border-color:var(--brown);
}

/* دکمه‌ی کاراملی */
.header .btn-accent{
  background:var(--accent);
  color:#fff;
  border:none;
  box-shadow:0 6px 16px rgba(216,168,107,.25);
}
.header .btn-accent:hover{ filter:brightness(.96); }

/* فاصلهٔ عمودی هدر برای فیت‌شدن دکمه‌ها و لوگو */
.header.header-glass .container{ padding-block: .55rem; }

/* دکمه‌ی منوی موبایل هم‌قد دکمه‌ها شود */
.mobile-nav-toggle{
  width:42px; height:42px;
  border-radius:12px;
  border:1px solid rgba(90,70,51,.18)!important;
  display:none;
}
@media (max-width: 991.98px){
  .mobile-nav-toggle{ display:inline-flex; align-items:center; justify-content:center; }
}

/* لوگو کمی جمع‌وجور برای هم‌راستایی بهتر */
.header .logo-img{ height:40px; }
/* ===== Contact Minimal ===== */
.contact-minimal{ padding-top: 4rem; }
.contact-card{
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(90,70,51,.10);
  box-shadow: 0 16px 40px rgba(0,0,0,.06);
  padding: 18px;
}
@media (min-width:576px){ .contact-card{ padding: 22px; } }
@media (min-width:992px){ .contact-card{ padding: 26px; } }

.contact-head h2{ color: var(--brown); font-weight: 900; }
.contact-head p{ color:#7a6a59; }

/* فیلدهای تمیز */
.form-control-clean{
  background:#fff;
  border:1px solid rgba(90,70,51,.16);
  border-radius: 14px;
  padding:.65rem .9rem;
  box-shadow: 0 4px 14px rgba(0,0,0,.03);
}
.form-control-clean:focus{
  border-color: var(--accent);
  box-shadow: 0 0 0 .2rem rgba(216,168,107,.20);
}
.form-label{ font-weight:700; color:var(--brown); }

/* لِی‌اوت */
.contact-minimal .btn-accent{
  border-radius: 12px;
  box-shadow: 0 8px 18px rgba(216,168,107,.25);
}
.modal-content { border-radius: 1rem; }
.modal-header h6 { font-weight: 700; }
/* ===== Market Swiper Fix (RTL + overflow) ===== */
.market-swiper{
  /* مهم: برای اینکه Swiper تو RTL دیوونه نشه */
  direction: ltr;

  /* اگر جایی استایل‌ها overflow رو دستکاری کرده باشند، اینجا قفلش می‌کنیم */
  overflow: hidden;

  /* جای کافی برای pagination */
  padding-bottom: 2.25rem;
}

/* متن/کارت‌ها داخل اسلایدر همچنان RTL بماند */
.market-swiper .market-card,
.market-swiper .market-body{
  direction: rtl;
}

/* اسلایدها قدشان براساس محتوا باشد و داخل Grid/Width نشکنند */
.market-swiper .swiper-slide{
  height: auto;
  display: flex;
}

/* خود کارت: گرد و یکپارچه، هیچ چیزی بیرون نزند */
.market-card{
  width: 100%;
  height: 100%;
  overflow: hidden;
  border-radius: 1rem; /* اگر از جای دیگه میاد، همین اوورش می‌کنه */
}

/* کاور: نسبت تصویر ثابت + مخفی کردن بیرون‌زدگی */
.market-cover{
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;   /* می‌تونی 16/9 هم بذاری */
  overflow: hidden;
}

/* عکس: دقیقاً داخل کاور فیت شود */
.market-cover img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}
/* ===== Pretty Phone Input (Auth) ===== */
.pp-field { margin-bottom: 1rem; }

.pp-label{
  font-weight: 800;
  color: var(--brown);
  margin-bottom: .45rem;
  display:block;
}

.pp-phone{
  display:flex;
  align-items:stretch;
  gap:10px;
}

.pp-phone-icon{
  width:46px;
  min-width:46px;
  border-radius:14px;
  display:grid;
  place-items:center;
  background: linear-gradient(135deg, var(--accent), #e6b97e);
  color:#fff;
  box-shadow: 0 10px 22px rgba(216,168,107,.25);
}

.pp-phone-box{
  flex:1;
  background:#fff;
  border:1px solid rgba(90,70,51,.16);
  border-radius:14px;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  padding: 0 12px;
  display:flex;
  align-items:center;
  transition: .15s ease;
}

.pp-phone:focus-within .pp-phone-box{
  border-color: var(--accent);
  box-shadow: 0 0 0 .2rem rgba(216,168,107,.18);
}

.pp-phone-input{
  width:100%;
  border:0;
  outline:0;
  background:transparent;
  padding: 14px 2px;
  font-weight: 800;
  font-size: 1.05rem;
  letter-spacing: .02em;
  font-variant-numeric: tabular-nums;
  direction:ltr;
}

.pp-hint{
  margin-top: .45rem;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  color:#8f7f70;
  font-size:.9rem;
}

.pp-status{
  font-weight:900;
  white-space:nowrap;
}

.pp-status.ok{ color:#19b66a; }
.pp-status.bad{ color:#dc3545; }

/* وقتی Django ارور داد */
.pp-error{
  margin-top:.45rem;
  background:#fff;
  border:1px solid rgba(220,53,69,.25);
  color:#a2202c;
  border-radius:12px;
  padding:.5rem .75rem;
  font-size:.9rem;
}
