/* Shared by the service pages (SEO / web design, Mashhad / Tehran, SEO services).
   Loaded before each page's own file, so the browser downloads it once for all of them. */
:root {
  --i-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-warn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 6v8M12 18.5v.01'/%3E%3C/svg%3E");
  --i-bad: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
  --i-chev-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B1B3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --i-check-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239B1B3A' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-search: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='6.5'/%3E%3Cpath d='M20 20l-4.3-4.3'/%3E%3C/svg%3E");
  --i-quote: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='black' stroke='none' d='M4 17.5c0-4 1.5-7.5 5-10l1.2 1.4C8.3 10.5 7.6 12 7.5 13.5H10V19H4zm9.5 0c0-4 1.5-7.5 5-10l1.2 1.4c-1.9 1.6-2.6 3.1-2.7 4.6h2.5V19h-6z'/%3E%3C/svg%3E");
  --i-phone-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 3h3.5l2 5-2.5 1.5a11 11 0 0 0 5.5 5.5L15 12.5l5 2V18a2 2 0 0 1-2 2A15 15 0 0 1 3 5a2 2 0 0 1 2-2z'/%3E%3C/svg%3E");
  --i-check-ok: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E9A68' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-check-w: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-cal-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4'/%3E%3C/svg%3E");
  --i-tag-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12V4h8l10 10-8 8z'/%3E%3Ccircle cx='7.5' cy='8' r='1.5'/%3E%3C/svg%3E");
  --i-pin-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21s7-6.2 7-11.5A7 7 0 0 0 5 9.5C5 14.8 12 21 12 21z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E");
  --i-star-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath fill='black' stroke='none' d='M12 2.8l2.8 5.7 6.3.9-4.6 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L2.9 9.4l6.3-.9z'/%3E%3C/svg%3E");
  --i-check-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --i-trend-m: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 17l6-6 4 4 8-8M15 7h6v6'/%3E%3C/svg%3E");
  --i-x-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23D93A3A' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M7 7l10 10M17 7L7 17'/%3E%3C/svg%3E");
}
[data-theme="dark"] {
  --i-chev-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E35C7E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  --i-check-bg: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23E35C7E' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
}
:where(.vista-blocks) > * + * { margin-block-start: 28px; }
.vista-blocks :is(.wp-block-group, .wp-block-group__inner-container, .wp-block-column, .wp-block-details) > * + * { margin-block-start: 12px; }
:where(.vista-blocks) p { color: var(--muted); line-height: 2; margin: 0; }
:where(.vista-blocks) :is(h1, h2, h3, h4) { color: var(--ink); line-height: 1.5; font-weight: 800; margin: 0; }
:where(.vista-blocks) h1 { font-size: clamp(30px, 4.4vw, 43px); line-height: 1.3; letter-spacing: -.01em; }
:where(.vista-blocks) h2 { font-size: clamp(21px, 2.4vw, 27px); }
:where(.vista-blocks) h3 { font-size: 17px; }
:where(.vista-blocks) h4 { font-size: 15px; }
:where(.vista-blocks) a:not(.wp-block-button__link) { color: var(--primary); }
:where(.vista-blocks) strong { color: var(--ink); }
.vista-blocks .wp-block-columns { display: flex; gap: 18px; align-items: stretch; margin-block-end: 0; }
.vista-blocks .wp-block-columns.are-vertically-aligned-center { align-items: center; }
.vista-blocks .wp-block-column { flex: 1 1 0; min-width: 0; }
.vista-blocks .wp-block-column[style*="flex-basis"] { flex-grow: 0; }
.vista-blocks .wp-block-column.is-vertically-aligned-center { align-self: center; }
@media (max-width: 781px) {
  .vista-blocks .wp-block-columns { flex-wrap: wrap; }
  .vista-blocks .wp-block-column { flex-basis: 100% !important; }
}
.vista-blocks .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.vista-blocks .wp-block-button { margin: 0; }
.vista-blocks .wp-block-button__link {
  display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 26px;
  border-radius: var(--r-md); border: 1.5px solid var(--primary); background: var(--primary); color: var(--on-primary);
  font-weight: 700; font-size: 14px; text-decoration: none; line-height: 1.4;
  box-shadow: 0 8px 20px -10px var(--primary); transition: background-color .2s, color .2s, border-color .2s;
}
.vista-blocks .wp-block-button__link:hover { background: var(--primary-strong); border-color: var(--primary-strong); color: var(--on-primary); }
.vista-blocks .is-style-outline .wp-block-button__link { background: var(--surface); color: var(--primary); border-color: var(--primary-line); box-shadow: none; }
.vista-blocks .is-style-outline .wp-block-button__link:hover { background: var(--primary-soft); border-color: var(--primary); color: var(--primary); }
.vista-blocks ul.wp-block-list, .vista-blocks ol.wp-block-list { padding-inline-start: 22px; color: var(--muted); line-height: 2; margin: 0; }
.vista-blocks .wp-block-details {
  background: var(--surface); border: 1px solid var(--line); border-radius: var(--r-md); padding: 0 22px;
  box-shadow: var(--shadow); transition: border-color .2s;
}
.vista-blocks .wp-block-details + .wp-block-details { margin-block-start: 10px; }
.vista-blocks .wp-block-details[open] { border-color: var(--primary-line); }
.vista-blocks .wp-block-details summary {
  display: flex; align-items: center; justify-content: space-between; gap: 14px;
  padding-block: 17px; cursor: pointer; list-style: none; font-weight: 700; color: var(--ink);
}
.vista-blocks .wp-block-details summary::-webkit-details-marker { display: none; }
.vista-blocks .wp-block-details summary::after {
  content: ""; flex: none; width: 26px; height: 26px; border-radius: 50%;
  background: var(--primary-soft) var(--i-chev-bg) center / 14px no-repeat;
  transition: transform .25s var(--ease);
}
.vista-blocks .wp-block-details[open] summary::after { transform: rotate(180deg); }
.vista-blocks .wp-block-details > :not(summary) { padding-block-end: 18px; margin-block-start: 0; }
.is-style-vista-kicker { display: flex; align-items: center; gap: 10px; font-size: 13px !important; color: var(--primary) !important; font-weight: 500; }
.is-style-vista-kicker::after { content: ""; width: 34px; height: 2px; border-radius: 2px; background: currentColor; }
.is-style-vista-kicker + * { margin-block-start: 4px !important; }
.is-style-vista-chip {
  width: fit-content; padding: 3px 14px; border-radius: 999px; font-size: 12.5px !important; font-weight: 700;
  line-height: 1.9 !important; background: var(--primary-soft); color: var(--primary) !important; border: 1px solid var(--primary-line);
}
.is-style-vista-note { font-size: 12.5px !important; color: var(--faint) !important; line-height: 1.8 !important; }
.wp-block-buttons + .is-style-vista-note { margin-block-start: 16px !important; }
.is-style-vista-hero .wp-block-buttons { margin-block-start: 26px !important; }
.is-style-vista-center { text-align: center; }
.is-style-vista-center .is-style-vista-kicker { justify-content: center; }
.is-style-vista-center .is-style-vista-kicker::before { content: ""; width: 34px; height: 2px; border-radius: 2px; background: currentColor; }
:where(.vista-blocks) > .is-style-vista-center { margin-block-start: 76px; }
:where(.vista-blocks) > .is-style-vista-center + * { margin-block-start: 24px; }
.is-style-vista-hero { padding-block: 34px 10px; gap: 48px !important; }
.is-style-vista-card {
  position: relative; height: 100%; padding: 28px; border-radius: var(--r-lg);
  background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.is-style-vista-card h3 { font-size: 17px; }
.is-style-vista-card p { font-size: 14px; }
.has-icon { position: relative; }
.is-style-vista-card.has-icon::before {
  content: ""; display: block; width: 52px; height: 52px; margin-block-end: 20px;
  border-radius: 14px; background: var(--primary-soft); border: 1px solid var(--primary-line);
}
.is-style-vista-card.has-icon::after {
  content: ""; position: absolute; top: 42px; inset-inline-start: 42px; width: 24px; height: 24px;
  background: var(--primary); -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
:where(.vista-blocks) a[href^="tel:"], :where(.vista-blocks) a[href^="mailto:"] { direction: ltr; unicode-bidi: isolate; }
.is-style-vista-steps { counter-reset: vstep; }
.is-style-vista-step {
  position: relative; height: 100%; padding: 26px 24px; counter-increment: vstep;
  border-radius: var(--r-lg); background: var(--surface); border: 1px solid var(--line); box-shadow: var(--shadow);
}
.is-style-vista-step::before {
  content: counter(vstep); display: grid; place-items: center; width: 42px; height: 42px; margin-block-end: 18px;
  border-radius: 50%; background: var(--primary); color: #fff; font-weight: 800;
  box-shadow: 0 0 0 6px var(--primary-soft);
}
[dir="rtl"] .is-style-vista-step::before { content: counter(vstep, persian); }
:is(.is-style-vista-steps, .is-style-vista-steps > .wp-block-group__inner-container) > .wp-block-column:not(:last-child) .is-style-vista-step::after {
  content: ""; position: absolute; top: 46px; inset-inline-start: 82px; inset-inline-end: -18px; height: 2px; z-index: 1;
  background: repeating-linear-gradient(90deg, var(--primary-line) 0 6px, transparent 6px 12px);
}
.is-style-vista-step h3 { font-size: 16px; }
.is-style-vista-step p { font-size: 13.5px; }
@media (max-width: 781px) {
  .is-style-vista-steps .is-style-vista-step::after { display: none; }
}
.is-style-vista-checks { list-style: none; padding: 0 !important; display: grid; gap: 9px; }
.is-style-vista-checks li { position: relative; padding-inline-start: 28px; color: var(--ink); line-height: 1.8; }
.is-style-vista-checks li::before {
  content: ""; position: absolute; inset-inline-start: 0; top: .3em; width: 18px; height: 18px; border-radius: 50%;
  background: var(--primary-soft) var(--i-check-bg) center / 12px no-repeat;
}
.is-style-vista-cta {
  position: relative; overflow: hidden; margin-block-start: 76px !important; padding: 56px 28px;
  text-align: center; border-radius: var(--r-xl); color: #fff;
  background: radial-gradient(600px 240px at 85% -10%, rgba(255,255,255,.14), transparent 60%), linear-gradient(135deg, #A11E3F, #6E0F29);
}
.is-style-vista-cta :is(h2, h3) { color: #fff !important; }
.is-style-vista-cta p { color: rgba(255, 255, 255, .82) !important; max-width: 56ch; margin-inline: auto !important; }
.is-style-vista-cta .is-style-vista-kicker { justify-content: center; color: var(--champagne) !important; }
.is-style-vista-cta .is-style-vista-kicker::before { content: ""; width: 34px; height: 2px; background: currentColor; }
.is-style-vista-cta .wp-block-buttons { justify-content: center; margin-block-start: 26px !important; }
.is-style-vista-cta .wp-block-button__link { background: #fff; color: var(--primary); border-color: #fff; box-shadow: none; }
.is-style-vista-cta .wp-block-button__link:hover { background: #FBEFF2; color: var(--primary); border-color: #FBEFF2; }
.is-style-vista-cta .is-style-outline .wp-block-button__link { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .35); }
.is-style-vista-band {
  list-style: none; display: flex; justify-content: center; flex-wrap: nowrap; overflow: hidden;
  padding: 0 !important; margin-inline: calc(50% - 50vw) !important; margin-block: 60px 30px !important;
  transform: rotate(-2deg) translateZ(0); color: var(--champagne) !important;
  will-change: transform; backface-visibility: hidden; -webkit-backface-visibility: hidden; outline: 1px solid transparent;
  background: linear-gradient(90deg, var(--primary), #B32A4E 50%, var(--primary));
  border-bottom: 9px solid #5E0F24;
}
.is-style-vista-band li { padding: 16px 30px; font-weight: 700; white-space: nowrap; color: var(--champagne); }
.is-style-vista-band li + li { border-inline-start: 1px solid rgba(246, 228, 196, .28); }
.is-style-vista-band + * { margin-block-start: 70px !important; }
.is-style-vista-kicker.is-section { margin-block-start: 72px; }
:where(.vista-blocks) > .is-style-vista-kicker.is-section + * { margin-block-start: 4px; }
:where(.vista-blocks) > h2.wp-block-heading + * { margin-block-start: 20px; }
.vista-blocks :is(.proj, .post) h3 a, .vista-blocks a.card.social { color: var(--ink); text-decoration: none; }
.is-style-vista-cta .is-style-vista-cta-title {
  font-size: clamp(21px, 2.6vw, 28px) !important; font-weight: 800; line-height: 1.55 !important; color: #fff !important;
  max-width: none; margin-block-start: 8px !important;
}
.vista-blocks .hl { color: var(--primary); }
.is-style-vista-band.is-live { display: block; }
.is-style-vista-band.is-live .marquee-list { list-style: none; margin: 0; padding: 0; }
.is-style-vista-band.is-live li + li, .is-style-vista-band.is-live .marquee-list + .marquee-list li:first-child { border-inline-start: 1px solid rgba(246, 228, 196, .28); }
[data-theme="dark"] .is-style-vista-band { background: linear-gradient(90deg, #8E1936, #A8284A 50%, #8E1936); border-bottom-color: #3E0816; }
[data-theme="dark"] .vista-blocks .wp-block-button__link { background: #B42F55; border-color: #B42F55; }
[data-theme="dark"] .vista-blocks .wp-block-button__link:hover { background: #C63A62; border-color: #C63A62; }
[data-theme="dark"] .vista-blocks .is-style-outline .wp-block-button__link { background: var(--surface); border-color: var(--primary-line); color: var(--primary-strong); }
[data-theme="dark"] .is-style-vista-cta .wp-block-button__link { background: #fff; border-color: #fff; color: #7A1230; }
[data-theme="dark"] .is-style-vista-cta .is-style-outline .wp-block-button__link { background: rgba(255, 255, 255, .12); color: #fff; border-color: rgba(255, 255, 255, .35); }
