:root {
  --wz-green: #1b7261;
  --wz-green-dark: #145446;
  --wz-lime: #7cb342;
  --wz-navy: #0d1240;
  --wz-soft: #eceff2;
  --wz-text: #54595f;
}

html, body { font-family: 'Vazirmatn', Tahoma, sans-serif; color: var(--wz-text); }
h1, h2, h3, h4, h5 { color: var(--wz-navy); font-weight: 800; }
a { color: var(--wz-green); }
.btn-primary { background: var(--wz-green); border-color: var(--wz-green); }
.btn-primary:hover { background: var(--wz-green-dark); border-color: var(--wz-green-dark); }
.btn-outline-primary { color: var(--wz-green); border-color: var(--wz-green); }
.btn-outline-primary:hover { background: var(--wz-green); border-color: var(--wz-green); }
.text-primary { color: var(--wz-green) !important; }
.bg-primary-subtle { background: #1b726122 !important; }

/* legacy blocks used by inner pages */
.category-card { border: 1px solid #eee; border-radius: 14px; padding: 24px; text-align: center; transition: all .2s ease; height: 100%; }
.category-card:hover { box-shadow: 0 8px 24px rgba(0,0,0,.08); transform: translateY(-4px); }
.timeline { position: relative; padding-right: 30px; border-right: 3px solid #1b726133; }
.timeline-item { position: relative; padding-bottom: 32px; }
.timeline-item::before { content: ""; position: absolute; right: -39px; top: 4px; width: 16px; height: 16px; border-radius: 50%; background: var(--wz-green); border: 3px solid #fff; box-shadow: 0 0 0 2px #1b726133; }
.vendor-card { border: 0; box-shadow: 0 8px 24px rgba(13,18,64,.07); border-radius: 14px; overflow: hidden; }
.vendor-card img { height: 200px; object-fit: cover; }
#vendorMap { height: 350px; border-radius: 12px; }

/* top bar + header */
.wz-topbar { background: var(--wz-green); color: #fff; font-size: .85rem; padding: 10px 0; }
.wz-topbar i { margin-left: 6px; }
.wz-header { background: #fff; box-shadow: 0 2px 14px rgba(13,18,64,.06); position: sticky; top: 0; z-index: 1030; }
.wz-header .nav-link { color: var(--wz-navy); font-weight: 600; }
.wz-header .nav-link:hover { color: var(--wz-green); }
.wz-brand { font-weight: 900; font-size: 1.6rem; color: var(--wz-navy); text-decoration: none; }
.wz-brand span { color: var(--wz-green); }

/* page banner (inner pages) */
.wz-page-banner { background: var(--wz-soft); padding: 46px 0; text-align: center; }
.wz-page-banner h1 { font-size: 2rem; margin-bottom: 6px; }
.wz-crumbs { font-size: .9rem; color: var(--wz-text); }
.wz-crumbs a { text-decoration: none; }

/* buttons */
.wz-btn { display: inline-block; background: var(--wz-green); color: #fff; font-weight: 700; padding: 13px 30px; border-radius: 4px; text-decoration: none; border: 0; transition: background .15s; }
.wz-btn:hover { background: var(--wz-green-dark); color: #fff; }
.wz-btn-light { background: #fff; color: var(--wz-navy); }
.wz-btn-light:hover { background: var(--wz-lime); color: #fff; }

.wz-eyebrow { color: var(--wz-green); font-weight: 700; margin-bottom: 8px; }
.wz-head h2, .wz-h2 { font-size: 2rem; line-height: 1.5; }
.wz-section { padding: 90px 0; }
.wz-soft { background: var(--wz-soft); }

/* hero */
.wz-hero { background: #eef4fb; padding: 80px 0; }
.wz-hero-title { font-size: clamp(2rem, 4vw, 3.1rem); line-height: 1.45; margin-bottom: 18px; }
.wz-lead { margin-bottom: 28px; max-width: 520px; }
.wz-collage { position: relative; min-height: 380px; }
.wz-tile { position: absolute; border-radius: 6px; display: flex; align-items: center; justify-content: center; color: #fff; font-size: 3rem; box-shadow: 0 14px 34px rgba(13,18,64,.15); }
.wz-tile-a { right: 0; top: 0; width: 46%; height: 240px; background: linear-gradient(135deg, var(--wz-green), #3aa08b); }
.wz-tile-b { right: 0; bottom: 0; width: 46%; height: 190px; background: linear-gradient(135deg, var(--wz-lime), #a5d56a); }
.wz-tile-c { left: 0; top: 70px; width: 50%; height: 240px; background: linear-gradient(135deg, var(--wz-navy), #3a4380); }
.wz-play { position: absolute; top: 50%; right: 50%; transform: translate(50%, -50%); width: 78px; height: 78px; border-radius: 50%; background: var(--wz-green); color: #fff; display: flex; align-items: center; justify-content: center; font-size: 2.2rem; box-shadow: 0 0 0 12px rgba(255,255,255,.8); text-decoration: none; }
.wz-badge-float { position: absolute; left: 10px; bottom: 26px; background: var(--wz-lime); color: #fff; padding: 10px 18px; border-radius: 30px; font-weight: 700; font-size: .85rem; }

/* stats */
.wz-stats { background: var(--wz-green); color: #fff; padding: 46px 0; }
.wz-stats strong { display: block; font-size: 2.2rem; font-weight: 900; }
.wz-stats span { opacity: .85; }

/* features */
.wz-feature { text-align: center; padding: 34px 24px; background: #fff; border-radius: 8px; box-shadow: 0 10px 30px rgba(13,18,64,.07); height: 100%; }
.wz-feature i { font-size: 2.4rem; color: var(--wz-green); }
.wz-feature h5 { margin: 14px 0 8px; }

/* about */
.wz-about-box { background: var(--wz-green); color: #fff; border-radius: 8px; min-height: 320px; display: flex; flex-direction: column; align-items: center; justify-content: center; font-weight: 700; font-size: 1.1rem; }
.wz-about-box span { font-size: 3.4rem; font-weight: 900; }
.wz-chip { background: #fff; border-radius: 30px; padding: 8px 16px; font-weight: 600; color: var(--wz-navy); box-shadow: 0 4px 12px rgba(13,18,64,.06); }
.wz-chip i { color: var(--wz-green); margin-left: 6px; }

/* services */
.wz-service { display: block; text-decoration: none; background: #fff; border: 1px solid #e6eaee; border-radius: 8px; padding: 32px 24px; height: 100%; transition: all .2s; }
.wz-service:hover { border-color: var(--wz-green); box-shadow: 0 14px 34px rgba(27,114,97,.14); transform: translateY(-4px); }
.wz-service i { font-size: 2.2rem; color: var(--wz-green); }
.wz-service h5 { margin: 14px 0 8px; }
.wz-service p { color: var(--wz-text); font-size: .9rem; }
.wz-more { color: var(--wz-green); font-weight: 700; text-decoration: none; }

/* banner */
.wz-banner { background: linear-gradient(120deg, rgba(13,18,64,.92), rgba(27,114,97,.9)); padding: 90px 0; color: #fff; }
.wz-banner h2 { color: #fff; margin-bottom: 24px; }

/* plans */
.wz-plan { background: #fff; border: 1px solid #e6eaee; border-radius: 8px; padding: 34px 28px; text-align: center; height: 100%; }
.wz-plan-featured { background: var(--wz-green); color: #fff; box-shadow: 0 18px 40px rgba(27,114,97,.3); }
.wz-plan-featured h5, .wz-plan-featured .wz-price { color: #fff; }
.wz-price { font-size: 1.6rem; font-weight: 800; color: var(--wz-green); margin: 12px 0; }
.wz-plan ul { list-style: none; padding: 0; margin: 0 0 24px; }
.wz-plan li { padding: 8px 0; border-bottom: 1px dashed rgba(128,128,128,.3); }

/* team */
.wz-member { text-align: center; }
.wz-avatar { width: 130px; height: 130px; border-radius: 50%; background: #fff; color: var(--wz-green); display: flex; align-items: center; justify-content: center; font-size: 3rem; margin: 0 auto 14px; box-shadow: 0 10px 26px rgba(13,18,64,.1); }
.wz-member span { color: var(--wz-text); font-size: .9rem; }

/* testimonials */
.wz-testimonial { background: #fff; border-radius: 8px; padding: 30px; box-shadow: 0 10px 30px rgba(13,18,64,.07); height: 100%; }
.wz-testimonial strong { display: block; color: var(--wz-navy); }
.wz-testimonial span { font-size: .85rem; }

/* cta */
.wz-cta { background: var(--wz-green); color: #fff; padding: 64px 0; }
.wz-cta h2 { color: #fff; font-size: 1.7rem; }
.wz-cta p { margin: 0; opacity: .9; }

/* blog */
.wz-blog { background: #fff; border-radius: 8px; padding: 26px; box-shadow: 0 10px 30px rgba(13,18,64,.07); height: 100%; }
.wz-blog-date { color: var(--wz-green); font-size: .82rem; font-weight: 700; margin-bottom: 8px; }
.wz-blog h5 a { color: var(--wz-navy); text-decoration: none; }

/* footer */
.wz-footer { background: var(--wz-navy); color: #c9cde6; padding: 70px 0 0; margin-top: 0; }
.wz-footer h6 { color: #fff; margin-bottom: 16px; }
.wz-footer a { color: #c9cde6; text-decoration: none; }
.wz-footer a:hover { color: var(--wz-lime); }
.wz-footer-bottom { border-top: 1px solid rgba(255,255,255,.12); margin-top: 40px; padding: 20px 0; font-size: .85rem; }
