/* =========================================================
   SHIFT.camp — Base v2.0 (۲ آبان ۱۴۰۵)
   نگاشت اجزای سراسری (Flatsome + گوتنبرگ) به توکن‌ها. وابسته به sc-tokens.
   فقط var(--sc-…)؛ هیچ مقدار دستی.
   ========================================================= */

/* ---------- ۱. فوکوس سراسری ---------- */
:where(a, button, input, select, textarea, summary, [tabindex], .button):focus-visible {
  outline: 2px solid var(--sc-focus);
  outline-offset: 2px;
}

/* ---------- ۲. دکمه‌ها — پایه ---------- */
.button:not(.icon):not(.circle),
input[type="submit"],
.wp-block-button__link {
  border-radius: var(--sc-radius-sm);
  font-weight: var(--sc-weight-bold);
  transition: var(--sc-transition);
}
/* دکمه‌ی pill نداریم */
.button.round:not(.icon):not(.circle) { border-radius: var(--sc-radius-sm); }

/* Filled (اقدام اصلی) */
.button.primary:not(.is-outline):not(.is-link):not(.is-underline):hover {
  background-color: var(--sc-primary-hover);
  box-shadow: none;
}

/* Tool (جستجو/ابزار) */
.button.secondary:not(.is-outline):not(.is-link):not(.is-underline):hover {
  background-color: var(--sc-accent-hover);
  box-shadow: none;
}
.button.secondary:not(.is-outline):not(.is-link):not(.is-underline):active {
  background-color: var(--sc-accent-pressed);
}

/* Outlined */
.button.is-outline { border-width: var(--sc-border-strong); }

/* Tonal (جدید) */
.button.sc-tonal,
.is-style-sc-tonal .wp-block-button__link {
  background-color: var(--sc-accent-container);
  color: var(--sc-on-accent-container);
  border: 0;
  box-shadow: none;
}
.button.sc-tonal:hover,
.is-style-sc-tonal .wp-block-button__link:hover {
  background-color: var(--sc-accent-container-hover);
  color: var(--sc-on-accent-container);
}

/* گوتنبرگ: پیش‌فرض = Filled، Outline = Outlined */
.wp-block-button__link {
  min-height: var(--sc-btn-h);
  padding: var(--sc-space-2) var(--sc-btn-px);
  font-size: var(--sc-label-l-size);
  line-height: 1.5;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--sc-space-2);
}
.wp-block-button:not(.is-style-outline):not(.is-style-sc-tonal) .wp-block-button__link:not(.has-background) {
  background-color: var(--sc-primary);
}
.wp-block-button:not(.is-style-outline):not(.is-style-sc-tonal) .wp-block-button__link:not(.has-text-color) {
  color: var(--sc-on-primary);
}
.wp-block-button:not(.is-style-outline):not(.is-style-sc-tonal) .wp-block-button__link:not(.has-background):hover {
  background-color: var(--sc-primary-hover);
}
.is-style-outline .wp-block-button__link {
  border: var(--sc-border-strong) solid var(--sc-ink);
  background-color: transparent;
}
.is-style-outline .wp-block-button__link:not(.has-text-color) { color: var(--sc-ink); }
.is-style-outline .wp-block-button__link:hover { background-color: var(--sc-surface); }

/* غیرفعال */
.button[disabled], .button.disabled, .button:disabled,
input[type="submit"]:disabled,
.wp-block-button__link[aria-disabled="true"] {
  opacity: var(--sc-disabled-opacity);
  cursor: not-allowed;
  pointer-events: none;
}

/* ---------- ۳. فیلدها ---------- */
:is(input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
    input[type="number"], input[type="password"], input[type="url"], textarea, select):not(.searchform *):not(.header-search-form *):not(.betterdocs-search-field):not([class*="betterdocs"] *) {
  border-radius: var(--sc-radius-sm);
  border: var(--sc-border) solid var(--sc-line);
  background-color: var(--sc-bg);
  box-shadow: none;
  transition: var(--sc-transition);
}
:is(input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
    input[type="number"], input[type="password"], input[type="url"], textarea, select):not(.searchform *):not(.header-search-form *):not(.betterdocs-search-field):not([class*="betterdocs"] *):hover {
  border-color: var(--sc-text);
}
:is(input[type="text"], input[type="email"], input[type="tel"], input[type="search"],
    input[type="number"], input[type="password"], input[type="url"], textarea, select):focus {
  border-color: var(--sc-focus);
  box-shadow: 0 0 0 3px var(--sc-focus-halo);
  outline: 0;
}
:is(input, textarea, select)[aria-invalid="true"]:not(#sc-none) { border-color: var(--sc-error); }

/* ---------- ۴. لینک و متن ---------- */
/* فقط لینک‌های درون متن (نه دکمه و منو) */
:is(.entry-content, .sp-wrap, .kh-test .entry-content) a:not([class]):hover { color: var(--sc-link-hover); }

mark:not([class*="has-"]), mark.has-inline-color {
  border-radius: var(--sc-radius-xs);
}

/* ---------- ۵. نشانه‌های نوشتاری (گوشه‌ی تیز = نوشتار، نه تعامل) ---------- */
/* کادر عنوان: یک کادر به اندازه‌ی متن */
.sc-mark {
  text-align: start;
  width: fit-content;
  max-width: 100%;
  background-color: var(--sc-mark-bg);
  color: var(--sc-on-mark);
  padding: var(--sc-mark-pad-y) var(--sc-mark-pad-x);
  border-radius: var(--sc-mark-radius);
}
/* هر خط کادر خودش: روی بلوک، متن داخلش کادر می‌گیرد */
.sc-mark.is-lines {
  background: none;
  padding: 0;
  width: auto;
  line-height: 1.6;
}
.sc-mark.is-lines > span,
.sc-mark.is-lines > mark,
.sc-mark.is-lines > strong {
  background-color: var(--sc-mark-bg);
  color: var(--sc-on-mark);
  padding: var(--sc-mark-pad-y) var(--sc-mark-pad-x);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
  border-radius: var(--sc-mark-radius);
}
.sc-mark.is-dark,
.sc-mark.is-lines.is-dark > * { background-color: var(--sc-mark-dark-bg); }
.sc-mark.is-muted,
.sc-mark.is-lines.is-muted > * { background-color: var(--sc-mark-muted-bg); color: var(--sc-on-mark-muted); }
.sc-mark.is-lines { background: none; }
:is(h1, h2, h3, h4, p).sc-mark { color: var(--sc-on-mark); }
:is(h1, h2, h3, h4, p).sc-mark.is-muted { color: var(--sc-on-mark-muted); }
:is(h1, h2, h3, h4, p).sc-mark.is-lines { color: var(--sc-on-mark); }

/* براکت: برچسب کوچک، عنوان ستون/فهرست، عنوان بخش برگه‌های برند */
.sc-bracket::before { content: "["; margin-inline-end: var(--sc-bracket-gap); font-weight: var(--sc-weight-bold); }
.sc-bracket::after  { content: "]"; margin-inline-start: var(--sc-bracket-gap); font-weight: var(--sc-weight-bold); }
.sc-eyebrow {
  font-size: var(--sc-body-s-size);
  font-weight: var(--sc-weight-bold);
  color: var(--sc-ink);
  margin-bottom: var(--sc-space-2);
}

/* ---------- ۶. چیپ و کارت (گوتنبرگ، سراسری) ---------- */
.sc-chip {
  display: inline-flex;
  align-items: center;
  gap: var(--sc-space-1);
  min-height: var(--sc-chip-h);
  padding: 0 var(--sc-space-3);
  border-radius: var(--sc-radius-pill);
  background-color: var(--sc-surface);
  color: var(--sc-text);
  font-size: var(--sc-label-s-size);
  font-weight: var(--sc-weight-bold);
  line-height: 1;
}
.sc-chip.is-active { background-color: var(--sc-primary); color: var(--sc-on-primary); }
.sc-chip.is-success { background-color: var(--sc-success-container); color: var(--sc-on-success-container); }
.sc-chip.is-error { background-color: var(--sc-error-container); color: var(--sc-on-error-container); }

.sc-card {
  background-color: var(--sc-bg);
  border: var(--sc-border) solid var(--sc-line);
  border-radius: var(--sc-radius-md);
  padding: var(--sc-card-pad);
}
.sc-card.is-interactive:hover { border-color: var(--sc-line-strong); }
.sc-card.is-muted { background-color: var(--sc-surface); border-color: transparent; }

/* ---------- ۷. دکمه روی زمینه‌ی تیره (inverse) ---------- */
/* Filled = سفید با متن ink · Outlined = حاشیه و متن سفید ۹۰٪ */
/* Flatsome رنگ .white را با !important می‌دهد؛ ناچار با !important */
.button.white:not(.is-outline):not(.is-link) {
  background-color: var(--sc-on-inverse);
  color: var(--sc-ink) !important;
  border-color: var(--sc-on-inverse);
}
.button.white:not(.is-outline):not(.is-link):hover {
  background-color: var(--sc-on-inverse-strong);
  color: var(--sc-ink) !important;
}
.button.white.is-outline:not(#sc-none),
:is(.sc-on-inverse, .shift-footer, .sp-support) .is-style-outline .wp-block-button__link:not(#sc-none) {
  color: color-mix(in srgb, var(--sc-on-inverse) 90%, transparent) !important;
  border: var(--sc-border-strong) solid color-mix(in srgb, var(--sc-on-inverse) 90%, transparent);
  background-color: transparent;
  opacity: 1;
}
.button.white.is-outline:not(#sc-none):hover,
:is(.sc-on-inverse, .shift-footer, .sp-support) .is-style-outline .wp-block-button__link:not(#sc-none):hover {
  color: var(--sc-on-inverse) !important;
  border-color: var(--sc-on-inverse) !important;
  background-color: color-mix(in srgb, var(--sc-on-inverse) 10%, transparent) !important;
  box-shadow: none !important;
}

/* ---------- پاراگراف‌ها: justify (قاعده‌ی سایت) ---------- */
:is(.entry-content, .wp-block-post-content, .betterdocs-entry-content) p {
  text-align: justify;
  text-justify: inter-word;
}
/* ترازهای صریح گوتنبرگ حفظ شوند */
:is(.entry-content, .wp-block-post-content, .betterdocs-entry-content) p.has-text-align-center { text-align: center !important; }
:is(.entry-content, .wp-block-post-content, .betterdocs-entry-content) p.has-text-align-left { text-align: left !important; }
:is(.entry-content, .wp-block-post-content, .betterdocs-entry-content) p.has-text-align-right { text-align: right !important; }
/* بخش‌های وسط‌چین: justify با سطر آخر وسط */
.sc-center p,
.sc-panel:not(.is-wide) p {
  text-align: justify !important;
  text-align-last: center;
}

/* ---------- لیست‌ها: جلوتر و فشرده‌تر ---------- */
:is(.entry-content, .wp-block-post-content) :is(ul, ol).wp-block-list:not(:is(.accord, .note-acc) *) { padding-inline-start: var(--sc-space-5); }
:is(.entry-content, .wp-block-post-content) :is(ul, ol).wp-block-list:not(:is(.accord, .note-acc) *) > li { margin: 0 0 var(--sc-space-1); line-height: var(--sc-body-s-lh); }
