/* TehranWeb English Services v1.0.0
   Strictly scoped to the English Services page. Source site's Persian styles remain untouched.
   Desktop geometry mirrors Persian; artwork is never mirrored indiscriminately. */
body.tehranweb-services-experience.twse-english-services .twsx-page {
  direction: ltr !important;
  text-align: left;
  font-family: inherit;
  unicode-bidi: isolate;
}
body.tehranweb-services-experience.twse-english-services .twsx-page :is(
  .twsx-hero__copy,.twsx-hero__actions,.twsx-hero__note,.twsx-hero__flow,
  .twsx-services__grid,.twsx-service-card__body,.twsx-service-card__link,
  .twsx-account__content,.twsx-account__kicker,.twsx-account__features,
  .twsx-account__button,.twsx-process__line,.twsx-process__step,
  .twsx-final__frame,.twsx-final__main,.twsx-final__actions
) { direction: ltr !important; }
body.tehranweb-services-experience.twse-english-services :is(
  .twsx-hero__copy,.twsx-hero__copy h1,.twsx-hero__copy p,
  .twsx-account__kicker,.twsx-account__content h2,.twsx-account__description
) { text-align: left !important; }
body.tehranweb-services-experience.twse-english-services :is(
  .twsx-services__head,.twsx-service-card__body,.twsx-account__feature,
  .twsx-process__heading,.twsx-process__step,.twsx-final__main,
  .twsx-final__main h2,.twsx-final__main p
) { text-align: center !important; }
/* Do not reflect photographs, service artwork, logos, icons such as phone/email,
   or images that may contain lettering. Only explicit directional arrows flip. */
body.tehranweb-services-experience.twse-english-services .twsx-page :is(
  .twsx-service-card__link,.twsx-account__button,.twsx-final__btn,.twsx-hero__actions .twsx-btn
) { direction: ltr !important; }
body.tehranweb-services-experience.twse-english-services .twsx-hero__note { justify-content: flex-start; }
body.tehranweb-services-experience.twse-english-services .twsx-service-card__icon {
  left: 14px !important;
  right: auto !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-service-card__badge {
  right: 14px !important;
  left: auto !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-services__grid {
  direction: ltr !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-service-card__link {
  justify-content: center !important;
}
/* HERO: Persian copy is right, visual is left. English copy is left, visual is right. */
@media (min-width: 768px) {
  body.tehranweb-services-experience.twse-english-services .twsx-hero__copy {
    left: 3.9% !important;
    right: auto !important;
    width: 35.7% !important;
    text-align: left !important;
    margin: 0 !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__visual img {
    transform: scaleX(-1) !important;
    transform-origin: 50% 50% !important;
    object-position: 51% 48% !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__shade {
    background:
      linear-gradient(270deg,rgba(2,14,24,0) 0%,rgba(2,14,24,.02) 34%,rgba(2,14,24,.22) 48%,rgba(2,14,24,.72) 60%,rgba(2,14,24,.96) 70%,rgba(2,14,24,.995) 100%),
      linear-gradient(180deg,rgba(2,14,24,0) 0%,rgba(2,14,24,0) 67%,rgba(2,14,24,.14) 83%,rgba(2,14,24,.28) 100%) !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__actions {
    direction: ltr !important;
    justify-content: flex-start !important;
    flex-wrap: wrap !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__flow {
    left: auto !important;
    right: 25.6% !important;
    direction: ltr !important;
    transform: none !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__flow-card b {
    direction: ltr !important;
    text-align: center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__beam--a {
    transform: rotate(2.8deg) !important;
  }
  /* Account panel: art to the right; English text to the left. */
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 {
    direction: ltr !important;
    grid-template-columns: minmax(0,48%) minmax(0,52%) !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__content {
    grid-column: 1 !important;
    grid-row: 1 !important;
    padding: clamp(24px,2.8vw,52px) clamp(10px,1.1vw,20px) clamp(24px,2.6vw,45px) clamp(24px,2.45vw,48px) !important;
    direction: ltr !important;
    text-align: left !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__visual {
    inset: 0 0 0 auto !important;
    left: auto !important;
    right: 0 !important;
    width: 61.5% !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__visual::after {
    background: linear-gradient(270deg,rgba(4,17,29,0) 44%,rgba(4,17,29,.10) 56%,rgba(4,17,29,.24) 64%,rgba(4,17,29,.48) 72%,rgba(4,17,29,.72) 81%,rgba(4,17,29,.90) 89%,#04121d 98%) !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__visual::before {
    background: radial-gradient(circle at 86% 50%,rgba(245,186,54,.12),transparent 34%) !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__features {
    direction: ltr !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__feature:not(:last-child)::after {
    left: auto !important;
    right: 0 !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button {
    direction: ltr !important;
  }
}
/* PROCESS: first stage at the left, last stage at the right. */
body.tehranweb-services-experience.twse-english-services #twsx-process .twsx-process__line {
  direction: ltr !important;
}
body.tehranweb-services-experience.twse-english-services #twsx-process .twsx-process__number {
  left: 4.5% !important;
  right: auto !important;
}
body.tehranweb-services-experience.twse-english-services #twsx-process .twsx-process__step:not(:last-child)::after {
  left: auto !important;
  right: 0 !important;
}
/* FINAL BANNER: swap the two decorative artwork positions, not their pixels or copy. */
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__frame,
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__main,
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__actions {
  direction: ltr !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__main {
  margin: 0 14% 0 0 !important;
  text-align: center !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--earth {
  left: auto !important;
  right: 0 !important;
  inset: 0 0 0 auto !important;
  -webkit-mask-image: linear-gradient(to left,#000 0%,#000 46%,rgba(0,0,0,.7) 59%,rgba(0,0,0,.23) 76%,transparent 92%) !important;
  mask-image: linear-gradient(to left,#000 0%,#000 46%,rgba(0,0,0,.7) 59%,rgba(0,0,0,.23) 76%,transparent 92%) !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--growth {
  right: auto !important;
  left: 0 !important;
  inset: 0 auto 0 0 !important;
  -webkit-mask-image: linear-gradient(to left,transparent 0%,rgba(0,0,0,.6) 27%,#000 48%,#000 100%) !important;
  mask-image: linear-gradient(to left,transparent 0%,rgba(0,0,0,.6) 27%,#000 48%,#000 100%) !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--earth img {
  object-position: right top !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--growth img {
  object-position: left top !important;
}
/* Any optional decorative background image configured in shared ACF mirrors only its placement.
   Never flip text, service cards or SVG icons together with the whole section. */
body.tehranweb-services-experience.twse-english-services :is(.twsx-services,.twsx-account,.twsx-process,.twsx-final) > .twsx-acf-background {
  background-position: right center !important;
}
@media (max-width: 1150px) and (min-width: 851px) {
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 {
    grid-template-columns: minmax(0,50%) minmax(0,50%) !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__content {
    padding: 25px 12px 25px 21px !important;
  }
}
@media (max-width: 850px) {
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 {
    direction: ltr !important;
    display: flex !important;
    flex-direction: column-reverse !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__visual {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    height: clamp(200px,52vw,390px) !important;
    flex: 0 0 auto !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__content {
    position: relative !important;
    width: 100% !important;
    height: auto !important;
    grid-column: auto !important;
    padding: 30px 24px 24px !important;
    direction: ltr !important;
    text-align: left !important;
  }
}
@media (max-width: 767px) {
  body.tehranweb-services-experience.twse-english-services .twsx-hero__copy {
    margin: 0 !important;
    width: 100% !important;
    text-align: center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__copy h1 {
    text-align: center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__visual img {
    object-position: 72% center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__actions {
    justify-content: center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-hero__note {
    justify-content: center !important;
    text-align: center !important;
  }
  body.tehranweb-services-experience.twse-english-services #twsx-process .twsx-process__line::before {
    left: 37px !important;
    right: auto !important;
  }
  body.tehranweb-services-experience.twse-english-services #twsx-process .twsx-process__step {
    direction: ltr !important;
    text-align: left !important;
  }
  body.tehranweb-services-experience.twse-english-services #twsx-process :is(.twsx-process__step h3,.twsx-process__step p) {
    text-align: left !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__main {
    width: 100% !important;
    margin: 0 !important;
    text-align: center !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--earth {
    inset: auto 0 0 auto !important;
    right: 0 !important;
    left: auto !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__art--growth {
    inset: auto auto 0 0 !important;
    left: 0 !important;
    right: auto !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-final--v114 .twsx-final__actions {
    direction: ltr !important;
    flex-wrap: wrap !important;
  }
}

/* Inline background positions can carry !important in the original ACF controls.
   Mirroring only this decorative layer keeps its visuals opposite to Persian without touching text. */
body.tehranweb-services-experience.twse-english-services .twsx-page .twsx-acf-background {
  transform: scaleX(-1) !important;
  transform-origin: center center !important;
}
/* Uploaded directional arrow artwork is mirrored only inside arrow controls.
   Named service icons, logos and non-directional artwork remain untouched. */
body.tehranweb-services-experience.twse-english-services :is(
  .twsx-hero__actions .twsx-btn--primary,
  .twsx-service-card__link,
  .twsx-final__btn
) > img.twsx-acf-icon-image {
  transform: scaleX(-1) !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-account__button > img.twsx-acf-icon-image:last-child,
body.tehranweb-services-experience.twse-english-services svg.twse-needs-arrow-flip {
  transform: scaleX(-1) !important;
  transform-origin: center center !important;
}


/* v1.2.0: English dashboard button sized for longer label.
   Match Persian button spacing: preserve clear inner margins around both icons.
   Scoped to the English Services dashboard CTA only. */
body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button {
  display: inline-flex !important;
  flex-flow: row nowrap !important;
  align-items: center !important;
  justify-content: center !important;
  align-self: center !important;
  gap: 16px !important;
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  min-width: 0 !important;
  min-height: 76px !important;
  padding: 14px 44px !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  direction: ltr !important;
  text-align: center !important;
  white-space: nowrap !important;
  font-size: clamp(16px, 1.3vw, 21px) !important;
  line-height: 1.3 !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button > span {
  flex: 0 1 auto !important;
  display: block !important;
  min-width: 0 !important;
  width: auto !important;
  max-width: 100% !important;
  text-align: center !important;
  white-space: nowrap !important;
  line-height: 1.3 !important;
  overflow-wrap: normal !important;
}
body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button > :is(svg, img.twsx-acf-icon-image) {
  flex: 0 0 23px !important;
  display: block !important;
  position: static !important;
  width: 23px !important;
  height: 23px !important;
  min-width: 23px !important;
  max-width: 23px !important;
  min-height: 23px !important;
  max-height: 23px !important;
  margin: 0 !important;
  padding: 0 !important;
}
/* At medium widths, preserve the 30px inner margin and reduce font before wrapping. */
@media (min-width: 768px) and (max-width: 1100px) {
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button {
    width: min(100%, 520px) !important;
    padding-inline: 30px !important;
    gap: 11px !important;
    font-size: clamp(15px, 1.6vw, 18px) !important;
    min-height: 66px !important;
    white-space: normal !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button > span {
    white-space: normal !important;
  }
}
@media (max-width: 767px) {
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button {
    width: min(100%, 520px) !important;
    min-height: 64px !important;
    padding: 14px 26px !important;
    gap: 11px !important;
    font-size: clamp(14px, 3.7vw, 18px) !important;
    white-space: normal !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button > span {
    white-space: normal !important;
  }
  body.tehranweb-services-experience.twse-english-services .twsx-account__card--v109 .twsx-account__button > :is(svg, img.twsx-acf-icon-image) {
    flex-basis: 20px !important;
    width: 20px !important;
    min-width: 20px !important;
    max-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    max-height: 20px !important;
  }
}
