@import url('https://fonts.googleapis.com/css2?family=Vazirmatn:wght@400;500;600;700&display=swap');

:root{
  --c-primary:#0b3d5c;
  --c-primary-dark:#082c43;
  --c-secondary:#b8973f;
  --c-accent:#e0621d;
  --c-bg:#f6f7f9;
  --c-surface:#ffffff;
  --c-text:#1d2530;
  --c-text-muted:#5c6773;
  --c-border:#e3e7ec;
  --radius:5px;
  --container:900px;
}

*{box-sizing:border-box}
html{direction:rtl}
body{
  margin:0;
  font-family:'Vazirmatn',Tahoma,sans-serif;
  background:var(--c-bg);
  color:var(--c-text);
  line-height:1.8;
  font-size:16px;
}
a{color:var(--c-primary);text-decoration:none}
a:hover{color:var(--c-accent)}
img{max-width:100%;display:block}

.container{max-width:var(--container);margin:0 auto;padding:0 16px}

/* ---------- Header ---------- */
.site-header{background:var(--c-primary);color:#fff}
.site-header .container{display:flex;align-items:center;justify-content:space-between;padding:16px}
.site-header .logo{font-weight:700;font-size:20px;color:#fff}
.site-header .logo small{display:block;font-weight:400;font-size:12px;opacity:.75}
.main-nav ul{list-style:none;display:flex;gap:20px;margin:0;padding:0}
.main-nav a{color:#fff;opacity:.9;font-size:14px}
.main-nav a:hover{opacity:1;color:var(--c-secondary)}

/* ---------- Hero / search ---------- */
.hero{background:linear-gradient(135deg,var(--c-primary) 0%,var(--c-primary-dark) 100%);color:#fff;padding:48px 0}
.hero h1{font-size:26px;margin:0 0 10px}
.hero p{opacity:.85;margin:0 0 24px}
.search-form{display:flex;gap:8px;max-width:560px}
.search-form input[type=text]{flex:1;padding:12px 14px;border:0;border-radius:var(--radius);font-family:inherit}
.search-form button{background:var(--c-accent);color:#fff;border:0;padding:12px 20px;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-weight:600}

/* ---------- Cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:16px;margin:24px 0}
.card{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow .15s}
.card:hover{box-shadow:0 4px 14px rgba(11,61,92,.1)}
.card .thumb{aspect-ratio:16/10;background:#eef1f4;object-fit:cover;width:100%}
.card .body{padding:14px}
.card h3{margin:0 0 6px;font-size:16px}
.card p{margin:0;color:var(--c-text-muted);font-size:13.5px}
.badge{display:inline-block;background:var(--c-secondary);color:#fff;font-size:11px;padding:2px 8px;border-radius:var(--radius);margin-inline-end:4px}
.badge.outline{background:transparent;border:1px solid var(--c-border);color:var(--c-text-muted)}

/* ---------- Section titles ---------- */
.section-title{display:flex;align-items:center;justify-content:space-between;margin:32px 0 12px}
.section-title h2{font-size:19px;margin:0}
.section-title a{font-size:13px}

/* ---------- Provider detail ---------- */
.provider-hero{display:flex;gap:20px;align-items:flex-start;background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:20px;margin:20px 0}
.provider-hero img{width:140px;height:140px;object-fit:cover;border-radius:var(--radius)}
.provider-hero h1{margin:0 0 6px;font-size:22px}
.meta-list{list-style:none;padding:0;margin:12px 0 0;font-size:14px;color:var(--c-text-muted)}
.meta-list li{margin-bottom:4px}
.gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;margin:16px 0}
.gallery img{border-radius:var(--radius);aspect-ratio:1/1;object-fit:cover}

/* ---------- Forms ---------- */
.form-field{margin-bottom:16px}
.form-field label{display:block;margin-bottom:6px;font-size:14px;font-weight:500}
.form-field input,.form-field textarea,.form-field select{
  width:100%;padding:11px 12px;border:1px solid var(--c-border);border-radius:var(--radius);
  font-family:inherit;font-size:14px;background:#fff;
}
.btn{display:inline-block;background:var(--c-primary);color:#fff;border:0;padding:11px 22px;border-radius:var(--radius);cursor:pointer;font-family:inherit;font-size:14px;font-weight:600}
.btn:hover{background:var(--c-primary-dark);color:#fff}
.btn.accent{background:var(--c-accent)}

/* ---------- Pagination ---------- */
.ek-pagination{display:flex;gap:6px;margin:24px 0;flex-wrap:wrap}
.ek-pagination a{padding:8px 13px;border:1px solid var(--c-border);border-radius:var(--radius);font-size:13px;background:#fff}
.ek-pagination a.active{background:var(--c-primary);color:#fff;border-color:var(--c-primary)}

/* ---------- Footer ---------- */
.site-footer{background:var(--c-primary-dark);color:#cbd5df;margin-top:48px;padding:32px 0;font-size:13.5px}
.site-footer a{color:#e7edf2}
.site-footer .cols{display:flex;gap:32px;flex-wrap:wrap;margin-bottom:16px}
.site-footer .cols h4{color:#fff;font-size:14px;margin:0 0 10px}
.site-footer .cols ul{list-style:none;padding:0;margin:0}
.site-footer .cols li{margin-bottom:6px}
.site-footer .bottom{border-top:1px solid rgba(255,255,255,.1);padding-top:14px;opacity:.7}

/* ---------- Low-emphasis chrome (SEO contrast tactic) ---------- */
.chrome-low{opacity:.72;font-size:12.5px}

/* ---------- Misc ---------- */
.empty-state{padding:40px;text-align:center;color:var(--c-text-muted)}
.breadcrumbs{font-size:13px;color:var(--c-text-muted);margin:14px 0}
.breadcrumbs a{color:var(--c-text-muted)}
.alert{padding:12px 14px;border-radius:var(--radius);margin-bottom:16px;font-size:14px}
.alert.success{background:#e6f4ea;color:#137333}
.alert.error{background:#fce8e6;color:#a50e0e}

@media (max-width:600px){
  .provider-hero{flex-direction:column}
  .main-nav ul{gap:12px;flex-wrap:wrap}
}

/* =====================================================================
 * PHASE 2 — enterprise polish + new components
 * ===================================================================== */

/* sticky, slightly elevated header for a more "enterprise SaaS" feel */
.site-header{position:sticky;top:0;z-index:50;box-shadow:0 1px 3px rgba(0,0,0,.12)}

/* richer card hover + subtle top accent bar on hover (industrial/B2B cue) */
.card{position:relative}
.card::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--c-secondary);transform:scaleX(0);transform-origin:right;transition:transform .18s}
.card:hover::before{transform:scaleX(1)}
.card:hover{box-shadow:0 8px 20px rgba(11,61,92,.14);transform:translateY(-1px)}

/* FAQ accordion (category pages — visible content backing FAQPage schema) */
.faq-list{display:flex;flex-direction:column;gap:8px;margin:16px 0}
.faq-item{background:var(--c-surface);border:1px solid var(--c-border);border-radius:var(--radius);padding:12px 16px}
.faq-item summary{cursor:pointer;font-weight:600;font-size:14.5px}
.faq-item p{margin:10px 0 0;color:var(--c-text-muted);font-size:14px}

/* blog */
.article-body{font-size:16px;line-height:2}
.article-body p{margin:0 0 16px}

/* breadcrumbs separators already rely on literal "/" in markup — keep spacing tidy */
.breadcrumbs a + a{margin-inline-start:4px}

/* generic stat-card accent variants for dashboard */
.grid .card .body h3{font-size:26px;color:var(--c-primary);margin:0 0 4px}

/* subtle divider used between dashboard columns on wide screens */
@media (min-width:900px){
  .dashboard-cols{display:flex;gap:24px}
  .dashboard-cols > div{flex:1}
}
