/* Start custom CSS *//* Light theme for questionnaire forms only (design system 2.0.0: forms open light, moon / sun toggle). CSS exception (standards §6): Elementor variables hold one value; light values from tokens.json modes. */
:root.mj-theme--light {
  --background: #FFFFFF; --surface: #F5F5F5; --border: #D4D4D4; --border-strong: #8F8F8F;
  --text: #0A0A0A; --text-muted: #6B6B6B; --text-subtle: #8F8F8F; --text-disabled: #B3B3B3;
  --action: #000000; --on-action: #FFFFFF; --focus: #000000;
  --error: #C4251B; --success: #067647; --overlay: rgba(255, 255, 255, 0.6);
  /* Old name still in use: point it at the 2.0.0 value (others retired 2026-10-23). */
  --text-secondary: #6B6B6B;
  color-scheme: light;
}
:root:not(.mj-theme--light) { color-scheme: dark; }
body { background-color: var(--background); }

/* Selected radio = ring with a 10 px dot; focus = 1 px colour change, no ring (shape step). CSS exception (standards §6): Elementor classes do not support :checked or :focus-visible; Elementor's own inner dot is hidden. */
body .elementor .mj-radio:checked { border-color: var(--action); background-color: transparent; box-shadow: inset 0 0 0 4px var(--background), inset 0 0 0 10px var(--action); }
body .elementor .mj-checkbox:checked { border-color: var(--action); background-color: var(--action); }
body .elementor .mj-radio::before { display: none; }
body .elementor .mj-radio:focus-visible, body .elementor .mj-checkbox:focus-visible { outline: none; border-color: var(--focus); }

/* File upload button: the standard pseudo-element is in the Custom Code snippet (Elementor rewrites a keyword and strips backslashes in page CSS). */
.mj-field::-webkit-file-upload-button {
  font-family: var(--font-body); font-size: var(--size-sm); font-weight: 500; color: var(--text); background: transparent;
  border: 1px solid var(--border-strong); border-radius: 0; padding: var(--space-xs) var(--space-sm); margin-inline-end: var(--space-sm); cursor: pointer;
}
.mj-field::-webkit-file-upload-button:hover { border-color: var(--text); }

/* Persian form. CSS exception (standards §6): Elementor variables hold one value for the whole site; the Persian page swaps them here. Yekan Bakh FaNum: headings 700, emphasis 600, body 400; -0.5 px on all Persian text (tracking tokens are not shared); taller lines. html:root outranks the site's :root variables. */
html:root {
  --font-heading: YekanBakhFaNum; --font-body: YekanBakhFaNum; --font-label: YekanBakhFaNum;
  --letter-spacing-display: -0.5px; --letter-spacing-h1: -0.5px; --letter-spacing-h2: -0.5px; --letter-spacing-h3: -0.5px; --letter-spacing-h4: -0.5px; --letter-spacing-lead: -0.5px; --letter-spacing-label: -0.5px; --letter-spacing-heading: -0.5px;
  --line-height-display: 1.4; --line-height-h1: 1.4; --line-height-h2: 1.45; --line-height-h3: 1.5; --line-height-h4: 1.5; --line-height-lead: 1.7; --line-height-body: 1.9; --line-height-ui: 1.7;
  --weight-semibold: 700; --weight-medium: 600;
}
body { direction: rtl; letter-spacing: -0.5px; }
body .elementor .mj-form-title, body .elementor .mj-step-title, body .elementor .mj-done-title, body .elementor .mj-module-title { font-weight: 700; }
/* Email, phone and web addresses are typed left to right. */
body .elementor input[type="email"], body .elementor input[type="tel"], body .elementor input[type="url"] { direction: ltr; text-align: right; }
[data-id="37e0fd70"] { direction: ltr; text-align: right; letter-spacing: normal; }
/* Mirror the hairlines (drawn as inset box-shadows, which do not flip in RTL). */
body .elementor .mj-form-aside { box-shadow: inset 1px 0 0 0 var(--border); }
body .elementor .mj-sub-options { box-shadow: inset -1px 0 0 0 var(--border); }
/* Tablet and phone: the side column is a plain intro, no line (2026-10-23). */
@media (max-width: 1024px) { body .elementor .mj-form-aside { box-shadow: none; } }
[data-id="20d92d69"] { transform: scaleX(-1); }/* End custom CSS */