/* Unified Rastan identity. Participating surfaces opt in; other portals keep their own theme. */
@font-face {
  font-family: "Vazirmatn";
  src: url("/assets/fonts/vazirmatn.woff2") format("woff2");
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
}
.rastan-ui {
  --rst-accent: #6f41bd;
  --rst-accent-hover: #59309f;
  --rst-ink: #282035;
  --rst-muted: #6d6579;
  --rst-line: #e8e3ed;
  --rst-soft: #f1ecf8;
  --rst-surface: #ffffff;
  --rst-bg: #faf9fc;
  --rst-positive: #257758;
  --rst-danger: #a82940;
  --rst-radius: 18px;
  --rst-shadow: 0 14px 40px rgb(57 36 82 / 5%);
  --brand: var(--rst-accent);
  --ink: var(--rst-ink);
  --muted: var(--rst-muted);
  --line: var(--rst-line);
  --soft: var(--rst-soft);
  color-scheme: light;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  color: var(--rst-ink);
  background: var(--rst-bg);
  line-height: 1.8;
}
.rastan-ui *, .rastan-ui *::before, .rastan-ui *::after { box-sizing: border-box; }
.rastan-ui [hidden] { display: none !important; }
.rastan-ui button, .rastan-ui input, .rastan-ui select, .rastan-ui textarea { font-family: inherit; }
.rastan-ui .rst-icon { display: inline-block; vertical-align: middle; flex: 0 0 auto; inline-size: 18px; block-size: 18px; color: currentColor; }
.rastan-ui [data-rastan-icon] { display: inline-flex; align-items: center; justify-content: center; flex: 0 0 auto; }
html[dir="rtl"] .rastan-ui .rst-icon--directional { transform: scaleX(-1); }
.rastan-ui .rst-label { min-inline-size: 0; }
.rastan-ui .rst-brand { display: inline-flex; gap: 9px; align-items: center; color: var(--rst-ink); text-decoration: none; font-size: 24px; font-weight: 800; letter-spacing: -.5px; }
.rastan-ui .rst-brand-mark { display: inline-grid; place-items: center; inline-size: 33px; block-size: 33px; background: var(--rst-accent); color: #fff; border-radius: 11px; font-size: 23px; font-weight: 800; line-height: 1; }
.rastan-ui .rst-brand-mark.rst-company-logo {
  display: block;
  width: 56px;
  height: 56px;
  inline-size: 56px;
  block-size: 56px;
  object-fit: contain;
  flex-shrink: 0;
  background: transparent;
  border-radius: 0;
}
@media (max-width: 767px) {
  .rastan-ui .rst-brand-mark.rst-company-logo {
    width: 48px;
    height: 48px;
    inline-size: 48px;
    block-size: 48px;
  }
}
.rastan-ui .rst-avatar { display: inline-grid; place-items: center; inline-size: 32px; block-size: 32px; background: var(--rst-soft); color: var(--rst-accent); border-radius: 50%; font-size: 12px; font-weight: 700; flex: 0 0 auto; }
.rastan-ui .rst-profile { position: relative; }
.rastan-ui .rst-profile-trigger { display: inline-flex; align-items: center; justify-content: center; gap: 9px; min-block-size: 44px; border: 1px solid var(--rst-line); border-radius: 50px; padding: 7px 12px; background: var(--rst-surface); color: var(--rst-ink); font-size: 13px; }
.rastan-ui .rst-profile-panel { position: absolute; inset-block-start: calc(100% + 10px); inset-inline-end: 0; inline-size: 256px; max-inline-size: calc(100vw - 32px); padding: 8px; border: 1px solid var(--rst-line); border-radius: 16px; background: var(--rst-surface); color: var(--rst-ink); box-shadow: 0 14px 45px rgb(51 36 75 / 12%); z-index: 60; }
.rastan-ui .rst-profile-heading { padding: 10px 12px 12px; border-block-end: 1px solid var(--rst-line); margin-block-end: 5px; font-size: 13px; overflow-wrap: anywhere; }
.rastan-ui .rst-profile-heading small { display: block; color: var(--rst-muted); font-size: 12px; font-weight: 400; }
.rastan-ui .rst-profile-link { display: flex; align-items: center; gap: 10px; inline-size: 100%; min-block-size: 44px; border: 0; border-radius: 8px; padding: 10px 12px; background: transparent; color: var(--rst-ink); text-decoration: none; text-align: start; font-size: 13px; line-height: 1.8; }
.rastan-ui .rst-profile-link:hover { background: var(--rst-soft); }
.rastan-ui .rst-profile-link:disabled { opacity: .6; }
.rastan-ui :focus-visible { outline: 3px solid #1768bc; outline-offset: 3px; }
.rastan-ui .rst-visually-hidden { position: absolute; inline-size: 1px; block-size: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
@media (max-width: 540px) {
  .rastan-ui .rst-brand { font-size: 22px; }
  .rastan-ui .rst-brand-mark { inline-size: 29px; block-size: 29px; border-radius: 9px; font-size: 20px; }
  .rastan-ui input:not([type="checkbox"]), .rastan-ui select, .rastan-ui textarea { font-size: 16px; }
}
@media (prefers-reduced-motion: reduce) { .rastan-ui *, .rastan-ui *::before, .rastan-ui *::after { scroll-behavior: auto !important; } }
/* One public identity throughout purchase, security and setup. */
.rastan-ui .buyer-header { display:flex; align-items:center; justify-content:space-between; gap:28px; max-inline-size:1180px; min-block-size:96px; padding:22px 28px; margin-inline:auto; border-block-end:1px solid var(--rst-line); }
.rastan-ui .buyer-header .rst-brand { flex-shrink:0; }
.rastan-ui .buyer-header .rst-brand-mark { inline-size:40px; block-size:40px; border-radius:12px; }
.rastan-ui .buyer-header .buyer-brand-name { display:grid; gap:0; line-height:1.3; }
.rastan-ui .buyer-brand-name strong { font-size:24px; }
.rastan-ui .buyer-header .buyer-brand-name small { font-size:9px; letter-spacing:.19em; color:var(--rst-muted); padding-block-start:4px; }
.rastan-ui .buyer-header-nav { display:flex; gap:24px; margin-inline-end:auto; }
.rastan-ui .buyer-header-nav a { display:inline-flex; align-items:center; min-block-size:44px; color:var(--rst-muted); text-decoration:none; font-size:13px; }
.rastan-ui .buyer-header-tools { display:flex; gap:18px; align-items:center; }
.rastan-ui .buyer-header .languages { display:flex; gap:0; padding:2px; border:1px solid var(--rst-line); border-radius:10px; }
.rastan-ui .buyer-header .languages button { margin:0; min-block-size:40px; min-inline-size:48px; padding:5px 8px; border:0; background:transparent; color:var(--rst-muted); font-size:12px; }
.rastan-ui .buyer-header .languages button[aria-pressed=true] { background:var(--rst-soft); color:var(--rst-accent); }
.rastan-ui .buyer-help-dialog { inline-size:min(560px,calc(100% - 32px)); max-block-size:calc(100dvh - 48px); overflow:auto; padding:28px; border:1px solid var(--rst-line); border-radius:22px; background:var(--rst-surface); color:var(--rst-ink); font:inherit; }
.rastan-ui .buyer-help-dialog::backdrop { background:rgb(40 32 53 / 30%); }
.rastan-ui .buyer-help-dialog ol { display:block; padding-inline-start:24px; }
.rastan-ui .buyer-help-dialog li { padding-block:6px; }
.rastan-ui .buyer-help-dialog button { min-block-size:44px; background:var(--rst-accent); color:white; border:0; padding:10px 22px; border-radius:12px; }
@media(max-width:760px) {
  .rastan-ui .buyer-header { flex-wrap:wrap; padding:16px; gap:12px; }
  .rastan-ui .buyer-header-tools { gap:10px; margin-inline-start:auto; }
  .rastan-ui .buyer-header-nav { order:3; inline-size:100%; border-block-start:1px solid var(--rst-line); padding-block-start:6px; gap:22px; }
}
@media(max-width:420px) {
  .rastan-ui .buyer-header { gap:10px; }
  .rastan-ui .buyer-brand-name strong { font-size:21px; }
  .rastan-ui .buyer-header .rst-brand-mark { inline-size:30px; block-size:30px; border-radius:9px; }
  .rastan-ui .buyer-header-tools { gap:7px; }
  .rastan-ui .buyer-header .rst-profile-trigger { padding:6px 9px; min-inline-size:44px; }
  .rastan-ui .buyer-header .rst-profile-trigger > [data-buyer-label] { position:absolute; inline-size:1px; block-size:1px; overflow:hidden; clip-path:inset(50%); }
  .rastan-ui .buyer-header .rst-profile-trigger > [data-rastan-icon=chevron] { display:none; }
  .rastan-ui .buyer-help-dialog { padding:22px; }
}
