:root {
  --trm-bg: #020617;
  --trm-bg-2: #030712;
  --trm-surface: rgba(15, 23, 42, .72);
  --trm-surface-strong: rgba(15, 23, 42, .92);
  --trm-border: rgba(148, 163, 184, .18);
  --trm-border-strong: rgba(148, 163, 184, .28);
  --trm-text: #f8fafc;
  --trm-soft: #cbd5e1;
  --trm-muted: #94a3b8;
  --trm-cyan: #04d4be;
  --trm-blue: #38bdf8;
  --trm-purple: #1b1296;
  --trm-violet: #7c3aed;
  --trm-orange: #f97316;
  --trm-green: #22c55e;
  --trm-radius-xl: 34px;
  --trm-radius-lg: 26px;
  --trm-shadow: 0 26px 70px rgba(0, 0, 0, .30);
}

/* =========================================================
   THEME INTEGRATION / TITLE & GAP FIX
   هدف: حذف عنوان و فاصله بزرگ قالب بدون دست‌کاری صفحه با margin منفی سنگین.
========================================================= */
body.trm-has-shortcode-page,
body.trm-has-shortcode-page .wp-site-blocks,
body.trm-has-shortcode-page :where(main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  background: #020617 !important;
}

body.trm-hide-native-title :is(
  .entry-title,
  .page-title,
  h1.entry-title,
  h1.page-title,
  .wp-block-post-title,
  .entry-header,
  .page-header,
  .single-page-header,
  .post-header
),
body:has(.trm-page) :is(
  .entry-title,
  .page-title,
  h1.entry-title,
  h1.page-title,
  .wp-block-post-title,
  .entry-header,
  .page-header,
  .single-page-header,
  .post-header
) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.trm-hide-native-title :is(.entry-content, .wp-block-post-content),
body:has(.trm-page) :is(.entry-content, .wp-block-post-content),
body.trm-hide-native-title :is(main, .site-main, #primary, .content-area),
body:has(.trm-page) :is(main, .site-main, #primary, .content-area) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

body.trm-hide-native-title :is(.entry-content, .wp-block-post-content) > .trm-page,
body:has(.trm-page) :is(.entry-content, .wp-block-post-content) > .trm-page {
  margin-top: 0 !important;
}

body.trm-has-shortcode-page .wp-site-blocks > main,
body.trm-has-shortcode-page main.wp-block-group,
body.trm-has-shortcode-page .wp-block-group:has(.trm-page) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

/* اگر قالب هنوز spacer خالی قبل از محتوای شورت‌کد بگذارد، این بخش آن را حذف می‌کند. */
body.trm-has-shortcode-page :is(.entry-content, .wp-block-post-content) > .wp-block-spacer:has(+ .trm-page),
body.trm-has-shortcode-page :is(.entry-content, .wp-block-post-content) > p:empty:has(+ .trm-page) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* =========================================================
   BASE
========================================================= */
.trm-page,
.trm-page * {
  box-sizing: border-box;
}

.trm-page {
  position: relative;
  isolation: isolate;
  width: 100vw;
  max-width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  color: var(--trm-text);
  font-family: inherit;
  background:
    radial-gradient(circle at 78% 8%, rgba(4, 212, 190, .105), transparent 30rem),
    radial-gradient(circle at 10% 28%, rgba(34, 197, 94, .055), transparent 28rem),
    radial-gradient(circle at 48% 52%, rgba(56, 189, 248, .045), transparent 42rem),
    linear-gradient(180deg, #020617 0%, #030712 48%, #020617 100%);
  overflow: hidden;
}

.trm-container {
  width: min(1220px, calc(100vw - 32px));
  margin-inline: auto;
}

.trm-full-bleed {
  width: 100%;
}

.trm-badge,
.trm-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 14px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(4, 212, 190, .10);
  border: 1px solid rgba(4, 212, 190, .24);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.7;
}

/* =========================================================
   HERO V4
========================================================= */
.trm-hero {
  position: relative;
  min-height: min(900px, calc(100vh - 20px));
  padding: clamp(26px, 4vw, 50px) 0 clamp(46px, 6vw, 78px);
  display: flex;
  align-items: center;
  overflow: hidden;
  border-bottom: 1px solid rgba(148, 163, 184, .10);
  background: linear-gradient(180deg, #020617 0%, rgba(2, 6, 23, .96) 72%, rgba(2, 6, 23, .98) 100%);
}

.trm-hero-mesh {
  position: absolute;
  inset: 0;
  z-index: -3;
  background:
    radial-gradient(circle at 82% 10%, rgba(4, 212, 190, .16), transparent 22rem),
    radial-gradient(circle at 8% 22%, rgba(34, 197, 94, .08), transparent 22rem),
    radial-gradient(circle at 42% 68%, rgba(56, 189, 248, .08), transparent 34rem);
}

.trm-bg-grid {
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .18;
  background-image:
    linear-gradient(rgba(148, 163, 184, .11) 1px, transparent 1px),
    linear-gradient(90deg, rgba(148, 163, 184, .11) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: linear-gradient(180deg, rgba(0,0,0,.9), transparent 88%);
}

.trm-bg-orb {
  position: absolute;
  z-index: -1;
  width: 280px;
  height: 280px;
  border-radius: 999px;
  filter: blur(42px);
  opacity: .50;
  pointer-events: none;
}

.trm-bg-orb-one {
  right: -110px;
  top: 80px;
  background: rgba(4, 212, 190, .15);
  animation: trmFloatOne 8s ease-in-out infinite alternate;
}

.trm-bg-orb-two {
  left: -110px;
  bottom: 50px;
  background: rgba(34, 197, 94, .10);
  animation: trmFloatTwo 9s ease-in-out infinite alternate;
}

.trm-hero-layout {
  display: grid;
  gap: clamp(24px, 4vw, 44px);
}

.trm-hero-showcase {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  gap: 18px;
  align-items: stretch;
}

.trm-hero-main-image,
.trm-code-panel {
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .10), transparent 36%),
    linear-gradient(145deg, rgba(15, 23, 42, .76), rgba(2, 6, 23, .62));
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: 0 30px 80px rgba(0,0,0,.34);
  overflow: hidden;
}

.trm-hero-main-image {
  min-height: 300px;
}

.trm-hero-main-image img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 300px;
  aspect-ratio: 16 / 7.2;
  object-fit: cover;
  object-position: center;
}

.trm-code-panel {
  min-height: 300px;
  padding: 15px;
  display: flex;
  flex-direction: column;
  justify-content: stretch;
}

.trm-code-head {
  display: flex;
  gap: 7px;
  margin-bottom: 12px;
  direction: ltr;
}

.trm-code-head span {
  width: 11px;
  height: 11px;
  border-radius: 999px;
  background: rgba(148, 163, 184, .55);
}

.trm-code-head span:nth-child(1) { background: #fb7185; }
.trm-code-head span:nth-child(2) { background: #facc15; }
.trm-code-head span:nth-child(3) { background: #22c55e; }

.trm-code-panel pre {
  flex: 1;
  margin: 0;
  padding: 14px;
  border-radius: 22px;
  direction: rtl;
  text-align: right;
  white-space: pre-wrap;
  color: #d9f99d;
  background: rgba(2, 6, 23, .74);
  border: 1px solid rgba(148, 163, 184, .13);
  font-family: inherit;
  font-size: 13px;
  line-height: 2;
}

.trm-hero-copy {
  max-width: 1120px;
}

.trm-hero-kicker {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-bottom: 18px;
}

.trm-hero-kicker span,
.trm-hero-kicker small {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 7px 14px;
  border-radius: 999px;
  font-size: 12.5px;
  line-height: 1.8;
}

.trm-hero-kicker span {
  color: #ecfeff;
  background: rgba(4, 212, 190, .12);
  border: 1px solid rgba(4, 212, 190, .28);
  font-weight: 900;
}

.trm-hero-kicker small {
  color: var(--trm-soft);
  background: rgba(15, 23, 42, .50);
  border: 1px solid rgba(148, 163, 184, .16);
  font-weight: 750;
}

.trm-hero h1,
.trm-compact-hero h1 {
  max-width: 1120px;
  margin: 0 0 20px;
  color: #fff;
  font-size: clamp(34px, 5.3vw, 68px);
  font-weight: 950;
  line-height: 1.28;
  letter-spacing: -1px;
  text-wrap: balance;
}

.trm-hero p,
.trm-compact-hero p,
.trm-section-head p,
.trm-cta p {
  color: var(--trm-soft);
  font-size: 16px;
  line-height: 2.08;
}

.trm-hero p {
  max-width: 920px;
  margin: 0;
  text-align: justify;
}

.trm-actions,
.trm-card-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 28px;
}

.trm-btn,
.trm-btn:visited,
.trm-small-btn,
.trm-small-btn:visited {
  position: relative;
  overflow: hidden;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 12px 24px;
  border-radius: 18px;
  color: #fff !important;
  text-decoration: none !important;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.7;
  border: 1px solid rgba(255,255,255,.13);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}

.trm-btn::before,
.trm-small-btn::before {
  content: '';
  position: absolute;
  inset: 0;
  background: linear-gradient(120deg, transparent 0%, rgba(255,255,255,.24) 46%, transparent 72%);
  transform: translateX(120%);
  transition: transform .7s ease;
}

.trm-btn:hover::before,
.trm-small-btn:hover::before {
  transform: translateX(-120%);
}

.trm-btn-primary {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .17), transparent 42%),
    linear-gradient(135deg, #04d4be, #078f9c 44%, #1b1296);
  box-shadow: 0 18px 38px rgba(0,0,0,.30), 0 0 24px rgba(4,212,190,.12);
}

.trm-btn-ghost {
  background: linear-gradient(145deg, rgba(15, 23, 42, .92), rgba(2, 6, 23, .78));
  border-color: rgba(148, 163, 184, .25);
}

.trm-btn:hover,
.trm-small-btn:hover {
  transform: translateY(-4px);
  box-shadow: 0 24px 50px rgba(0,0,0,.34);
  filter: saturate(1.08);
}

.trm-trust-row {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}

.trm-trust-row span {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .54);
  border: 1px solid rgba(148, 163, 184, .14);
  font-size: 12.5px;
  font-weight: 750;
}

/* Backward-compatible unused stack */
.trm-product-stack { display: none; }

/* =========================================================
   SECTIONS
========================================================= */
.trm-section {
  padding: clamp(34px, 5vw, 62px) 0;
}

.trm-stats-section {
  padding-top: 0;
}

.trm-section-head {
  max-width: 820px;
  margin-bottom: 24px;
}

.trm-section-head span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 6px 13px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(4, 212, 190, .10);
  border: 1px solid rgba(4, 212, 190, .22);
  font-size: 12.5px;
  font-weight: 900;
  line-height: 1.8;
}

.trm-section-head h2,
.trm-cta h2 {
  margin: 10px 0 12px;
  color: #fff;
  font-size: clamp(25px, 3.6vw, 46px);
  font-weight: 950;
  line-height: 1.42;
  text-wrap: balance;
}

.trm-section-head p {
  margin: 0;
  max-width: 780px;
}

.trm-center-head {
  margin-inline: auto;
  text-align: center;
}

.trm-center-head p {
  margin-inline: auto;
}

.trm-split-head {
  max-width: none;
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr);
  gap: 24px;
  align-items: end;
}

.trm-split-head p {
  margin-bottom: 12px;
  text-align: justify;
}

.trm-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: -34px;
  padding: 18px;
  border-radius: 32px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    linear-gradient(145deg, rgba(15, 23, 42, .92), rgba(2, 6, 23, .74));
  border: 1px solid var(--trm-border);
  box-shadow: 0 24px 60px rgba(0,0,0,.30);
  backdrop-filter: blur(14px);
}

.trm-stats div {
  padding: 18px 12px;
  text-align: center;
  border-radius: 22px;
  background: rgba(15, 23, 42, .55);
  border: 1px solid rgba(148, 163, 184, .14);
}

.trm-stats strong {
  display: block;
  color: #fff;
  font-size: 23px;
  font-weight: 950;
  line-height: 1.7;
}

.trm-stats span {
  color: var(--trm-muted);
  font-size: 13px;
  line-height: 1.7;
}

/* =========================================================
   CARDS
========================================================= */
.trm-grid {
  display: grid;
  gap: 16px;
  align-items: stretch;
}

.trm-products-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trm-services-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trm-team-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.trm-news-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.trm-card {
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 29px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 36%),
    linear-gradient(145deg, rgba(15, 23, 42, .80), rgba(2, 6, 23, .60));
  border: 1px solid rgba(148, 163, 184, .17);
  box-shadow: 0 20px 50px rgba(0,0,0,.24);
  transition: transform .24s ease, box-shadow .24s ease, border-color .24s ease;
}

.trm-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 2px;
  opacity: .78;
  background: linear-gradient(90deg, var(--trm-cyan), var(--trm-purple), var(--trm-blue));
}

.trm-card:hover {
  transform: translateY(-6px);
  border-color: rgba(4, 212, 190, .30);
  box-shadow: 0 30px 66px rgba(0,0,0,.34);
}

.trm-card-image {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 9;
  background: rgba(2, 6, 23, .62);
  overflow: hidden;
}

.trm-card-image img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  transition: transform .3s ease;
}

.trm-news-card .trm-card-image img {
  object-fit: cover;
}

.trm-card:hover .trm-card-image img {
  transform: scale(1.035);
}

.trm-card-body {
  flex: 1;
  display: flex;
  flex-direction: column;
  padding: 22px;
}

.trm-card h3 {
  margin: 10px 0 10px;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.55;
}

.trm-card p {
  margin: 0 0 16px;
  color: var(--trm-soft);
  font-size: 14.5px;
  line-height: 2;
  text-align: justify;
}

.trm-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0 18px;
}

.trm-tags span {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(148, 163, 184, .14);
  font-size: 12px;
  font-weight: 750;
}

.trm-card-actions {
  margin-top: auto;
  padding-top: 6px;
}

.trm-small-btn {
  flex: 1 1 140px;
  min-height: 44px;
  padding: 10px 14px;
  font-size: 13.5px;
  border-radius: 15px;
  background: linear-gradient(135deg, #0284c7, #2563eb);
}

.trm-small-btn-alt {
  background: linear-gradient(135deg, #04d4be, #1b1296);
}

.trm-service-card {
  min-height: 235px;
}

.trm-service-card a,
.trm-service-card a:visited {
  display: flex;
  flex-direction: column;
  min-height: 100%;
  padding: 23px;
  color: inherit !important;
  text-decoration: none !important;
}

.trm-icon {
  width: 50px;
  height: 50px;
  border-radius: 17px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 13px;
  font-weight: 950;
  background: linear-gradient(135deg, #04d4be, #1b1296);
  border: 1px solid rgba(255,255,255,.12);
  box-shadow: 0 12px 28px rgba(0,0,0,.24);
}

.trm-service-card h3 {
  font-size: 17px;
}

.trm-service-card p {
  margin-top: auto;
  text-align: right;
}

.trm-team-card {
  padding: 16px;
}

.trm-team-photo {
  width: 100%;
  aspect-ratio: 1 / 1;
  border-radius: 22px;
  overflow: hidden;
  background: rgba(2, 6, 23, .58);
  border: 1px solid rgba(148, 163, 184, .15);
}

.trm-team-photo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.trm-team-card h3 {
  margin: 14px 0 6px;
  font-size: 17px;
}

.trm-team-card strong {
  display: inline-flex;
  width: fit-content;
  align-items: center;
  justify-content: center;
  min-height: 30px;
  padding: 5px 10px;
  border-radius: 999px;
  color: #e0f2fe;
  background: rgba(56, 189, 248, .10);
  border: 1px solid rgba(56, 189, 248, .20);
  font-size: 12.5px;
  line-height: 1.7;
  margin-bottom: 10px;
}

.trm-team-card p {
  font-size: 13px;
  text-align: right;
}

/* WHY */
.trm-why-panel {
  position: relative;
  overflow: hidden;
  padding: clamp(24px, 4vw, 42px);
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 36%),
    radial-gradient(circle at bottom left, rgba(34, 197, 94, .07), transparent 40%),
    linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(2, 6, 23, .60));
  border: 1px solid var(--trm-border);
  box-shadow: var(--trm-shadow);
}

.trm-why-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.trm-why-grid article {
  padding: 22px;
  border-radius: 24px;
  background: rgba(15, 23, 42, .55);
  border: 1px solid rgba(148, 163, 184, .15);
}

.trm-why-grid strong {
  display: inline-flex;
  margin-bottom: 12px;
  color: var(--trm-cyan);
  font-size: 14px;
  font-weight: 950;
}

.trm-why-grid h3 {
  margin: 0 0 10px;
  color: #fff;
  font-size: 18px;
  line-height: 1.7;
}

.trm-why-grid p {
  margin: 0;
  color: var(--trm-soft);
  font-size: 14px;
  line-height: 2;
}

/* FAQ */
.trm-faq-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  max-width: none;
  margin-inline: auto;
  align-items: start;
}

.trm-faq-item {
  border-radius: 20px;
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(148, 163, 184, .17);
  overflow: hidden;
}

.trm-faq-item summary {
  cursor: pointer;
  padding: 17px 20px;
  color: #fff;
  font-size: 15.5px;
  font-weight: 900;
  line-height: 1.8;
  list-style: none;
}

.trm-faq-item summary::-webkit-details-marker {
  display: none;
}

.trm-faq-item summary::before {
  content: '+';
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  margin-left: 10px;
  border-radius: 999px;
  background: rgba(4, 212, 190, .12);
  color: var(--trm-cyan);
  border: 1px solid rgba(4, 212, 190, .24);
}

.trm-faq-item[open] summary::before {
  content: '−';
}

.trm-faq-item div {
  padding: 0 20px 18px;
  color: var(--trm-soft);
  font-size: 15px;
  line-height: 2;
}

/* CTA / COMPACT HERO */
.trm-cta,
.trm-compact-hero {
  position: relative;
  overflow: hidden;
  padding: clamp(28px, 4vw, 48px);
  border-radius: 34px;
  text-align: center;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .15), transparent 34%),
    radial-gradient(circle at bottom left, rgba(34, 197, 94, .08), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, .90), rgba(2, 6, 23, .68));
  border: 1px solid var(--trm-border);
  box-shadow: 0 26px 70px rgba(0,0,0,.28);
}

.trm-cta-glow {
  position: absolute;
  width: 220px;
  height: 220px;
  right: -80px;
  top: -80px;
  border-radius: 999px;
  background: rgba(4, 212, 190, .14);
  filter: blur(24px);
}

.trm-compact-hero {
  margin-top: 24px;
  text-align: right;
}

.trm-compact-hero h1 {
  max-width: 900px;
  font-size: clamp(28px, 4vw, 48px);
}

.trm-compact-hero p {
  max-width: 820px;
  text-align: justify;
}

.trm-cta p {
  max-width: 780px;
  margin: 0 auto 22px;
}

.trm-empty {
  padding: 18px;
  border-radius: 18px;
  color: var(--trm-muted);
  background: rgba(15, 23, 42, .55);
  border: 1px solid var(--trm-border);
}

/* MENU */
.trm-menu-trigger {
  position: relative !important;
}

.trm-menu-panel {
  position: absolute;
  top: calc(100% + 10px);
  right: 0;
  z-index: 99999;
  width: min(760px, calc(100vw - 28px));
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  padding: 12px;
  border-radius: 24px;
  background: linear-gradient(145deg, rgba(15, 23, 42, .98), rgba(2, 6, 23, .96));
  border: 1px solid var(--trm-border);
  box-shadow: 0 28px 70px rgba(0,0,0,.44);
  opacity: 0;
  visibility: hidden;
  transform: translateY(8px);
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.trm-menu-trigger:hover .trm-menu-panel,
.trm-menu-trigger:focus-within .trm-menu-panel {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.trm-menu-panel a,
.trm-menu-panel a:visited {
  color: #fff !important;
  text-decoration: none !important;
}

.trm-menu-main,
.trm-menu-item {
  min-height: 62px;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 6px 10px;
  align-items: center;
  padding: 10px;
  border-radius: 16px;
  background: rgba(15, 23, 42, .68);
  border: 1px solid rgba(148, 163, 184, .14);
}

.trm-menu-main strong,
.trm-menu-item strong {
  font-size: 13px;
  line-height: 1.5;
}

.trm-menu-main small,
.trm-menu-item small {
  grid-column: 2;
  color: var(--trm-muted);
  font-size: 11px;
  line-height: 1.5;
}

.trm-menu-item span {
  grid-row: 1 / span 2;
  width: 36px;
  height: 36px;
  border-radius: 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #04d4be, #1b1296);
  font-size: 10px;
  font-weight: 950;
}

/* ANIMATION */
@keyframes trmFloatOne {
  from { transform: translate(0, 0) scale(1); }
  to { transform: translate(-36px, 32px) scale(1.08); }
}

@keyframes trmFloatTwo {
  from { transform: translate(0, 0) scale(1); }
  to { transform: translate(42px, -30px) scale(1.06); }
}

/* RESPONSIVE */


/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  .trm-hero-showcase {
    grid-template-columns: 1fr;
  }

  .trm-hero {
    min-height: auto;
  }

  .trm-products-grid,
  .trm-services-grid,
  .trm-team-grid,
  .trm-stats,
  .trm-why-grid,
  .trm-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .trm-split-head {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  .trm-faq-list {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .trm-container {
    width: min(100% - 16px, 1220px);
  }

  .trm-hero {
    padding: 18px 0 44px;
  }

  .trm-hero-showcase {
    gap: 12px;
  }

  .trm-hero-main-image,
  .trm-code-panel {
    border-radius: 24px;
  }

  .trm-hero-main-image,
  .trm-hero-main-image img,
  .trm-code-panel {
    min-height: 220px;
  }

  .trm-code-panel pre {
    font-size: 12px;
  }

  .trm-hero h1 {
    font-size: 30px;
    line-height: 1.42;
    letter-spacing: -.3px;
  }

  .trm-hero p,
  .trm-card p,
  .trm-compact-hero p,
  .trm-split-head p {
    text-align: right;
  }

  .trm-products-grid,
  .trm-services-grid,
  .trm-team-grid,
  .trm-stats,
  .trm-why-grid,
  .trm-news-grid {
    grid-template-columns: 1fr;
  }

  .trm-stats {
    margin-top: 0;
    padding: 12px;
    border-radius: 24px;
  }

  .trm-actions,
  .trm-card-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .trm-btn,
  .trm-small-btn {
    width: 100%;
  }

  .trm-cta,
  .trm-compact-hero,
  .trm-why-panel {
    border-radius: 24px;
    padding: 18px;
  }

  .trm-card {
    border-radius: 24px;
  }

  .trm-card-body {
    padding: 18px;
  }

  .trm-menu-panel {
    position: static;
    width: 100%;
    grid-template-columns: 1fr;
    margin-top: 8px;
    opacity: 1;
    visibility: visible;
    transform: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .trm-bg-orb-one,
  .trm-bg-orb-two,
  .trm-card,
  .trm-btn,
  .trm-small-btn,
  .trm-product-stack a {
    animation: none !important;
    transition: none !important;
  }
}

/* =========================================================
   V5 POLISH - standalone home, unified header, stronger hero
========================================================= */
:root {
  --trm-bg: #020617;
  --trm-bg-2: #02110f;
  --trm-cyan: #04D4BE;
  --trm-green: #22c55e;
  --trm-blue: #38bdf8;
  --trm-purple: #1B1296;
}

body.trm-standalone-home,
body.trm-standalone-home .wp-site-blocks,
body.trm-standalone-home :where(main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  background:
    radial-gradient(circle at 82% 0%, rgba(4, 212, 190, .11), transparent 32rem),
    radial-gradient(circle at 8% 18%, rgba(34, 197, 94, .06), transparent 30rem),
    linear-gradient(180deg, #020617 0%, #02110f 42%, #020617 100%) !important;
}

/* Hide the parent theme header only for the shortcode home page. */
body.trm-standalone-home :where(.wp-site-blocks > header, .wp-site-blocks > .wp-block-template-part:first-child, header.wp-block-template-part, .site-header, #masthead) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.trm-standalone-home :where(.wp-site-blocks, main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

body.trm-standalone-home :where(.entry-content, .wp-block-post-content) > :not(.trm-page):empty,
body.trm-standalone-home :where(.entry-content, .wp-block-post-content) > .wp-block-spacer,
body.trm-standalone-home :where(.entry-content, .wp-block-post-content) > p:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.trm-standalone-home .trm-page {
  margin-top: 0 !important;
}

.trm-home-v5 {
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .12), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .055), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #02110f 34%, #020617 100%);
}

.trm-site-header {
  position: sticky;
  top: 0;
  z-index: 1000;
  width: 100%;
  padding: 12px 0;
  background:
    linear-gradient(180deg, rgba(2, 6, 23, .94), rgba(2, 17, 15, .78));
  border-bottom: 1px solid rgba(148, 163, 184, .13);
  backdrop-filter: blur(18px);
}

.trm-site-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
}

.trm-brand,
.trm-brand:visited {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #fff !important;
  text-decoration: none !important;
  min-width: max-content;
}

.trm-brand-mark {
  width: 42px;
  height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 15px;
  color: #fff;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .4px;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .22), transparent 40%),
    linear-gradient(135deg, #04D4BE, #1B1296);
  border: 1px solid rgba(255, 255, 255, .13);
  box-shadow: 0 12px 26px rgba(0,0,0,.28);
}

.trm-brand-copy strong,
.trm-brand-copy small {
  display: block;
  line-height: 1.45;
}

.trm-brand-copy strong {
  font-size: 15px;
  font-weight: 950;
}

.trm-brand-copy small {
  color: var(--trm-muted);
  font-size: 11px;
  direction: ltr;
  text-align: right;
}

.trm-header-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
}

.trm-header-nav a,
.trm-header-nav a:visited {
  min-height: 40px;
  padding: 8px 11px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #f8fafc !important;
  text-decoration: none !important;
  border-radius: 14px;
  font-size: 13.5px;
  font-weight: 850;
  background: rgba(15, 23, 42, .28);
  border: 1px solid rgba(148, 163, 184, .10);
  transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.trm-header-nav a:hover {
  transform: translateY(-2px);
  background: rgba(15, 23, 42, .62);
  border-color: rgba(4, 212, 190, .28);
}

.trm-header-tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  min-width: max-content;
}

.trm-tool-pill,
.trm-header-cta,
.trm-header-cta:visited {
  min-height: 38px;
  padding: 7px 11px;
  border-radius: 999px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #e0f2fe !important;
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(148, 163, 184, .18);
  font-family: inherit;
  font-size: 12px;
  font-weight: 850;
  line-height: 1.6;
  text-decoration: none !important;
  cursor: pointer;
}

.trm-header-cta {
  color: #fff !important;
  background: linear-gradient(135deg, rgba(4, 212, 190, .88), rgba(7, 143, 156, .92));
  border-color: rgba(4, 212, 190, .34);
}

.trm-home-v5 .trm-hero {
  min-height: auto;
  padding: clamp(18px, 2.6vw, 34px) 0 clamp(44px, 6vw, 78px);
  background:
    radial-gradient(circle at 80% 0%, rgba(4, 212, 190, .14), transparent 24rem),
    radial-gradient(circle at 8% 44%, rgba(34, 197, 94, .06), transparent 32rem),
    linear-gradient(180deg, rgba(2, 6, 23, .98) 0%, rgba(2, 17, 15, .98) 76%, rgba(2, 6, 23, 1) 100%);
}

.trm-home-v5 .trm-hero-layout {
  gap: clamp(22px, 3vw, 36px);
}

.trm-home-v5 .trm-hero-main-image {
  width: 100%;
  min-height: 310px;
  border-radius: 34px;
  overflow: hidden;
  background: rgba(2, 6, 23, .70);
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: 0 32px 84px rgba(0,0,0,.36);
}

.trm-home-v5 .trm-hero-main-image img {
  width: 100%;
  height: 100%;
  min-height: 310px;
  aspect-ratio: 16 / 6.8;
  display: block;
  object-fit: cover;
  object-position: center;
}

.trm-hero-content-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.28fr) minmax(310px, .72fr);
  gap: clamp(18px, 3vw, 34px);
  align-items: stretch;
}

.trm-home-v5 .trm-hero-copy {
  max-width: 100%;
  align-self: center;
}

.trm-home-v5 .trm-hero h1 {
  max-width: 880px;
  font-size: clamp(38px, 5.5vw, 72px);
  line-height: 1.27;
  letter-spacing: -.8px;
}

.trm-home-v5 .trm-hero p {
  max-width: 860px;
  text-align: right;
}

.trm-home-v5 .trm-code-panel {
  min-height: 100%;
  border-radius: 28px;
  align-self: stretch;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .09), transparent 36%),
    linear-gradient(145deg, rgba(15, 23, 42, .82), rgba(2, 6, 23, .66));
}

.trm-home-v5 .trm-code-panel pre {
  direction: ltr !important;
  text-align: left !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !important;
  font-size: 12.5px;
  line-height: 1.78;
  color: #d9f99d;
  white-space: pre-wrap;
}

.trm-home-v5 .trm-btn-primary {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .12), transparent 42%),
    linear-gradient(135deg, #04D4BE, #078f9c);
  box-shadow: 0 16px 34px rgba(0,0,0,.26), 0 0 18px rgba(4,212,190,.10);
}

.trm-home-v5 .trm-btn-ghost {
  background: rgba(15, 23, 42, .52);
}

.trm-section-head,
.trm-center-head,
.trm-home-v5 .trm-products-section .trm-section-head,
.trm-home-v5 .trm-news-section .trm-section-head {
  max-width: 860px;
  margin-inline: auto;
  text-align: center;
}

.trm-section-head p,
.trm-center-head p,
.trm-home-v5 .trm-products-section .trm-section-head p,
.trm-home-v5 .trm-news-section .trm-section-head p {
  max-width: 820px;
  margin-inline: auto;
  text-align: center;
}

.trm-home-v5 .trm-why-panel .trm-section-head {
  max-width: 1040px;
  margin-inline: 0;
  text-align: right;
}

.trm-home-v5 .trm-why-panel .trm-section-head p {
  max-width: 100%;
  margin-inline: 0;
  text-align: right;
}

.trm-why-grid strong {
  width: 42px;
  height: 42px;
  margin-bottom: 14px;
  border-radius: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ecfeff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .16), transparent 42%),
    linear-gradient(135deg, rgba(4, 212, 190, .72), rgba(27, 18, 150, .82));
  border: 1px solid rgba(255, 255, 255, .12);
  box-shadow: 0 12px 28px rgba(0,0,0,.22);
}

.trm-product-card .trm-chip,
.trm-news-card .trm-chip {
  width: fit-content !important;
  max-width: max-content !important;
  align-self: flex-start;
  padding-inline: 12px;
}

.trm-product-card .trm-card-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.trm-product-card .trm-small-btn,
.trm-news-card .trm-small-btn {
  flex: initial;
  background: linear-gradient(135deg, rgba(4, 212, 190, .88), rgba(7, 143, 156, .94));
  border-color: rgba(4, 212, 190, .28);
  box-shadow: 0 12px 26px rgba(0,0,0,.20);
}

.trm-small-btn-outline,
.trm-small-btn-outline:visited {
  color: #e0f2fe !important;
  background: rgba(15, 23, 42, .42) !important;
  border-color: rgba(148, 163, 184, .28) !important;
  box-shadow: none !important;
}

.trm-small-btn-outline:hover {
  border-color: rgba(4, 212, 190, .38) !important;
  background: rgba(15, 23, 42, .62) !important;
}

.trm-service-card p {
  margin-top: 0;
  text-align: right;
}

.trm-service-card a {
  gap: 8px;
}

.trm-faq-item:not([open]) div {
  display: none;
}

.trm-faq-item summary {
  display: flex;
  align-items: center;
  gap: 10px;
}

.trm-faq-item summary::before {
  flex: 0 0 26px;
  margin-left: 0;
}

.trm-news-card .trm-card-body {
  text-align: right;
}

@media (min-width: 1081px) {
  .trm-home-v5 .trm-services-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}



/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  .trm-site-header-inner {
    flex-wrap: wrap;
  }
  .trm-header-nav {
    order: 3;
    width: 100%;
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 2px;
  }
  .trm-header-tools {
    margin-right: auto;
  }
  .trm-hero-content-grid {
    grid-template-columns: 1fr;
  }
  .trm-home-v5 .trm-code-panel {
    min-height: 280px;
  }
}

@media (max-width: 640px) {
  .trm-site-header {
    position: relative;
  }
  .trm-site-header-inner {
    align-items: flex-start;
  }
  .trm-header-tools {
    width: 100%;
    justify-content: stretch;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .trm-tool-pill,
  .trm-header-cta {
    width: 100%;
  }
  .trm-home-v5 .trm-hero-main-image,
  .trm-home-v5 .trm-hero-main-image img {
    min-height: 220px;
    border-radius: 24px;
  }
  .trm-home-v5 .trm-hero-main-image img {
    aspect-ratio: 16 / 9;
  }
  .trm-home-v5 .trm-hero h1 {
    font-size: 31px;
  }
  .trm-product-card .trm-card-actions {
    grid-template-columns: 1fr;
  }
  .trm-section-head p,
  .trm-center-head p,
  .trm-home-v5 .trm-products-section .trm-section-head p,
  .trm-home-v5 .trm-news-section .trm-section-head p {
    text-align: right;
  }
}


/* =========================================================
   V0.6 REFINEMENTS
   هدر قابل مدیریت، زیرمنوی اختصاصی، Hero کوتاه‌تر، محصولات سه‌ستونه
========================================================= */
.trm-home-v5 {
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .095), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .045), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #020617 18%, #02110f 44%, #020617 100%);
}

.trm-site-header {
  background:
    radial-gradient(circle at 72% 0%, rgba(4, 212, 190, .08), transparent 22rem),
    linear-gradient(180deg, rgba(2, 6, 23, .98), rgba(2, 6, 23, .92)) !important;
  border-bottom-color: rgba(148, 163, 184, .11) !important;
  box-shadow: 0 12px 34px rgba(0, 0, 0, .20);
}

.trm-brand-mark {
  overflow: hidden;
  padding: 0;
  background: rgba(15, 23, 42, .72) !important;
  border-color: rgba(4, 212, 190, .22) !important;
}

.trm-brand-mark img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  border-radius: inherit;
}

.trm-header-nav-item {
  position: relative;
  display: inline-flex;
  align-items: center;
}

.trm-header-nav-item > a::after {
  content: "";
  width: 6px;
  height: 6px;
  margin-right: 8px;
  border-left: 1.5px solid currentColor;
  border-bottom: 1.5px solid currentColor;
  transform: rotate(-45deg) translateY(-1px);
  opacity: .72;
}

.trm-header-dropdown {
  position: absolute;
  top: calc(100% + 12px);
  right: 0;
  z-index: 9999;
  width: min(760px, calc(100vw - 36px));
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  border-radius: 24px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .10), transparent 35%),
    linear-gradient(145deg, rgba(15, 23, 42, .99), rgba(2, 6, 23, .98));
  border: 1px solid rgba(148, 163, 184, .20);
  box-shadow: 0 30px 74px rgba(0, 0, 0, .42);
  backdrop-filter: blur(18px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(8px) scale(.985);
  transform-origin: top right;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease;
}

.trm-has-dropdown:hover .trm-header-dropdown,
.trm-has-dropdown:focus-within .trm-header-dropdown {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.trm-header-dropdown-main,
.trm-header-dropdown-main:visited,
.trm-header-dropdown-item,
.trm-header-dropdown-item:visited {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 58px;
  padding: 10px 12px;
  border-radius: 17px;
  color: #f8fafc !important;
  text-decoration: none !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 42%),
    linear-gradient(145deg, rgba(15, 23, 42, .70), rgba(2, 6, 23, .48));
  border: 1px solid rgba(148, 163, 184, .15);
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.trm-header-dropdown-main {
  grid-column: 1 / -1;
  min-height: 50px;
  justify-content: space-between;
  border-color: rgba(4, 212, 190, .26) !important;
}

.trm-header-dropdown-main small,
.trm-header-dropdown-item small {
  display: block;
  margin-top: 1px;
  color: #94a3b8;
  font-size: 11px;
  line-height: 1.6;
}

.trm-header-dropdown-item > span:first-child {
  flex: 0 0 37px;
  width: 37px;
  height: 37px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 11px;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(4, 212, 190, .85), rgba(27, 18, 150, .84));
  border: 1px solid rgba(255,255,255,.12);
}

.trm-header-dropdown-item strong,
.trm-header-dropdown-main strong {
  display: block;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.55;
}

.trm-header-dropdown-main:hover,
.trm-header-dropdown-item:hover {
  transform: translateY(-2px);
  border-color: rgba(4, 212, 190, .30);
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .14), transparent 42%),
    linear-gradient(145deg, rgba(30, 41, 59, .82), rgba(15, 23, 42, .56));
}

.trm-tool-pill {
  gap: 7px;
  min-width: 44px;
  padding-inline: 10px !important;
}

.trm-tool-pill svg {
  width: 17px;
  height: 17px;
  fill: currentColor;
  opacity: .95;
}

.trm-home-v5 .trm-hero {
  padding-top: clamp(16px, 2.2vw, 26px) !important;
  background:
    radial-gradient(circle at 80% 0%, rgba(4, 212, 190, .10), transparent 24rem),
    radial-gradient(circle at 8% 44%, rgba(34, 197, 94, .045), transparent 32rem),
    linear-gradient(180deg, #020617 0%, rgba(2, 17, 15, .96) 74%, #020617 100%) !important;
}

.trm-home-v5 .trm-hero-main-image {
  min-height: 205px !important;
  border-radius: 30px;
}

.trm-home-v5 .trm-hero-main-image img {
  min-height: 205px !important;
  aspect-ratio: 16 / 5.8 !important;
}

.trm-hero-content-grid {
  grid-template-columns: minmax(0, 1.58fr) minmax(280px, .42fr) !important;
  gap: clamp(16px, 2.5vw, 28px) !important;
}

.trm-home-v5 .trm-code-panel {
  border-radius: 24px;
  min-height: 100% !important;
  padding: 12px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 40%),
    linear-gradient(145deg, rgba(15, 23, 42, .86), rgba(2, 6, 23, .70));
}

.trm-home-v5 .trm-code-panel pre {
  font-size: 11.3px !important;
  line-height: 1.63 !important;
  white-space: pre !important;
  overflow: auto;
  color: #d9f99d !important;
}

.trm-home-v5 .trm-products-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.trm-product-card .trm-card-image {
  aspect-ratio: 16 / 8.4;
}

.trm-product-card .trm-card-body {
  padding: 18px !important;
}

.trm-product-card h3 {
  font-size: 19px !important;
}

.trm-product-card p {
  font-size: 13.5px !important;
  line-height: 1.95 !important;
}

.trm-product-card .trm-tags {
  min-height: 0 !important;
}

.trm-product-card .trm-tags span {
  font-size: 11.5px;
  padding: 5px 8px;
}

.trm-product-card .trm-small-btn {
  min-height: 42px;
  border-radius: 14px;
  font-size: 12.5px;
}



/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  .trm-header-dropdown {
    width: min(620px, calc(100vw - 32px));
  }
  .trm-hero-content-grid,
  .trm-home-v5 .trm-products-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
  .trm-home-v5 .trm-hero-copy {
    grid-column: 1 / -1;
  }
  .trm-home-v5 .trm-code-panel {
    grid-column: 1 / -1;
  }
}

@media (max-width: 780px) {
  .trm-header-nav-item {
    position: static;
  }
  .trm-header-dropdown {
    right: 16px;
    left: 16px;
    width: auto;
    grid-template-columns: 1fr;
    max-height: 74vh;
    overflow: auto;
  }
  .trm-header-dropdown-item small {
    display: none;
  }
}

@media (max-width: 640px) {
  .trm-home-v5 .trm-products-grid,
  .trm-hero-content-grid {
    grid-template-columns: 1fr !important;
  }
  .trm-home-v5 .trm-hero-main-image,
  .trm-home-v5 .trm-hero-main-image img {
    min-height: 190px !important;
  }
  .trm-home-v5 .trm-code-panel pre {
    white-space: pre-wrap !important;
  }
}

/* =========================================================
   V0.7 REFINEMENTS
   مگامنو دقیقاً با منطق نسخه قدیمی + Hero کلاسیک با تصویر کم‌ارتفاع‌تر
========================================================= */
.trm-home-v5 {
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .075), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .040), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #020617 22%, #02110f 48%, #020617 100%) !important;
}

.trm-site-header {
  position: sticky;
  top: 0;
  z-index: 99999;
  background:
    radial-gradient(circle at 72% 0%, rgba(4, 212, 190, .075), transparent 22rem),
    linear-gradient(180deg, rgba(2, 6, 23, .985), rgba(2, 6, 23, .94)) !important;
}

.trm-site-header-inner {
  position: relative;
}

.trm-header-nav-item {
  position: static !important;
}

.trm-header-nav-item::before {
  content: "";
  position: fixed;
  top: var(--trm-mega-bridge-top, 66px);
  left: 0;
  right: 0;
  height: 22px;
  z-index: 99998;
  display: none;
}

.trm-header-nav-item:hover::before,
.trm-header-nav-item:focus-within::before {
  display: block;
}

.trm-header-nav-item > a::after {
  display: none !important;
  content: none !important;
}

.trm-header-dropdown.trm-old-mega {
  position: fixed !important;
  top: var(--trm-shared-mega-top, 78px) !important;
  left: 50vw !important;
  right: auto !important;
  z-index: 999999 !important;
  width: min(800px, calc(100vw - 42px)) !important;
  max-width: calc(100vw - 42px) !important;
  padding: 12px !important;
  direction: rtl !important;
  display: grid !important;
  grid-template-columns: minmax(174px, 1fr) minmax(174px, 1fr) 220px !important;
  grid-auto-rows: minmax(60px, auto) !important;
  gap: 8px !important;
  border-radius: 24px !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.10), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.16), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, 0.99), rgba(2, 6, 23, 0.98)) !important;
  border: 1px solid rgba(148, 163, 184, 0.22) !important;
  box-shadow:
    0 28px 70px rgba(0, 0, 0, 0.46),
    inset 0 1px 0 rgba(255, 255, 255, 0.04) !important;
  backdrop-filter: blur(14px) !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  transform: translateX(-50%) translateY(8px) scale(0.985) !important;
  transform-origin: top center !important;
  transition: opacity .16s ease, visibility .16s ease, transform .16s ease !important;
}

.trm-header-dropdown.trm-old-mega::before {
  content: "";
  position: absolute;
  top: 0;
  right: 18px;
  left: 18px;
  width: auto;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--trm-cyan), var(--trm-purple), var(--trm-cyan));
}

.trm-has-dropdown:hover .trm-header-dropdown.trm-old-mega,
.trm-has-dropdown:focus-within .trm-header-dropdown.trm-old-mega {
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
  transform: translateX(-50%) translateY(0) scale(1) !important;
}

.trm-shared-mega-image-link,
.trm-shared-mega-image-link:visited {
  grid-column: 3;
  grid-row: 1 / span var(--trm-shared-rows, 3);
  width: 100%;
  aspect-ratio: 1 / 1;
  display: flex;
  border-radius: 18px;
  overflow: hidden;
  text-decoration: none !important;
  background: rgba(2, 6, 23, 0.74);
  border: 1px solid rgba(148, 163, 184, 0.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 14px 32px rgba(0,0,0,.22);
  transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.trm-shared-mega-image-link:hover {
  transform: translateY(-3px);
  border-color: rgba(4, 212, 190, .32);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 20px 44px rgba(0,0,0,.34);
}

.trm-shared-mega-image-link img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  border-radius: 18px;
  transition: transform .3s ease;
}

.trm-shared-mega-image-link:hover img {
  transform: scale(1.035);
}

.trm-shared-mega-item,
.trm-shared-mega-item:visited {
  width: 100%;
  min-height: 60px;
  padding: 8px 10px;
  display: flex !important;
  align-items: center;
  justify-content: flex-start;
  gap: 9px;
  border-radius: 16px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 42%),
    linear-gradient(145deg, rgba(15, 23, 42, .68), rgba(2, 6, 23, .48)) !important;
  border: 1px solid rgba(148, 163, 184, .16) !important;
  color: #ffffff !important;
  text-decoration: none !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025);
  transition: transform .2s ease, background .2s ease, border-color .2s ease, box-shadow .2s ease;
}

.trm-shared-mega-item:hover {
  transform: translateY(-3px);
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .14), transparent 42%),
    linear-gradient(145deg, rgba(30, 41, 59, .78), rgba(15, 23, 42, .56)) !important;
  border-color: rgba(4, 212, 190, .32) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.26), inset 0 1px 0 rgba(255,255,255,.04);
}

.trm-shared-mega-icon {
  flex: 0 0 37px;
  width: 37px;
  height: 37px;
  border-radius: 13px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #ffffff;
  font-size: 9.5px;
  font-weight: 950;
  letter-spacing: .1px;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(135deg, #0284c7, #7c3aed);
  border: 1px solid rgba(255,255,255,.12);
}

.trm-shared-mega-copy {
  display: block;
  min-width: 0;
  text-align: right;
}

.trm-shared-mega-copy strong {
  display: block;
  color: #f8fafc;
  font-size: 13px;
  font-weight: 950;
  line-height: 1.55;
  margin: 0 0 1px;
}

.trm-shared-mega-copy small {
  display: block;
  color: #94a3b8;
  font-size: 11px;
  font-weight: 500;
  line-height: 1.55;
}

.trm-theme-ai .trm-shared-mega-icon { background: linear-gradient(135deg, #7c3aed, #0284c7); }
.trm-theme-app .trm-shared-mega-icon { background: linear-gradient(135deg, #0284c7, #2563eb); }
.trm-theme-shecanino .trm-shared-mega-icon { background: radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 38%), linear-gradient(135deg, #04D4BE, #1B1296) !important; }
.trm-theme-web .trm-shared-mega-icon { background: linear-gradient(135deg, #089f63, #0284c7); }
.trm-theme-game .trm-shared-mega-icon { background: linear-gradient(135deg, #f97316, #7c3aed); }
.trm-theme-api .trm-shared-mega-icon { background: linear-gradient(135deg, #0284c7, #16a34a); }
.trm-theme-system .trm-shared-mega-icon { background: linear-gradient(135deg, #16a34a, #4f46e5); }

.trm-home-v5 .trm-hero.trm-home-product-style-hero {
  min-height: auto !important;
  padding: clamp(16px, 2.2vw, 26px) 0 clamp(44px, 5vw, 68px) !important;
  background:
    radial-gradient(circle at 80% 0%, rgba(4, 212, 190, .10), transparent 24rem),
    radial-gradient(circle at 8% 44%, rgba(34, 197, 94, .045), transparent 32rem),
    linear-gradient(180deg, #020617 0%, rgba(2, 17, 15, .96) 74%, #020617 100%) !important;
}

.trm-home-product-shell {
  position: relative;
  overflow: hidden;
  padding: 18px;
  border-radius: 36px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.13), transparent 32%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.22), transparent 40%),
    linear-gradient(145deg, rgba(15, 23, 42, 0.94), rgba(2, 6, 23, 0.78));
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 34px 90px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
}

.trm-home-product-shell::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--trm-cyan), var(--trm-purple), var(--trm-cyan));
  z-index: 5;
}

.trm-home-product-banner {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background: rgba(2, 6, 23, .74);
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: 0 24px 64px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
}

.trm-home-product-banner img {
  display: block;
  width: 100%;
  aspect-ratio: 1024 / 341 !important;
  min-height: 0 !important;
  height: auto !important;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.06);
}

.trm-home-product-banner::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 6, 23, .03), rgba(2, 6, 23, .48)),
    radial-gradient(circle at top right, rgba(4, 212, 190, .10), transparent 38%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .18), transparent 44%);
  pointer-events: none;
}

.trm-home-product-banner-badge {
  position: absolute;
  right: auto;
  left: 18px;
  bottom: 18px;
  z-index: 2;
  min-height: 38px;
  padding: 8px 16px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(4, 212, 190, .28);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 900;
  line-height: 1.7;
  direction: ltr;
  text-align: left;
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.trm-home-product-main {
  display: grid;
  grid-template-columns: minmax(300px, .80fr) minmax(0, 1.70fr);
  gap: 18px;
  align-items: stretch;
  padding: 20px 4px 4px;
  direction: ltr;
}

.trm-home-product-copy {
  direction: rtl;
  grid-column: 2;
  position: relative;
  padding: 28px 28px 24px;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 36%),
    linear-gradient(145deg, rgba(15, 23, 42, .68), rgba(2, 6, 23, .42));
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.trm-home-product-copy h1 {
  max-width: 980px !important;
  margin: 0 0 16px !important;
  color: #fff;
  font-size: clamp(34px, 4.9vw, 58px) !important;
  font-weight: 950;
  line-height: 1.42 !important;
  letter-spacing: -.7px;
}

.trm-home-product-copy p {
  max-width: 850px !important;
  margin: 0;
  color: var(--trm-soft);
  font-size: 16.5px;
  line-height: 2.12;
  text-align: justify;
}

.trm-home-product-copy .trm-actions {
  margin-top: 24px;
}

.trm-home-product-copy .trm-trust-row {
  margin-top: 20px;
}

.trm-home-product-terminal {
  direction: ltr;
  text-align: left;
  grid-column: 1;
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 38%),
    linear-gradient(145deg, rgba(2, 6, 23, .96), rgba(15, 23, 42, .82));
  border: 1px solid rgba(148, 163, 184, .18);
  box-shadow: 0 22px 54px rgba(0,0,0,.34), inset 0 1px 0 rgba(255,255,255,.04);
}

.trm-home-product-terminal::before {
  content: "";
  position: absolute;
  inset: 0 18px auto 18px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--trm-cyan), var(--trm-purple), var(--trm-cyan));
}

.trm-terminal-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 18px 18px 14px;
  border-bottom: 1px solid rgba(148, 163, 184, .14);
  background: rgba(15, 23, 42, .64);
}

.trm-terminal-dots { display: flex; align-items: center; gap: 7px; }
.trm-terminal-dots span { width: 10px; height: 10px; border-radius: 999px; display: inline-block; }
.trm-terminal-dots .red { background: #fb7185; }
.trm-terminal-dots .yellow { background: #facc15; }
.trm-terminal-dots .green { background: #04D4BE; }
.trm-terminal-title { color: #cbd5e1; font-size: 12px; font-weight: 800; line-height: 1.6; white-space: nowrap; }
.trm-terminal-body { padding: 16px; }
.trm-terminal-command { margin-bottom: 14px; color: #dbeafe; font-size: 11.8px; line-height: 1.8; font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.trm-terminal-prompt { color: #04D4BE; font-weight: 950; }
.trm-terminal-cmd { color: #c4b5fd; font-weight: 800; }
.trm-log-list { display: grid; gap: 7px; }
.trm-log-row { display: grid; grid-template-columns: 20px minmax(0,1fr) auto; gap: 7px; align-items: center; min-height: 33px; padding: 7px 8px; border-radius: 13px; background: rgba(15,23,42,.58); border: 1px solid rgba(148,163,184,.12); font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace; }
.trm-log-check { width:20px; height:20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; color:#022c22; background:#04D4BE; font-size:12px; font-weight:950; box-shadow:0 0 14px rgba(4,212,190,.20); }
.trm-log-text { min-width:0; color:#e2e8f0; font-size:11.4px; line-height:1.55; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.trm-log-text strong { color:#fff; font-weight:950; }
.trm-log-status { justify-self:end; color:#86efac; font-size:10px; font-weight:900; padding:3px 7px; border-radius:999px; background:rgba(34,197,94,.10); border:1px solid rgba(34,197,94,.20); white-space:nowrap; }
.trm-terminal-footer { display:grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap:8px; margin-top:14px; }
.trm-terminal-footer div { padding:10px 8px; border-radius:15px; text-align:center; background:rgba(2,6,23,.62); border:1px solid rgba(148,163,184,.13); }
.trm-terminal-footer strong { display:block; color:#fff; font-size:12.4px; font-weight:950; line-height:1.7; }
.trm-terminal-footer small { display:block; color:var(--trm-muted); font-size:10.5px; line-height:1.6; }



/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  .trm-header-dropdown.trm-old-mega { width: min(760px, calc(100vw - 32px)) !important; }
  .trm-home-product-main { direction: rtl; grid-template-columns: 1fr !important; }
  .trm-home-product-copy, .trm-home-product-terminal { grid-column: auto; }
  .trm-home-product-copy { order: 1; }
  .trm-home-product-terminal { order: 2; }
}

@media (max-width: 780px) {
  .trm-header-dropdown.trm-old-mega {
    position: absolute !important;
    top: calc(100% + 8px) !important;
    right: 0 !important;
    left: 0 !important;
    width: 100% !important;
    max-height: 74vh;
    overflow: auto;
    grid-template-columns: 1fr !important;
    transform: translateY(8px) scale(.985) !important;
  }
  .trm-has-dropdown:hover .trm-header-dropdown.trm-old-mega,
  .trm-has-dropdown:focus-within .trm-header-dropdown.trm-old-mega { transform: translateY(0) scale(1) !important; }
  .trm-shared-mega-image-link { display: none !important; }
  .trm-shared-mega-copy small { display: none; }
  .trm-home-product-banner-badge { display: none !important; }
}

@media (max-width: 620px) {
  .trm-home-product-shell { padding: 10px; border-radius: 26px; }
  .trm-home-product-banner { border-radius: 20px; }
  .trm-home-product-main { padding-top: 14px; gap: 14px; }
  .trm-home-product-copy { padding: 20px 14px; border-radius: 22px; }
  .trm-home-product-copy h1 { font-size: 28px !important; line-height: 1.55 !important; }
  .trm-home-product-copy p { font-size: 15px; line-height: 2.05; text-align: right; }
  .trm-home-product-terminal { border-radius: 22px; }
  .trm-terminal-top { padding: 15px 14px 12px; }
  .trm-terminal-body { padding: 14px; }
  .trm-log-row { grid-template-columns: 20px minmax(0,1fr); }
  .trm-log-status { display: none; }
  .trm-log-text { white-space: normal; font-size: 11.2px; }
  .trm-terminal-footer { grid-template-columns: 1fr; }
}

/* =========================================================
   v0.9 focused fixes: stable replace package, attached mega menu,
   correct wide hero image, less boxed hero, controlled terminal height.
========================================================= */

.trm-site-header,
.trm-site-header-inner,
.trm-header-nav,
.trm-header-nav-item {
  overflow: visible !important;
}

.trm-header-nav-item {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
}

.trm-header-nav-item::before {
  display: none !important;
}

.trm-header-nav-item > a {
  gap: 6px !important;
}

.trm-header-nav-item > a::after {
  content: "" !important;
  display: inline-block !important;
  width: 7px !important;
  height: 7px !important;
  margin-inline-start: 4px !important;
  border-inline-end: 2px solid rgba(248, 250, 252, .76) !important;
  border-block-end: 2px solid rgba(248, 250, 252, .76) !important;
  transform: rotate(45deg) translateY(-1px) !important;
  transition: transform .18s ease, border-color .18s ease !important;
}

.trm-header-nav-item:hover > a::after,
.trm-header-nav-item:focus-within > a::after {
  transform: rotate(225deg) translateY(-1px) !important;
  border-color: var(--trm-cyan) !important;
}

.trm-header-dropdown.trm-old-mega {
  position: absolute !important;
  top: 100% !important;
  left: 50% !important;
  right: auto !important;
  margin-top: 0 !important;
  z-index: 999999 !important;
  transform: translateX(-50%) translateY(0) scale(.985) !important;
  transform-origin: top center !important;
}

.trm-has-dropdown:hover .trm-header-dropdown.trm-old-mega,
.trm-has-dropdown:focus-within .trm-header-dropdown.trm-old-mega {
  transform: translateX(-50%) translateY(0) scale(1) !important;
}

.trm-header-dropdown.trm-old-mega::after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: -1px;
  height: 1px;
}

.trm-home-v5 .trm-hero.trm-home-product-style-hero {
  padding-top: clamp(12px, 1.7vw, 22px) !important;
}

.trm-home-product-shell {
  width: min(1240px, calc(100vw - 28px)) !important;
  max-width: min(1240px, calc(100vw - 28px)) !important;
  padding: 0 14px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.trm-home-product-shell::before {
  display: none !important;
}

.trm-home-product-banner {
  width: 100% !important;
  height: clamp(220px, 28vw, 340px) !important;
  aspect-ratio: 1024 / 341 !important;
  border-radius: 28px !important;
}

.trm-home-product-banner img {
  width: 100% !important;
  height: 100% !important;
  aspect-ratio: auto !important;
  object-fit: cover !important;
  object-position: center center !important;
  filter: saturate(1.05) blur(.45px) !important;
  transform: scale(1.006) !important;
}

.trm-home-product-banner-badge {
  display: none !important;
}

.trm-home-product-main {
  grid-template-columns: minmax(330px, .88fr) minmax(0, 1.62fr) !important;
  gap: 14px !important;
  padding-top: 16px !important;
}

.trm-home-product-terminal {
  display: flex !important;
  flex-direction: column !important;
  min-height: 0 !important;
}

.trm-terminal-body {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
}

.trm-log-list {
  max-height: 300px !important;
  overflow-y: auto !important;
  padding-inline-end: 2px !important;
  scrollbar-width: thin;
}

.trm-terminal-footer {
  margin-top: auto !important;
  padding-top: 14px !important;
}

.trm-icon {
  direction: ltr !important;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace !important;
  letter-spacing: .2px !important;
}



/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  .trm-header-dropdown.trm-old-mega {
    left: 50% !important;
    right: auto !important;
  }
  .trm-home-product-main {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 780px) {
  .trm-header-dropdown.trm-old-mega {
    position: absolute !important;
    top: 100% !important;
    right: auto !important;
    left: 50% !important;
    width: min(92vw, 420px) !important;
    transform: translateX(-50%) scale(.985) !important;
  }
  .trm-has-dropdown:hover .trm-header-dropdown.trm-old-mega,
  .trm-has-dropdown:focus-within .trm-header-dropdown.trm-old-mega {
    transform: translateX(-50%) scale(1) !important;
  }
  .trm-home-product-shell {
    width: calc(100vw - 12px) !important;
    max-width: calc(100vw - 12px) !important;
    padding: 0 6px !important;
  }
  .trm-home-product-banner {
    height: clamp(150px, 42vw, 250px) !important;
    border-radius: 20px !important;
  }
}

/* =========================================================
   V1.0 FINAL UI POLISH
   فلش عمودی، ارتفاع قابل تنظیم Hero، لاگ پرکننده فضا، توضیح تک‌خطی مگامنو
========================================================= */
.trm-header-nav-item > a::after {
  display: none !important;
  content: none !important;
}

.trm-header-nav-item > a {
  gap: 7px !important;
}

.trm-menu-caret {
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  border-radius: 9px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(15, 23, 42, .42);
  border: 1px solid rgba(148, 163, 184, .18);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.trm-menu-caret::before {
  content: "";
  width: 6px;
  height: 6px;
  border-right: 2px solid rgba(248, 250, 252, .78);
  border-bottom: 2px solid rgba(248, 250, 252, .78);
  transform: rotate(45deg) translate(-1px, -1px);
  transition: transform .2s ease, border-color .2s ease;
}

.trm-header-nav-item:hover .trm-menu-caret,
.trm-header-nav-item:focus-within .trm-menu-caret {
  background: rgba(4, 212, 190, .10);
  border-color: rgba(4, 212, 190, .30);
  transform: translateY(-1px);
}

.trm-header-nav-item:hover .trm-menu-caret::before,
.trm-header-nav-item:focus-within .trm-menu-caret::before {
  border-color: var(--trm-cyan);
  transform: rotate(225deg) translate(-1px, -1px);
}

.trm-home-product-banner {
  height: var(--trm-hero-image-height, 260px) !important;
  max-height: var(--trm-hero-image-height, 260px) !important;
}

.trm-home-product-terminal {
  height: 100% !important;
}

.trm-terminal-body {
  height: 100% !important;
}

.trm-log-list {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: auto !important;
  align-content: start !important;
  padding-inline-end: 2px !important;
}

.trm-terminal-footer {
  flex: 0 0 auto !important;
  margin-top: 12px !important;
  padding-top: 0 !important;
}

.trm-shared-mega-item {
  min-width: 0 !important;
}

.trm-shared-mega-copy {
  min-width: 0 !important;
  overflow: hidden !important;
}

.trm-shared-mega-copy small {
  max-width: 100% !important;
  display: block !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  line-height: 1.55 !important;
}

@media (max-width: 780px) {
  .trm-home-product-banner {
    height: min(var(--trm-hero-image-height, 260px), 210px) !important;
    max-height: min(var(--trm-hero-image-height, 260px), 210px) !important;
  }
}


/* =========================================================
   V1.1 MOBILE MENU + TERMINAL HEIGHT FIX
   منوی همبرگری موبایل + هم‌قد شدن لاگ با ستون متن
========================================================= */
.trm-mobile-menu-button,
.trm-mobile-menu {
  display: none;
}

@media (min-width: 1081px) {
  .trm-home-product-main {
    align-items: stretch !important;
  }
  .trm-home-product-copy,
  .trm-home-product-terminal {
    min-height: 0 !important;
  }
  .trm-home-product-terminal {
    height: var(--trm-terminal-sync-height, auto) !important;
    max-height: var(--trm-terminal-sync-height, none) !important;
  }
  .trm-terminal-body {
    height: auto !important;
    flex: 1 1 auto !important;
    min-height: 0 !important;
    display: flex !important;
    flex-direction: column !important;
  }
  .trm-terminal-command {
    flex: 0 0 auto !important;
  }
  .trm-log-list {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    align-content: start !important;
  }
  .trm-terminal-footer {
    flex: 0 0 auto !important;
    margin-top: 12px !important;
  }
}

@media (max-width: 780px) {
  .trm-site-header-inner {
    gap: 10px !important;
    min-height: 66px !important;
  }

  .trm-header-nav,
  .trm-header-tools {
    display: none !important;
  }

  .trm-mobile-menu-button {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin-right: auto !important;
    margin-left: 0 !important;
    padding: 0 !important;
    border-radius: 14px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    flex-direction: column !important;
    gap: 5px !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.12), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.84)) !important;
    border: 1px solid rgba(148, 163, 184, 0.24) !important;
    color: #ffffff !important;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.24) !important;
    cursor: pointer !important;
  }

  .trm-mobile-menu-button span {
    width: 21px;
    height: 2px;
    border-radius: 999px;
    background: #ffffff;
    display: block;
    transition: transform .2s ease, opacity .2s ease;
  }

  body.trm-mobile-menu-open .trm-mobile-menu-button span:nth-child(1) {
    transform: translateY(7px) rotate(45deg);
  }
  body.trm-mobile-menu-open .trm-mobile-menu-button span:nth-child(2) {
    opacity: 0;
  }
  body.trm-mobile-menu-open .trm-mobile-menu-button span:nth-child(3) {
    transform: translateY(-7px) rotate(-45deg);
  }

  .trm-mobile-menu {
    position: fixed !important;
    inset: 0 !important;
    z-index: 999999 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.10), transparent 34%),
      radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.16), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.99), rgba(2, 6, 23, 0.98)) !important;
    transition: opacity .18s ease, visibility .18s ease !important;
  }

  body.trm-mobile-menu-open .trm-mobile-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  body.trm-mobile-menu-open {
    overflow: hidden !important;
  }

  .trm-mobile-menu-panel {
    width: 100% !important;
    height: 100% !important;
    padding: 10px 10px 24px !important;
    overflow-y: auto !important;
    direction: rtl !important;
    color: #ffffff !important;
  }

  .trm-mobile-menu-top {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    padding: 0 0 12px !important;
  }

  .trm-mobile-menu-top strong {
    font-size: 15px !important;
    font-weight: 950 !important;
    color: #f8fafc !important;
  }

  .trm-mobile-menu-close {
    width: 44px !important;
    height: 44px !important;
    min-width: 44px !important;
    min-height: 44px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    border-radius: 14px !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.14), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.88)) !important;
    border: 1px solid rgba(148, 163, 184, 0.26) !important;
    color: #ffffff !important;
    font-size: 30px !important;
    line-height: 1 !important;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.32), inset 0 1px 0 rgba(255, 255, 255, 0.05) !important;
    cursor: pointer !important;
  }

  .trm-mobile-nav {
    display: grid !important;
    gap: 8px !important;
  }

  .trm-mobile-link,
  .trm-mobile-link:visited,
  .trm-mobile-sub-toggle {
    width: 100% !important;
    min-height: 46px !important;
    padding: 9px 12px !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    border-radius: 15px !important;
    color: #f8fafc !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 900 !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.08), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.82), rgba(2, 6, 23, 0.74)) !important;
    border: 1px solid rgba(148, 163, 184, 0.20) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.035) !important;
    cursor: pointer !important;
    font-family: inherit !important;
    text-align: right !important;
  }

  .trm-mobile-sub-toggle[aria-expanded="true"],
  .trm-mobile-link:hover,
  .trm-mobile-sub-toggle:hover {
    color: #ffffff !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.15), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.96), rgba(2, 6, 23, 0.88)) !important;
    border-color: rgba(4, 212, 190, 0.34) !important;
  }

  .trm-mobile-arrow {
    width: 9px;
    height: 9px;
    border-right: 2px solid rgba(248,250,252,.82);
    border-bottom: 2px solid rgba(248,250,252,.82);
    transform: rotate(45deg);
    transition: transform .2s ease, border-color .2s ease;
  }

  .trm-mobile-sub-toggle[aria-expanded="true"] .trm-mobile-arrow {
    transform: rotate(225deg);
    border-color: var(--trm-cyan);
  }

  .trm-mobile-submenu {
    display: none !important;
    width: 100% !important;
    margin: 8px 0 0 !important;
    padding: 10px !important;
    border-radius: 18px !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.11), transparent 34%),
      radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.18), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.99), rgba(2, 6, 23, 0.97)) !important;
    border: 1px solid rgba(148, 163, 184, 0.22) !important;
    box-shadow: 0 18px 46px rgba(0, 0, 0, 0.28) !important;
  }

  .trm-mobile-group.trm-mobile-open .trm-mobile-submenu {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 8px !important;
  }

  .trm-mobile-main-link,
  .trm-mobile-main-link:visited,
  .trm-mobile-item,
  .trm-mobile-item:visited {
    width: 100% !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    display: flex !important;
    align-items: center !important;
    gap: 9px !important;
    border-radius: 15px !important;
    color: #ffffff !important;
    text-decoration: none !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.08), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.74), rgba(2, 6, 23, 0.58)) !important;
    border: 1px solid rgba(148, 163, 184, 0.16) !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03) !important;
  }

  .trm-mobile-main-link {
    border-color: rgba(4, 212, 190, 0.35) !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, 0.16), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, 0.92), rgba(2, 6, 23, 0.78)) !important;
  }

  .trm-mobile-icon {
    flex: 0 0 37px !important;
    width: 37px !important;
    height: 37px !important;
    border-radius: 13px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    color: #ffffff !important;
    font-size: 9.5px !important;
    font-weight: 950 !important;
    letter-spacing: .1px !important;
    background: radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 38%), linear-gradient(135deg, #0284c7, #7c3aed) !important;
    border: 1px solid rgba(255, 255, 255, 0.12) !important;
  }

  .trm-mobile-copy {
    display: block !important;
    min-width: 0 !important;
  }
  .trm-mobile-copy strong {
    display: block !important;
    color: #f8fafc !important;
    font-size: 13px !important;
    font-weight: 950 !important;
    line-height: 1.55 !important;
    margin: 0 0 1px !important;
  }
  .trm-mobile-copy small {
    display: block !important;
    color: #94a3b8 !important;
    font-size: 11px !important;
    font-weight: 500 !important;
    line-height: 1.55 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}


/* =========================================================
   V1.2 FINAL FIXES
   1) Terminal height is controlled only by the text column.
   2) Mobile menu is a real off-canvas full-screen panel outside header.
========================================================= */
@media (min-width: 1081px) {
  .trm-home-product-main {
    align-items: start !important;
  }

  .trm-home-product-copy {
    align-self: start !important;
    height: auto !important;
    max-height: none !important;
  }

  .trm-home-product-terminal {
    align-self: start !important;
    box-sizing: border-box !important;
    height: var(--trm-terminal-sync-height, auto) !important;
    max-height: var(--trm-terminal-sync-height, none) !important;
    min-height: 0 !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
  }

  .trm-terminal-top {
    flex: 0 0 auto !important;
  }

  .trm-terminal-body {
    flex: 1 1 auto !important;
    min-height: 0 !important;
    height: auto !important;
    overflow: hidden !important;
    display: flex !important;
    flex-direction: column !important;
    box-sizing: border-box !important;
  }

  .trm-terminal-command {
    flex: 0 0 auto !important;
    margin-bottom: 12px !important;
  }

  .trm-log-list {
    flex: 1 1 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    align-content: start !important;
    padding-inline-end: 3px !important;
    margin-bottom: 12px !important;
  }

  .trm-terminal-footer {
    flex: 0 0 auto !important;
    margin-top: 0 !important;
    padding-top: 0 !important;
  }
}

@media (max-width: 780px) {
  .trm-mobile-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    height: 100dvh !important;
    z-index: 2147483647 !important;
    display: block !important;
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
    background: rgba(2, 6, 23, .58) !important;
    backdrop-filter: blur(10px) !important;
    -webkit-backdrop-filter: blur(10px) !important;
    transition: opacity .22s ease, visibility .22s ease !important;
    overflow: hidden !important;
    direction: rtl !important;
  }

  body.trm-mobile-menu-open .trm-mobile-menu {
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
  }

  .trm-mobile-menu-panel {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;
    bottom: 0 !important;
    width: min(88vw, 420px) !important;
    max-width: 420px !important;
    height: 100vh !important;
    height: 100dvh !important;
    margin: 0 !important;
    padding: 12px 12px 26px !important;
    overflow-y: auto !important;
    overscroll-behavior: contain !important;
    direction: rtl !important;
    color: #ffffff !important;
    background:
      radial-gradient(circle at top right, rgba(4, 212, 190, .13), transparent 34%),
      radial-gradient(circle at bottom left, rgba(27, 18, 150, .18), transparent 42%),
      linear-gradient(145deg, rgba(15, 23, 42, .99), rgba(2, 6, 23, .985)) !important;
    border-left: 1px solid rgba(148, 163, 184, .20) !important;
    box-shadow: -28px 0 70px rgba(0,0,0,.42) !important;
    transform: translateX(104%) !important;
    transition: transform .24s ease !important;
  }

  body.trm-mobile-menu-open .trm-mobile-menu-panel {
    transform: translateX(0) !important;
  }

  .trm-mobile-menu-top {
    position: sticky !important;
    top: 0 !important;
    z-index: 2 !important;
    padding: 0 0 12px !important;
    background: linear-gradient(180deg, rgba(15,23,42,.98), rgba(15,23,42,.76) 70%, transparent) !important;
    backdrop-filter: blur(8px) !important;
    -webkit-backdrop-filter: blur(8px) !important;
  }
}


/* =========================================================
   V1.3 MOBILE MENU WIDTH FIX
   حذف اسکرول افقی و تمام‌عرض شدن پنل موبایل
========================================================= */
@media (max-width: 780px) {
  html,
  body,
  body.trm-mobile-menu-open {
    overflow-x: hidden !important;
  }

  .trm-mobile-menu,
  .trm-mobile-menu * {
    box-sizing: border-box !important;
  }

  .trm-mobile-menu {
    width: 100vw !important;
    max-width: 100vw !important;
    overflow: hidden !important;
  }

  .trm-mobile-menu-panel {
    left: 0 !important;
    right: 0 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 0 !important;
    border-left: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    overflow-x: hidden !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }

  .trm-mobile-menu-top,
  .trm-mobile-nav,
  .trm-mobile-group,
  .trm-mobile-submenu,
  .trm-mobile-link,
  .trm-mobile-sub-toggle,
  .trm-mobile-main-link,
  .trm-mobile-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
  }

  .trm-mobile-link,
  .trm-mobile-sub-toggle,
  .trm-mobile-main-link,
  .trm-mobile-item {
    flex-wrap: nowrap !important;
  }

  .trm-mobile-submenu {
    margin-left: 0 !important;
    margin-right: 0 !important;
    padding-left: 10px !important;
    padding-right: 10px !important;
  }

  .trm-mobile-icon {
    flex: 0 0 37px !important;
  }

  .trm-mobile-copy {
    flex: 1 1 auto !important;
    width: auto !important;
    max-width: calc(100% - 46px) !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  .trm-mobile-copy strong,
  .trm-mobile-copy small {
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }
}

/* v1.4: when the plugin must render the static front page itself, remove theme spacing completely. */
body.trm-forced-front-page {
  margin: 0 !important;
  padding: 0 !important;
  background: #020617 !important;
  overflow-x: hidden !important;
}
body.trm-forced-front-page .trm-home-wrap {
  margin-top: 0 !important;
}

/* =========================================================
   V1.5 STANDALONE HOME FOOTER
   فوتر اختصاصی صفحه اصلی داینامیک
========================================================= */
.trm-home-footer,
.trm-home-footer * {
  box-sizing: border-box !important;
}

.trm-home-footer {
  position: relative !important;
  margin-top: 34px !important;
  padding: 0 0 26px !important;
  color: #f8fafc !important;
  background:
    radial-gradient(circle at bottom right, rgba(4, 212, 190, .10), transparent 34%),
    radial-gradient(circle at top left, rgba(27, 18, 150, .14), transparent 38%),
    linear-gradient(180deg, rgba(2, 6, 23, 0), rgba(2, 6, 23, .96) 22%, #020617 100%) !important;
}

.trm-footer-panel {
  position: relative !important;
  overflow: hidden !important;
  padding: 26px !important;
  border-radius: 32px !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .16), transparent 42%),
    linear-gradient(145deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .62)) !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .30), inset 0 1px 0 rgba(255,255,255,.04) !important;
  backdrop-filter: blur(14px) !important;
  -webkit-backdrop-filter: blur(14px) !important;
}

.trm-footer-panel::before {
  content: "" !important;
  position: absolute !important;
  top: 0 !important;
  right: 24px !important;
  left: 24px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #04D4BE, #1B1296, #04D4BE) !important;
}

.trm-footer-main {
  display: grid !important;
  grid-template-columns: minmax(260px, .9fr) minmax(0, 1.8fr) !important;
  gap: 24px !important;
  align-items: start !important;
}

.trm-footer-brand {
  min-width: 0 !important;
}

.trm-footer-logo,
.trm-footer-logo:visited {
  display: inline-flex !important;
  align-items: center !important;
  gap: 12px !important;
  color: #ffffff !important;
  text-decoration: none !important;
  margin-bottom: 16px !important;
}

.trm-footer-logo img {
  width: 54px !important;
  height: 54px !important;
  border-radius: 18px !important;
  object-fit: cover !important;
  background: rgba(15,23,42,.62) !important;
  border: 1px solid rgba(148,163,184,.18) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
}

.trm-footer-logo strong {
  display: block !important;
  font-size: 18px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
  color: #ffffff !important;
}

.trm-footer-logo small {
  display: block !important;
  direction: ltr !important;
  text-align: right !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  color: #94a3b8 !important;
  line-height: 1.5 !important;
}

.trm-footer-brand p {
  margin: 0 0 18px !important;
  color: #cbd5e1 !important;
  font-size: 14.5px !important;
  line-height: 2.05 !important;
  text-align: right !important;
}

.trm-footer-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 10px !important;
}

.trm-footer-primary,
.trm-footer-primary:visited,
.trm-footer-ghost,
.trm-footer-ghost:visited {
  min-height: 43px !important;
  padding: 9px 15px !important;
  border-radius: 15px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #ffffff !important;
  text-decoration: none !important;
  font-size: 13.5px !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease !important;
}

.trm-footer-primary {
  background: linear-gradient(135deg, rgba(4,212,190,.94), rgba(8,127,149,.94)) !important;
  border: 1px solid rgba(4, 212, 190, .36) !important;
  box-shadow: 0 14px 28px rgba(0,0,0,.22) !important;
}

.trm-footer-ghost {
  background: rgba(15, 23, 42, .52) !important;
  border: 1px solid rgba(148, 163, 184, .22) !important;
}

.trm-footer-primary:hover,
.trm-footer-ghost:hover {
  transform: translateY(-2px) !important;
  color: #ffffff !important;
  border-color: rgba(4, 212, 190, .40) !important;
}

.trm-footer-columns {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 14px !important;
}

.trm-footer-col {
  min-width: 0 !important;
  padding: 16px !important;
  border-radius: 22px !important;
  background: rgba(15, 23, 42, .42) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
}

.trm-footer-col h3 {
  margin: 0 0 12px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
}

.trm-footer-col a,
.trm-footer-col a:visited {
  min-width: 0 !important;
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-top: 7px !important;
  padding: 7px 8px !important;
  border-radius: 13px !important;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 750 !important;
  line-height: 1.6 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: rgba(2, 6, 23, .20) !important;
  border: 1px solid rgba(148, 163, 184, .08) !important;
  transition: color .2s ease, transform .2s ease, border-color .2s ease, background .2s ease !important;
}

.trm-footer-col a span {
  flex: 0 0 28px !important;
  width: 28px !important;
  height: 28px !important;
  border-radius: 11px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  direction: ltr !important;
  color: #ffffff !important;
  font-size: 10px !important;
  font-weight: 950 !important;
  background: linear-gradient(135deg, #04D4BE, #1B1296) !important;
}

.trm-footer-col a:hover {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  border-color: rgba(4, 212, 190, .24) !important;
  background: rgba(15, 23, 42, .62) !important;
}

.trm-footer-bottom {
  margin-top: 22px !important;
  padding-top: 16px !important;
  border-top: 1px solid rgba(148, 163, 184, .14) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 14px !important;
  color: #94a3b8 !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
}

.trm-footer-bottom span:last-child {
  direction: ltr !important;
  text-align: left !important;
}

@media (max-width: 920px) {
  .trm-footer-main,
  .trm-footer-columns {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 620px) {
  .trm-home-footer {
    padding-bottom: 14px !important;
  }

  .trm-footer-panel {
    padding: 22px 14px !important;
    border-radius: 26px !important;
  }

  .trm-footer-actions,
  .trm-footer-bottom {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  .trm-footer-primary,
  .trm-footer-ghost {
    width: 100% !important;
  }

  .trm-footer-bottom,
  .trm-footer-bottom span:last-child {
    text-align: center !important;
  }
}

/* =========================================================
   V1.7 FOOTER REFINEMENT
   فوتر کامل، فشرده و هم‌ارتفاع‌تر صفحه اصلی
========================================================= */
.trm-home-footer .trm-footer-panel {
  padding: 22px !important;
}

.trm-footer-grid {
  position: relative !important;
  z-index: 2 !important;
  display: grid !important;
  grid-template-columns:
    minmax(220px, .82fr)
    minmax(132px, .88fr)
    minmax(178px, 1.12fr)
    minmax(154px, 1fr)
    minmax(210px, .92fr) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.trm-footer-grid > * {
  min-width: 0 !important;
}

.trm-footer-brand,
.trm-footer-col,
.trm-footer-contact {
  height: 100% !important;
  min-width: 0 !important;
  padding: 15px !important;
  border-radius: 22px !important;
  background: rgba(15, 23, 42, .38) !important;
  border: 1px solid rgba(148, 163, 184, .13) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.025) !important;
}

.trm-footer-brand {
  padding: 16px !important;
}

.trm-footer-logo,
.trm-footer-logo:visited {
  margin-bottom: 12px !important;
}

.trm-footer-logo img {
  width: 48px !important;
  height: 48px !important;
  border-radius: 16px !important;
}

.trm-footer-logo strong {
  font-size: 17px !important;
}

.trm-footer-logo small {
  font-size: 11.5px !important;
}

.trm-footer-brand p {
  margin: 0 0 13px !important;
  font-size: 13.2px !important;
  line-height: 1.95 !important;
  color: #cbd5e1 !important;
}

.trm-footer-col h3,
.trm-footer-contact h3 {
  margin: 0 0 11px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
}

.trm-footer-col a,
.trm-footer-col a:visited,
.trm-footer-contact a,
.trm-footer-contact a:visited {
  min-width: 0 !important;
  min-height: 30px !important;
  height: auto !important;
  display: flex !important;
  align-items: center !important;
  gap: 0 !important;
  margin-top: 6px !important;
  padding: 6px 0 !important;
  border-radius: 0 !important;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  font-size: 13px !important;
  font-weight: 760 !important;
  line-height: 1.55 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: transparent !important;
  border: 0 !important;
  transition: color .2s ease, transform .2s ease !important;
}

.trm-footer-col a::before,
.trm-footer-contact a::before {
  content: "" !important;
  flex: 0 0 6px !important;
  width: 6px !important;
  height: 6px !important;
  margin-left: 8px !important;
  border-radius: 999px !important;
  background: rgba(4, 212, 190, .78) !important;
  box-shadow: 0 0 12px rgba(4, 212, 190, .18) !important;
}

.trm-footer-col a span {
  display: none !important;
}

.trm-footer-col a:hover,
.trm-footer-contact a:hover {
  color: #ffffff !important;
  transform: translateX(-2px) !important;
  background: transparent !important;
  border: 0 !important;
}

.trm-footer-products .trm-footer-more {
  margin-top: 9px !important;
  color: #67e8f9 !important;
  font-weight: 900 !important;
}

.trm-footer-contact {
  font-size: 13px !important;
}

.trm-footer-contact .trm-footer-address {
  margin: 0 0 9px !important;
  color: #cbd5e1 !important;
  font-size: 12.8px !important;
  font-weight: 700 !important;
  line-height: 1.85 !important;
  text-align: right !important;
}

.trm-footer-trust-panel,
.trm-footer-trust-panel * {
  box-sizing: border-box !important;
}

.trm-footer-trust-panel {
  margin-top: 12px !important;
  padding: 12px !important;
  border-radius: 20px !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 34%),
    linear-gradient(145deg, rgba(2, 6, 23, .58), rgba(15, 23, 42, .42)) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
}

.trm-footer-trust-panel > strong {
  display: block !important;
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: 13.6px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
  text-align: right !important;
}

.trm-footer-trust-logos {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 9px !important;
  align-items: stretch !important;
}

.trm-footer-trust-logo,
.trm-footer-trust-logo:visited {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  min-height: 0 !important;
  padding: 8px !important;
  border-radius: 17px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(148, 163, 184, .17) !important;
  overflow: hidden !important;
  transition: transform .22s ease, border-color .22s ease, background .22s ease !important;
}

.trm-footer-trust-logo:hover {
  transform: translateY(-2px) !important;
  border-color: rgba(4, 212, 190, .32) !important;
  background: rgba(255, 255, 255, .08) !important;
}

.trm-footer-trust-logo img,
.trm-footer-trust-logo #zarinpal img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-width: 70px !important;
  max-height: 70px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.trm-footer-trust-logo #zarinpal {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.trm-footer-bottom {
  margin-top: 16px !important;
}

@media (max-width: 1100px) {
  .trm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .trm-footer-brand,
  .trm-footer-contact {
    grid-column: span 2 !important;
  }
}

@media (max-width: 700px) {
  .trm-home-footer .trm-footer-panel {
    padding: 18px 12px !important;
    border-radius: 26px !important;
  }

  .trm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .trm-footer-brand,
  .trm-footer-contact {
    grid-column: auto !important;
  }

  .trm-footer-brand,
  .trm-footer-col,
  .trm-footer-contact {
    padding: 15px 14px !important;
  }

  .trm-footer-trust-logo img,
  .trm-footer-trust-logo #zarinpal img {
    max-width: 64px !important;
    max-height: 64px !important;
  }
}

/* =========================================================
   TRM v1.8 footer final tuning
   - configurable column widths
   - compact card links
   - complete contact info
========================================================= */
.trm-home-footer .trm-footer-panel {
  padding: 22px !important;
}

.trm-footer-grid {
  grid-template-columns:
    minmax(230px, var(--trm-footer-brand, 1.15fr))
    minmax(90px, var(--trm-footer-access, 0.59fr))
    minmax(142px, var(--trm-footer-services, 0.93fr))
    minmax(122px, var(--trm-footer-products, 0.80fr))
    minmax(250px, var(--trm-footer-contact, 1.26fr)) !important;
  gap: 10px !important;
  align-items: stretch !important;
}

.trm-footer-brand,
.trm-footer-col,
.trm-footer-contact {
  min-width: 0 !important;
  height: 100% !important;
  padding: 15px !important;
  border-radius: 22px !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .055), transparent 34%),
    linear-gradient(145deg, rgba(15, 23, 42, .46), rgba(2, 6, 23, .28)) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .03) !important;
}

.trm-footer-brand {
  padding: 16px !important;
}

.trm-footer-brand p {
  margin: 0 0 12px !important;
  color: #cbd5e1 !important;
  font-size: 13.05px !important;
  line-height: 1.92 !important;
  text-align: justify !important;
}

.trm-footer-col h3,
.trm-footer-contact h3 {
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: 15px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
}

.trm-footer-col a,
.trm-footer-col a:visited {
  min-width: 0 !important;
  width: 100% !important;
  min-height: 34px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  margin-top: 6px !important;
  padding: 7px 9px !important;
  border-radius: 12px !important;
  color: #dbeafe !important;
  text-decoration: none !important;
  font-size: 12.7px !important;
  font-weight: 820 !important;
  line-height: 1.55 !important;
  white-space: nowrap !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: rgba(15, 23, 42, .48) !important;
  border: 1px solid rgba(148, 163, 184, .12) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.022) !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, color .2s ease !important;
}

.trm-footer-col a::before,
.trm-footer-contact a::before {
  display: none !important;
  content: none !important;
}

.trm-footer-col a:hover {
  color: #ffffff !important;
  transform: translateY(-2px) !important;
  border-color: rgba(4, 212, 190, .28) !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .10), transparent 38%),
    rgba(15, 23, 42, .68) !important;
}

.trm-footer-more,
.trm-footer-products .trm-footer-more,
.trm-footer-services .trm-footer-more {
  color: #67e8f9 !important;
  border-color: rgba(4, 212, 190, .20) !important;
  background: rgba(4, 212, 190, .08) !important;
  font-weight: 950 !important;
}

.trm-footer-contact {
  display: flex !important;
  flex-direction: column !important;
  gap: 8px !important;
  font-size: 13px !important;
}

.trm-footer-contact-item {
  min-width: 0 !important;
  padding: 9px 10px !important;
  border-radius: 14px !important;
  background: rgba(15, 23, 42, .46) !important;
  border: 1px solid rgba(148, 163, 184, .12) !important;
}

.trm-footer-contact-item strong {
  display: block !important;
  margin: 0 0 4px !important;
  color: #ffffff !important;
  font-size: 12.4px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
}

.trm-footer-contact-item span,
.trm-footer-contact-item p,
.trm-footer-contact-item a,
.trm-footer-contact-item a:visited {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #cbd5e1 !important;
  text-decoration: none !important;
  background: transparent !important;
  border: 0 !important;
  font-size: 12.45px !important;
  font-weight: 720 !important;
  line-height: 1.78 !important;
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  box-shadow: none !important;
}

.trm-footer-contact-item a:hover {
  color: #ffffff !important;
  transform: none !important;
}

.trm-footer-contact-inline a + a,
.trm-footer-emails a + a {
  margin-top: 3px !important;
}

.trm-footer-contact .trm-footer-address {
  text-align: right !important;
}

.trm-footer-trust-panel {
  margin-top: 12px !important;
  padding: 12px !important;
  border-radius: 19px !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .075), transparent 34%),
    linear-gradient(145deg, rgba(2, 6, 23, .64), rgba(15, 23, 42, .40)) !important;
  border: 1px solid rgba(148, 163, 184, .14) !important;
}

.trm-footer-trust-panel > strong {
  display: block !important;
  margin: 0 0 10px !important;
  color: #ffffff !important;
  font-size: 13.5px !important;
  font-weight: 950 !important;
  line-height: 1.7 !important;
  text-align: right !important;
}

.trm-footer-trust-logos {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.trm-footer-trust-logo,
.trm-footer-trust-logo:visited {
  width: 100% !important;
  aspect-ratio: 1 / 1 !important;
  padding: 8px !important;
  border-radius: 17px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  background: rgba(255, 255, 255, .055) !important;
  border: 1px solid rgba(148, 163, 184, .17) !important;
  overflow: hidden !important;
}

.trm-footer-trust-logo img,
.trm-footer-trust-logo #zarinpal img {
  width: 100% !important;
  height: 100% !important;
  max-width: 70px !important;
  max-height: 70px !important;
  object-fit: contain !important;
  object-position: center !important;
}

.trm-footer-trust-logo #zarinpal {
  width: 100% !important;
  height: 100% !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

@media (max-width: 1180px) {
  .trm-footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .trm-footer-brand,
  .trm-footer-contact {
    grid-column: span 2 !important;
  }
}

@media (max-width: 700px) {
  .trm-home-footer .trm-footer-panel {
    padding: 18px 12px !important;
    border-radius: 26px !important;
  }

  .trm-footer-grid {
    grid-template-columns: 1fr !important;
    gap: 10px !important;
  }

  .trm-footer-brand,
  .trm-footer-contact {
    grid-column: auto !important;
  }

  .trm-footer-brand,
  .trm-footer-col,
  .trm-footer-contact {
    padding: 15px 14px !important;
  }

  .trm-footer-brand p {
    text-align: right !important;
  }

  .trm-footer-trust-logo img,
  .trm-footer-trust-logo #zarinpal img {
    max-width: 64px !important;
    max-height: 64px !important;
  }
}

/* =========================================================
   PRODUCTS PAGE V2 - Dynamic portfolio page
========================================================= */
.trm-products-page-v2 {
  padding: 26px 0 72px;
}

.trm-products-page-v2 .trm-products-hero {
  position: relative;
  overflow: hidden;
  margin-top: 22px;
  border-radius: 36px;
  padding: 18px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .14), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .17), transparent 42%),
    linear-gradient(145deg, rgba(15, 23, 42, .92), rgba(2, 6, 23, .74));
  border: 1px solid var(--trm-border);
  box-shadow: 0 34px 90px rgba(0,0,0,.36), inset 0 1px 0 rgba(255,255,255,.04);
}

.trm-products-page-v2 .trm-products-hero::before {
  content: '';
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, var(--trm-cyan), var(--trm-purple), var(--trm-cyan));
  z-index: 3;
}

.trm-products-page-v2 .trm-products-hero-media {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  aspect-ratio: 16 / 6.1;
  min-height: 230px;
  background: rgba(2, 6, 23, .78);
  border: 1px solid rgba(148, 163, 184, .16);
  box-shadow: 0 22px 58px rgba(0,0,0,.28);
}

.trm-products-page-v2 .trm-products-hero-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
  filter: saturate(1.06);
}

.trm-products-page-v2 .trm-products-hero-media::after {
  content: '';
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2, 6, 23, .06), rgba(2, 6, 23, .62)),
    radial-gradient(circle at top right, rgba(4, 212, 190, .14), transparent 36%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .22), transparent 42%);
  pointer-events: none;
}

.trm-products-page-v2 .trm-products-hero-content {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(270px, .65fr);
  gap: 18px;
  align-items: stretch;
  padding-top: 18px;
}

.trm-products-page-v2 .trm-products-hero-copy,
.trm-products-page-v2 .trm-products-quick,
.trm-products-page-v2 .trm-products-why-panel {
  border-radius: 28px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .08), transparent 36%),
    linear-gradient(145deg, rgba(15, 23, 42, .68), rgba(2, 6, 23, .42));
  border: 1px solid rgba(148, 163, 184, .15);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
}

.trm-products-page-v2 .trm-products-hero-copy {
  padding: clamp(22px, 3vw, 34px);
}

.trm-products-page-v2 .trm-products-hero-copy h1 {
  margin: 14px 0 16px;
  color: #fff;
  font-size: clamp(31px, 4.4vw, 56px);
  font-weight: 950;
  line-height: 1.42;
  letter-spacing: -.7px;
  text-wrap: balance;
}

.trm-products-page-v2 .trm-products-hero-copy p {
  max-width: 920px;
  margin: 0;
  color: var(--trm-soft);
  font-size: 16px;
  line-height: 2.1;
  text-align: justify;
}

.trm-products-page-v2 .trm-products-hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 11px;
  margin-top: 24px;
}

.trm-products-page-v2 .trm-btn-soft-green {
  background: linear-gradient(135deg, rgba(8, 159, 99, .88), rgba(22, 163, 74, .78));
  border-color: rgba(34, 197, 94, .24);
}

.trm-products-page-v2 .trm-products-quick {
  display: grid;
  gap: 12px;
  padding: 18px;
}

.trm-products-page-v2 .trm-products-quick div {
  padding: 16px;
  border-radius: 20px;
  background: rgba(15, 23, 42, .55);
  border: 1px solid rgba(148, 163, 184, .14);
}

.trm-products-page-v2 .trm-products-quick strong {
  display: block;
  color: #fff;
  font-size: 15.5px;
  font-weight: 950;
  line-height: 1.8;
}

.trm-products-page-v2 .trm-products-quick span {
  display: block;
  color: var(--trm-muted);
  font-size: 12.5px;
  line-height: 1.85;
}

.trm-products-page-v2 .trm-products-stats {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
  padding: 18px;
  border-radius: 30px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    linear-gradient(145deg, rgba(15, 23, 42, .84), rgba(2, 6, 23, .66));
  border: 1px solid var(--trm-border);
  box-shadow: 0 24px 60px rgba(0,0,0,.24);
}

.trm-products-page-v2 .trm-products-stats div {
  padding: 18px 12px;
  border-radius: 22px;
  text-align: center;
  background: rgba(15, 23, 42, .54);
  border: 1px solid rgba(148, 163, 184, .14);
}

.trm-products-page-v2 .trm-products-stats strong {
  display: block;
  color: #fff;
  font-size: 22px;
  font-weight: 950;
  line-height: 1.75;
}

.trm-products-page-v2 .trm-products-stats span {
  color: var(--trm-muted);
  font-size: 12.8px;
  line-height: 1.8;
}

.trm-products-page-v2 .trm-section {
  padding: 42px 0 10px;
}

.trm-products-page-v2 .trm-section-head {
  max-width: 900px;
}

.trm-products-page-v2 .trm-products-team-section .trm-team-grid,
.trm-products-page-v2 .trm-products-services-section .trm-services-grid,
.trm-products-page-v2 .trm-products-projects-section .trm-products-grid {
  margin-top: 20px;
}

.trm-products-page-v2 .trm-products-why-panel {
  padding: clamp(24px, 3vw, 34px);
}

.trm-products-page-v2 .trm-products-why-panel .trm-section-head {
  max-width: 960px;
  margin-bottom: 18px;
}

.trm-products-page-v2 .trm-products-why-panel .trm-section-head p {
  max-width: 960px;
  text-align: justify;
}

.trm-products-page-v2 .trm-products-highlight {
  padding: 16px 18px;
  border-radius: 19px;
  color: #ecfeff;
  line-height: 2;
  background: rgba(4, 212, 190, .095);
  border: 1px solid rgba(4, 212, 190, .22);
}

.trm-products-page-v2 .trm-products-cta {
  margin-top: 2px;
}

@media (max-width: 1100px) {
  .trm-products-page-v2 .trm-products-hero-content {
    grid-template-columns: 1fr;
  }
  .trm-products-page-v2 .trm-products-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .trm-products-page-v2 .trm-products-stats,
  .trm-products-page-v2 .trm-products-quick {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 780px) {
  .trm-products-page-v2 {
    padding-top: 10px;
  }
  .trm-products-page-v2 .trm-products-hero {
    width: calc(100vw - 14px);
    margin-top: 10px;
    border-radius: 26px;
    padding: 10px;
  }
  .trm-products-page-v2 .trm-products-hero-media {
    min-height: 170px;
    aspect-ratio: 16 / 8.5;
    border-radius: 20px;
  }
  .trm-products-page-v2 .trm-products-hero-copy,
  .trm-products-page-v2 .trm-products-quick,
  .trm-products-page-v2 .trm-products-why-panel {
    border-radius: 22px;
  }
  .trm-products-page-v2 .trm-products-hero-copy {
    padding: 20px 14px;
  }
  .trm-products-page-v2 .trm-products-hero-copy h1 {
    font-size: 27px;
    line-height: 1.55;
  }
  .trm-products-page-v2 .trm-products-hero-copy p,
  .trm-products-page-v2 .trm-products-why-panel .trm-section-head p {
    font-size: 14.5px;
    line-height: 2.05;
    text-align: right;
  }
  .trm-products-page-v2 .trm-products-hero-actions {
    display: grid;
    grid-template-columns: 1fr;
  }
  .trm-products-page-v2 .trm-products-stats,
  .trm-products-page-v2 .trm-products-quick {
    grid-template-columns: 1fr;
  }
  .trm-products-page-v2 .trm-products-stats {
    width: calc(100vw - 32px);
  }
}

/* =========================================================
   PRODUCTS PAGE V2.1 FIX
   - Use the same custom header as the home page.
   - Hide parent theme header only for products shortcode pages.
   - Prevent right-shift / left clipping inside FSE page content.
========================================================= */
body.trm-standalone-products,
body.trm-standalone-products .wp-site-blocks,
body.trm-standalone-products :where(main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  background:
    radial-gradient(circle at 82% 0%, rgba(4, 212, 190, .11), transparent 32rem),
    radial-gradient(circle at 8% 18%, rgba(34, 197, 94, .06), transparent 30rem),
    linear-gradient(180deg, #020617 0%, #02110f 42%, #020617 100%) !important;
}

body.trm-standalone-products :where(.wp-site-blocks > header, .wp-site-blocks > .wp-block-template-part:first-child, header.wp-block-template-part, .site-header, #masthead) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.trm-standalone-products :where(.wp-site-blocks, main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
  max-width: none !important;
  overflow-x: hidden !important;
}

body.trm-standalone-products :where(.entry-content, .wp-block-post-content) > :not(.trm-page):empty,
body.trm-standalone-products :where(.entry-content, .wp-block-post-content) > .wp-block-spacer,
body.trm-standalone-products :where(.entry-content, .wp-block-post-content) > p:empty {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2.trm-page {
  width: 100vw !important;
  max-width: 100vw !important;
  position: relative !important;
  left: 50% !important;
  right: auto !important;
  transform: translateX(-50%) !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  margin-top: 0 !important;
  overflow-x: hidden !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .12), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .055), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #02110f 34%, #020617 100%) !important;
}

body.trm-standalone-products .trm-products-main {
  width: 100%;
  padding: 24px 0 72px;
}

body.trm-standalone-products .trm-products-page-v2 {
  padding: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero {
  margin-top: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-container,
body.trm-standalone-products .trm-products-page-v2 section.trm-container {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 780px) {
  body.trm-standalone-products .trm-products-main {
    padding-top: 12px;
  }
  body.trm-standalone-products .trm-products-page-v2 .trm-products-hero,
  body.trm-standalone-products .trm-products-page-v2 .trm-products-stats {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    margin-left: auto !important;
    margin-right: auto !important;
  }
}

/* =========================================================
   PRODUCTS PAGE V2.2 FIX
   - Custom footer for products page and no native footer.
   - Remove internal/secondary scrolling and left clipping.
   - Center content consistently.
   - 16:9 hero image.
   - Give hero copy more width and quick cards less width.
========================================================= */
html:has(body.trm-standalone-products),
body.trm-standalone-products {
  overflow-x: hidden !important;
}

body.trm-standalone-products :where(.wp-site-blocks > footer, footer.wp-block-template-part, .site-footer, #colophon) {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}

body.trm-standalone-products :where(.wp-site-blocks, main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content, .wp-block-group) {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow-y: visible !important;
  overflow-x: clip !important;
}

body.trm-standalone-products .trm-products-page-v2.trm-page {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  inset: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  overflow: visible !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .12), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .055), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #02110f 34%, #020617 100%) !important;
}

body.trm-standalone-products .trm-products-main {
  width: 100% !important;
  max-width: 100% !important;
  padding: 38px 0 72px !important;
  overflow: visible !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-container,
body.trm-standalone-products .trm-products-page-v2 section.trm-container {
  width: min(1220px, calc(100% - 32px)) !important;
  max-width: min(1220px, calc(100% - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero {
  margin-top: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero-media {
  aspect-ratio: 16 / 9 !important;
  min-height: 320px !important;
  max-height: none !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero-content {
  grid-template-columns: minmax(0, 1.76fr) minmax(220px, .44fr) !important;
  gap: 16px !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-quick {
  padding: 14px !important;
  gap: 10px !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-quick div {
  padding: 12px 13px !important;
  border-radius: 17px !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-quick strong {
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-quick span {
  font-size: 11.5px !important;
  line-height: 1.75 !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero-copy p {
  max-width: 100% !important;
}

@media (max-width: 1100px) {
  body.trm-standalone-products .trm-products-page-v2 .trm-products-hero-content {
    grid-template-columns: 1fr !important;
  }
  body.trm-standalone-products .trm-products-page-v2 .trm-products-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.trm-standalone-products .trm-products-main {
    padding-top: 18px !important;
  }
  body.trm-standalone-products .trm-products-page-v2 .trm-products-hero,
  body.trm-standalone-products .trm-products-page-v2 .trm-products-stats {
    width: calc(100% - 14px) !important;
    max-width: calc(100% - 14px) !important;
  }
  body.trm-standalone-products .trm-products-page-v2 .trm-products-hero-media {
    aspect-ratio: 16 / 9 !important;
    min-height: 190px !important;
  }
  body.trm-standalone-products .trm-products-page-v2 .trm-products-quick {
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   PRODUCTS PAGE V2.3 EDGE RESET
   - Full-bleed products shortcode page inside FSE wrappers.
   - Add breathing room below custom header.
   - Remove left/right/bottom gaps on products header/footer.
========================================================= */
body.trm-standalone-products {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #020617 !important;
}

body.trm-standalone-products :where(.wp-site-blocks, main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content, .wp-block-group, .wp-block-group__inner-container) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.trm-standalone-products .trm-products-page-v2.trm-page {
  box-sizing: border-box !important;
  width: 100vw !important;
  max-width: 100vw !important;
  min-width: 100vw !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding: 0 !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  display: flex !important;
  flex-direction: column !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-site-header,
body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.trm-standalone-products .trm-products-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  padding-top: 56px !important;
  padding-bottom: 72px !important;
  margin: 0 !important;
  overflow: visible !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero {
  margin-top: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer .trm-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 780px) {
  body.trm-standalone-products :where(.wp-site-blocks, main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content, .wp-block-group, .wp-block-group__inner-container) {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.trm-standalone-products .trm-products-page-v2.trm-page {
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    margin-left: calc(50% - 50vw) !important;
    margin-right: calc(50% - 50vw) !important;
  }

  body.trm-standalone-products .trm-products-main {
    padding-top: 15px !important;
    padding-bottom: 50px !important;
  }

  body.trm-standalone-products .trm-products-page-v2 .trm-container,
  body.trm-standalone-products .trm-products-page-v2 section.trm-container {
    width: min(100%, calc(100vw - 14px)) !important;
    max-width: min(100%, calc(100vw - 14px)) !important;
  }

  body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer {
    padding-bottom: 0 !important;
  }
}


/* =========================================================
   PRODUCTS PAGE V2.4 SPACING FIX
   - Final simple spacing reset requested by user.
   - Add visible breathing room under custom header.
   - Remove bottom gap around products footer/page.
========================================================= */
body.trm-standalone-products,
body.trm-standalone-products .wp-site-blocks,
body.trm-standalone-products :where(main, .site-main, #primary, .content-area, .entry-content, .wp-block-post-content) {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2.trm-page {
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  border-bottom: 0 !important;
}

body.trm-standalone-products .trm-products-main {
  padding-top: 78px !important;
  padding-bottom: 64px !important;
}

body.trm-standalone-products .trm-products-page-v2 .trm-products-hero {
  margin-top: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer .trm-footer-panel {
  margin-bottom: 0 !important;
}

body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer + * {
  display: none !important;
}

@media (max-width: 780px) {
  body.trm-standalone-products .trm-products-main {
    padding-top: 54px !important;
    padding-bottom: 42px !important;
  }

  body.trm-standalone-products .trm-products-page-v2 > .trm-home-footer {
    padding-bottom: 0 !important;
    margin-bottom: 0 !important;
  }
}


/* =========================================================
   PRODUCTS PAGE V2.5 REAL STANDALONE SPACING FIX
   دلیل: در بعضی قالب‌های FSE، صفحه‌ای که shortcode دارد داخل wrapperهای قالب
   رندر می‌شود و margin/paddingهای قبلی اثر نمی‌گذارند. از نسخه 2.5 برای
   [tinies_products] قالب مستقل استفاده می‌شود؛ این بلاک فقط همان حالت را قفل می‌کند.
========================================================= */
html:has(body.trm-forced-products-page),
body.trm-forced-products-page {
  margin: 0 !important;
  padding: 0 !important;
  width: 100% !important;
  min-width: 100% !important;
  min-height: 100% !important;
  overflow-x: hidden !important;
  background: #020617 !important;
}

body.trm-forced-products-page .trm-products-page-v2.trm-page {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  transform: none !important;
  left: auto !important;
  right: auto !important;
}

body.trm-forced-products-page .trm-products-page-v2 > .trm-site-header,
body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.trm-forced-products-page .trm-products-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 68px 0 0 !important;
  overflow: visible !important;
}

body.trm-forced-products-page .trm-products-page-v2 .trm-products-hero {
  margin-top: 0 !important;
}

body.trm-forced-products-page .trm-products-page-v2 .trm-container,
body.trm-forced-products-page .trm-products-page-v2 section.trm-container,
body.trm-forced-products-page .trm-products-page-v2 .trm-home-footer .trm-container {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer {
  margin-top: 72px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer .trm-footer-panel,
body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer .trm-footer-bottom {
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-forced-products-page .trm-products-main {
    padding-top: 38px !important;
    padding-bottom: 0 !important;
  }

  body.trm-forced-products-page .trm-products-page-v2 .trm-container,
  body.trm-forced-products-page .trm-products-page-v2 section.trm-container,
  body.trm-forced-products-page .trm-products-page-v2 .trm-home-footer .trm-container {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }

  body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer {
    margin-top: 48px !important;
  }
}


/* =========================================================
   PRODUCTS PAGE V2.6 FINAL SPACING LOCK
   - این قواعد عمداً در انتهای فایل آمده‌اند تا resetهای نسخه‌های قبلی را override کنند.
   - فاصله واقعی بین هدر اختصاصی و Hero محصولات روی خود کارت Hero اعمال می‌شود.
   - فوتر محصولات مثل صفحه اصلی padding پایین دارد و به لبه پایین نمی‌چسبد.
========================================================= */
body.trm-forced-products-page .trm-products-page-v2 > .trm-site-header {
  margin-bottom: 0 !important;
}

body.trm-forced-products-page .trm-products-main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-forced-products-page .trm-products-page-v2 .trm-products-hero.trm-container {
  margin-top: clamp(26px, 3vw, 46px) !important;
}

body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer {
  margin-top: 72px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
}

body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer .trm-footer-panel {
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-forced-products-page .trm-products-page-v2 .trm-products-hero.trm-container {
    margin-top: 22px !important;
  }

  body.trm-forced-products-page .trm-products-page-v2 > .trm-home-footer {
    margin-top: 48px !important;
    padding-bottom: 18px !important;
  }
}


/* =========================================================
   SERVICES PAGE V2.7 - Dynamic services page
========================================================= */
.trm-services-page-v1 .trm-services-list-section .trm-services-grid,
.trm-services-page-v1 .trm-services-products-section .trm-products-grid {
  margin-top: 20px;
}

.trm-services-page-v1 .trm-services-process-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 20px;
}

.trm-services-page-v1 .trm-services-process-grid > div {
  min-height: 178px;
  padding: 20px;
  border-radius: 22px;
  background: rgba(15, 23, 42, .54);
  border: 1px solid rgba(148, 163, 184, .14);
}

.trm-services-page-v1 .trm-services-process-grid strong {
  width: 46px;
  height: 46px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 12px;
  border-radius: 17px;
  color: #fff;
  font-size: 15px;
  font-weight: 950;
  background: linear-gradient(135deg, rgba(4, 212, 190, .95), rgba(27, 18, 150, .8));
  border: 1px solid rgba(255, 255, 255, .14);
}

.trm-services-page-v1 .trm-services-process-grid h3 {
  margin: 0 0 8px;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
  line-height: 1.7;
}

.trm-services-page-v1 .trm-services-process-grid p {
  margin: 0;
  color: var(--trm-muted);
  font-size: 14px;
  line-height: 2;
}

body.trm-forced-services-page .trm-services-page-v1.trm-page {
  width: 100% !important;
  min-width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  transform: none !important;
}

body.trm-forced-services-page .trm-services-page-v1 > .trm-site-header,
body.trm-forced-services-page .trm-services-page-v1 > .trm-home-footer {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
}

body.trm-forced-services-page .trm-services-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-container,
body.trm-forced-services-page .trm-services-page-v1 section.trm-container,
body.trm-forced-services-page .trm-services-page-v1 .trm-home-footer .trm-container {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero.trm-container {
  margin-top: clamp(18px, 2vw, 28px) !important;
}

body.trm-forced-services-page .trm-services-page-v1 > .trm-home-footer {
  margin-top: 72px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 26px !important;
}

@media (max-width: 1100px) {
  .trm-services-page-v1 .trm-services-process-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 780px) {
  body.trm-forced-services-page .trm-services-page-v1 .trm-container,
  body.trm-forced-services-page .trm-services-page-v1 section.trm-container,
  body.trm-forced-services-page .trm-services-page-v1 .trm-home-footer .trm-container {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }

  body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero.trm-container {
    margin-top: 18px !important;
  }

  body.trm-forced-services-page .trm-services-page-v1 > .trm-home-footer {
    margin-top: 48px !important;
    padding-bottom: 18px !important;
  }
}


/* =========================================================
   PRODUCTS/SERVICES PAGE V2.8 FINAL LAYOUT TWEAKS
   - Services hero image ratio: 16:9.
   - Services quick cards column is narrower and copy column is wider.
   - Products top spacing matches services spacing.
========================================================= */
body.trm-forced-products-page .trm-products-page-v2 .trm-products-hero.trm-container {
  margin-top: clamp(18px, 2vw, 28px) !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-media {
  aspect-ratio: 16 / 9 !important;
  min-height: 320px !important;
  max-height: none !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-content {
  grid-template-columns: minmax(0, 1.78fr) minmax(190px, .32fr) !important;
  gap: 16px !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-copy p {
  max-width: 100% !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
  padding: 13px !important;
  gap: 9px !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div {
  padding: 11px 12px !important;
  border-radius: 16px !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick strong {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick span {
  font-size: 11px !important;
  line-height: 1.65 !important;
}

@media (max-width: 1100px) {
  body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-content {
    grid-template-columns: 1fr !important;
  }

  body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.trm-forced-products-page .trm-products-page-v2 .trm-products-hero.trm-container {
    margin-top: 18px !important;
  }

  body.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-media {
    aspect-ratio: 16 / 9 !important;
    min-height: 190px !important;
  }

  body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   PRODUCTS/SERVICES PAGE V2.9 HERO QUICK CARD POLISH
   - Correct services image is handled in PHP settings upgrade.
   - Add compact top icons to quick cards so empty vertical space is intentional.
========================================================= */
.trm-products-page-v2 .trm-products-quick div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 7px !important;
  min-height: 116px !important;
}

.trm-products-page-v2 .trm-products-quick .trm-quick-icon {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  margin: 0 0 2px !important;
  border-radius: 15px !important;
  color: #ffffff !important;
  font-size: 10.5px !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: .25px !important;
  direction: ltr !important;
  background:
    radial-gradient(circle at top right, rgba(255,255,255,.18), transparent 38%),
    linear-gradient(135deg, rgba(4,212,190,.92), rgba(27,18,150,.82)) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.22), inset 0 1px 0 rgba(255,255,255,.08) !important;
}

.trm-products-page-v2 .trm-products-quick strong,
.trm-products-page-v2 .trm-products-quick span {
  text-align: center !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick div {
  min-height: 126px !important;
  padding-top: 15px !important;
  padding-bottom: 15px !important;
}

body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick .trm-quick-icon,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick .trm-quick-icon {
  width: 44px !important;
  height: 44px !important;
  border-radius: 16px !important;
}

@media (max-width: 780px) {
  .trm-products-page-v2 .trm-products-quick div,
  body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div,
  body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick div {
    min-height: 108px !important;
  }
}


/* =========================================================
   PRODUCTS/SERVICES PAGE V3.0 QUICK CARDS WITHOUT ICONS
   - Keep centered quick cards.
   - Remove compact top icons added in v2.9.
   - Restore shorter card height so hero copy height does not increase.
========================================================= */
.trm-products-page-v2 .trm-products-quick .trm-quick-icon,
body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick .trm-quick-icon,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick .trm-quick-icon {
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.trm-products-page-v2 .trm-products-quick div,
body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick div {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 4px !important;
  min-height: 88px !important;
  padding: 12px 14px !important;
}

.trm-products-page-v2 .trm-products-quick strong,
.trm-products-page-v2 .trm-products-quick span,
body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick strong,
body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick span,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick strong,
body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick span {
  text-align: center !important;
}

@media (max-width: 780px) {
  .trm-products-page-v2 .trm-products-quick div,
  body.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div,
  body.trm-forced-products-page .trm-products-page-v2 .trm-products-quick div {
    min-height: 78px !important;
    padding: 11px 12px !important;
  }
}

/* =========================================================
   Product Detail Page v3.1
========================================================= */
.trm-product-detail-page {
  min-height: 100vh;
  color: var(--trm-text, #f8fafc);
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.08), transparent 30%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.12), transparent 36%),
    linear-gradient(180deg, #020617 0%, #06111f 42%, #020617 100%);
  overflow-x: hidden;
}

.trm-product-detail-main {
  padding: 34px 0 0;
}

.trm-product-detail-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(320px, 0.8fr);
  gap: 22px;
  align-items: stretch;
  padding: 24px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.16), transparent 42%),
    linear-gradient(145deg, rgba(15, 23, 42, 0.86), rgba(2, 6, 23, 0.68));
  border: 1px solid rgba(148, 163, 184, 0.20);
  box-shadow: 0 30px 80px rgba(0,0,0,.34);
  position: relative;
  overflow: hidden;
}

.trm-product-detail-hero::before {
  content: "";
  position: absolute;
  top: 0;
  right: 28px;
  left: 28px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #04D4BE, #1B1296, #04D4BE);
}

.trm-product-detail-copy {
  position: relative;
  z-index: 2;
  padding: 22px 16px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.trm-product-detail-copy h1 {
  margin: 14px 0 16px;
  font-size: clamp(30px, 4.2vw, 52px);
  line-height: 1.45;
  color: #fff;
  font-weight: 950;
  letter-spacing: -0.6px;
}

.trm-product-detail-copy p {
  max-width: 820px;
  margin: 0;
  color: #cbd5e1;
  font-size: 16.5px;
  line-height: 2.15;
}

.trm-detail-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 20px;
}

.trm-detail-tags span {
  min-height: 34px;
  padding: 7px 12px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(148, 163, 184, .16);
  font-size: 12.5px;
  font-weight: 800;
}

.trm-detail-actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 24px;
  max-width: 650px;
}

.trm-detail-action,
.trm-detail-action:visited {
  min-height: 72px;
  padding: 14px 16px;
  border-radius: 20px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  text-decoration: none !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.13);
  background: linear-gradient(135deg, #0284c7, #2563eb);
  box-shadow: 0 16px 34px rgba(0,0,0,.24);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}

.trm-detail-action:hover {
  transform: translateY(-4px);
  box-shadow: 0 22px 46px rgba(0,0,0,.34);
  border-color: rgba(4,212,190,.34);
}

.trm-detail-action strong {
  font-size: 15px;
  font-weight: 950;
  line-height: 1.7;
}

.trm-detail-action small {
  color: rgba(255,255,255,.82);
  font-size: 12.5px;
  line-height: 1.65;
}

.trm-detail-action-green { background: linear-gradient(135deg, #089f63, #16a34a); }
.trm-detail-action-orange { background: linear-gradient(135deg, #f97316, #ea580c); }
.trm-detail-action-ghost,
.trm-detail-action-outline {
  background: linear-gradient(145deg, rgba(15,23,42,.82), rgba(2,6,23,.72));
  border-color: rgba(148,163,184,.24);
}

.trm-product-detail-media {
  position: relative;
  overflow: hidden;
  border-radius: 28px;
  min-height: 360px;
  background: rgba(2,6,23,.74);
  border: 1px solid rgba(148,163,184,.18);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 22px 54px rgba(0,0,0,.28);
  display: flex;
  align-items: center;
  justify-content: center;
}

.trm-product-detail-media img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  object-position: center;
}

.trm-product-detail-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(2,6,23,.04), rgba(2,6,23,.28)),
    radial-gradient(circle at top right, rgba(4,212,190,.10), transparent 36%);
  pointer-events: none;
}

.trm-detail-feature-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.trm-detail-feature,
.trm-detail-benefits > div {
  border-radius: 24px;
  padding: 20px;
  background:
    radial-gradient(circle at top right, rgba(4,212,190,.08), transparent 38%),
    linear-gradient(145deg, rgba(15,23,42,.68), rgba(2,6,23,.48));
  border: 1px solid rgba(148,163,184,.16);
  box-shadow: 0 16px 42px rgba(0,0,0,.18);
}

.trm-detail-feature h3,
.trm-detail-benefits strong {
  margin: 0 0 8px;
  display: block;
  color: #fff;
  font-size: 16.5px;
  font-weight: 950;
  line-height: 1.75;
}

.trm-detail-feature p,
.trm-detail-benefits p,
.trm-detail-richtext p,
.trm-detail-notice p {
  margin: 0;
  color: #cbd5e1;
  font-size: 14.5px;
  line-height: 2.05;
}

.trm-detail-benefits {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.trm-detail-content-section .trm-products-why-panel,
.trm-detail-notice {
  border-radius: 28px;
  padding: 28px;
  background:
    radial-gradient(circle at top left, rgba(4,212,190,.10), transparent 35%),
    linear-gradient(145deg, rgba(15,23,42,.74), rgba(2,6,23,.54));
  border: 1px solid rgba(148,163,184,.20);
  box-shadow: 0 18px 48px rgba(0,0,0,.20);
}

.trm-detail-richtext {
  color: #cbd5e1;
}

.trm-detail-notice {
  border-color: rgba(251,113,133,.26);
  background:
    radial-gradient(circle at top left, rgba(251,113,133,.12), transparent 34%),
    linear-gradient(145deg, rgba(15,23,42,.76), rgba(2,6,23,.58));
}

.trm-detail-notice h2 {
  margin: 0 0 12px;
  color: #fff;
  font-size: clamp(22px, 3vw, 30px);
  line-height: 1.55;
}

@media (max-width: 980px) {
  .trm-product-detail-hero { grid-template-columns: 1fr; }
  .trm-product-detail-media { min-height: 300px; order: -1; }
  .trm-detail-feature-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .trm-detail-benefits { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
  .trm-product-detail-main { padding-top: 18px; }
  .trm-product-detail-hero { padding: 14px; border-radius: 26px; }
  .trm-product-detail-copy { padding: 16px 4px 8px; }
  .trm-product-detail-copy h1 { font-size: 27px; }
  .trm-product-detail-copy p { font-size: 15px; line-height: 2.05; }
  .trm-product-detail-media { min-height: 240px; border-radius: 22px; }
  .trm-detail-actions,
  .trm-detail-feature-grid,
  .trm-detail-benefits { grid-template-columns: 1fr; }
  .trm-detail-content-section .trm-products-why-panel,
  .trm-detail-notice { padding: 20px 16px; border-radius: 24px; }
}

/* =========================================================
   Vamino Product Detail Legacy-Compatible v3.2
========================================================= */
.trm-vamino-detail-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.08), transparent 30%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.12), transparent 36%),
    linear-gradient(180deg, #020617 0%, #06111f 42%, #020617 100%);
  color: #f8fafc;
  overflow-x: hidden;
}

.trm-vamino-main {
  padding: 30px 0 0;
}

.trm-vamino-hero-wrap,
.trm-vamino-download-wrap,
.trm-vamino-content,
.trm-vamino-hero-wrap *,
.trm-vamino-download-wrap *,
.trm-vamino-content * {
  box-sizing: border-box;
}

.trm-vamino-hero {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 34px;
  align-items: center;
  min-height: 430px;
  padding: 42px;
  border-radius: 34px;
  background:
    radial-gradient(circle at top right, rgba(56, 189, 248, 0.2), transparent 34%),
    radial-gradient(circle at bottom left, rgba(168, 85, 247, 0.18), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, 0.86), rgba(2, 6, 23, 0.68));
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.36);
  backdrop-filter: blur(14px);
}

.trm-vamino-hero::before,
.trm-vamino-download-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, #38bdf8, #a855f7, #f97316);
  z-index: 4;
}

.trm-vamino-hero-glow {
  position: absolute;
  border-radius: 999px;
  filter: blur(28px);
  opacity: .72;
  pointer-events: none;
}
.trm-vamino-hero-glow.one { width: 230px; height: 230px; right: -70px; top: -70px; background: rgba(56,189,248,.16); animation: trmVaminoFloatOne 7s ease-in-out infinite alternate; }
.trm-vamino-hero-glow.two { width: 260px; height: 260px; left: -85px; bottom: -90px; background: rgba(168,85,247,.15); animation: trmVaminoFloatTwo 8s ease-in-out infinite alternate; }

.trm-vamino-hero-content {
  position: relative;
  z-index: 2;
}

.trm-vamino-hero-badge,
.trm-vamino-pill {
  width: max-content;
  max-width: 100%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 18px;
  padding: 8px 16px;
  border-radius: 999px;
  color: #e0f2fe;
  background: rgba(56, 189, 248, 0.12);
  border: 1px solid rgba(56, 189, 248, 0.24);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.7;
}

.trm-vamino-hero h1 {
  margin: 0 0 18px;
  color: #fff;
  font-size: clamp(28px, 4.5vw, 48px);
  font-weight: 950;
  line-height: 1.45;
  letter-spacing: -0.7px;
}

.trm-vamino-hero p,
.trm-vamino-download-head p,
.trm-vamino-section p {
  margin: 0;
  color: #cbd5e1;
  font-size: 16px;
  line-height: 2.15;
}

.trm-vamino-hero-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}

.trm-vamino-hero-tags span {
  min-height: 38px;
  padding: 8px 13px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15, 23, 42, 0.54);
  border: 1px solid rgba(148, 163, 184, 0.18);
  font-size: 13.5px;
  font-weight: 750;
  line-height: 1.7;
}

.trm-vamino-hero-image-box {
  position: relative;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 340px;
}

.trm-vamino-phone-frame {
  position: relative;
  width: min(310px, 100%);
  aspect-ratio: 3 / 4;
  padding: 10px;
  border-radius: 34px;
  background: linear-gradient(145deg, rgba(255,255,255,.18), rgba(255,255,255,.04));
  border: 1px solid rgba(255,255,255,.16);
  box-shadow: 0 24px 55px rgba(0,0,0,.36), inset 0 0 0 1px rgba(255,255,255,.05);
  transform: rotate(-2deg);
  transition: transform .28s ease, box-shadow .28s ease;
}
.trm-vamino-phone-frame:hover { transform: rotate(0deg) translateY(-5px); box-shadow: 0 30px 70px rgba(0,0,0,.44), inset 0 0 0 1px rgba(255,255,255,.08); }
.trm-vamino-phone-frame::before { content: ""; position: absolute; top: 18px; right: 50%; transform: translateX(50%); width: 74px; height: 8px; border-radius: 999px; background: rgba(2,6,23,.65); z-index: 2; }
.trm-vamino-phone-frame img { display: block; width: 100%; height: 100%; object-fit: cover; border-radius: 26px; }
.trm-vamino-phone-frame::after { content: ""; position: absolute; inset: 10px; border-radius: 26px; background: linear-gradient(180deg, rgba(2,6,23,.04), rgba(2,6,23,.26)); pointer-events: none; }

.trm-vamino-floating-card {
  position: absolute;
  z-index: 4;
  width: 178px;
  padding: 13px 14px;
  border-radius: 18px;
  background: rgba(15, 23, 42, 0.72);
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 16px 35px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
}
.trm-vamino-floating-card.top { top: 34px; right: 0; animation: trmVaminoMiniFloat 4s ease-in-out infinite alternate; }
.trm-vamino-floating-card.bottom { left: 0; bottom: 38px; animation: trmVaminoMiniFloat 4.5s ease-in-out infinite alternate-reverse; }
.trm-vamino-floating-card strong { display: block; color: #fff; font-size: 14.5px; font-weight: 950; line-height: 1.8; }
.trm-vamino-floating-card small { display: block; color: #94a3b8; font-size: 12.5px; line-height: 1.7; }

.trm-vamino-download-wrap {
  margin-top: 20px;
}

.trm-vamino-download-card {
  position: relative;
  overflow: hidden;
  border-radius: 30px;
  padding: 34px;
  background:
    radial-gradient(circle at top right, rgba(56,189,248,.18), transparent 34%),
    radial-gradient(circle at bottom left, rgba(168,85,247,.16), transparent 36%),
    linear-gradient(145deg, rgba(15,23,42,.88), rgba(2,6,23,.76));
  border: 1px solid rgba(148, 163, 184, 0.22);
  box-shadow: 0 26px 70px rgba(0,0,0,.34);
}

.trm-vamino-download-head {
  position: relative;
  z-index: 2;
  text-align: center;
  max-width: 760px;
  margin: 0 auto 26px;
}
.trm-vamino-download-head h2 {
  margin: 0 0 14px;
  color: #fff;
  font-size: clamp(25px, 4vw, 40px);
  font-weight: 950;
  line-height: 1.45;
}
.trm-vamino-download-head p { margin: 0 auto; }

.trm-vamino-actions {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 24px;
}

.trm-vamino-action,
.trm-vamino-action:visited {
  position: relative;
  overflow: hidden;
  display: flex;
  align-items: center;
  gap: 14px;
  width: 100%;
  min-height: 84px;
  padding: 17px 18px;
  border-radius: 22px;
  border: 1px solid rgba(255,255,255,.13);
  text-decoration: none !important;
  color: #fff !important;
  box-shadow: 0 16px 34px rgba(0,0,0,.23);
  transition: transform .22s ease, box-shadow .22s ease, border-color .22s ease, filter .22s ease;
}
.trm-vamino-action:hover { transform: translateY(-5px); border-color: rgba(255,255,255,.26); box-shadow: 0 22px 46px rgba(0,0,0,.34); filter: saturate(1.08); color:#fff !important; }
.trm-vamino-action.bazaar { background: linear-gradient(135deg, #089f63, #16a34a); }
.trm-vamino-action.myket { background: linear-gradient(135deg, #7c3aed, #4f46e5); }
.trm-vamino-action.direct { background: linear-gradient(135deg, #f97316, #ea580c); }
.trm-vamino-action.openapp { background: linear-gradient(135deg, #0284c7, #2563eb); }
.trm-vamino-action-icon { flex: 0 0 48px; width: 48px; height: 48px; border-radius: 17px; display: inline-flex; align-items:center; justify-content:center; color:#fff; background: rgba(255,255,255,.18); font-size:22px; font-weight:950; overflow:hidden; }
.trm-vamino-action-icon.store { padding: 4px; }
.trm-vamino-action-icon img { width: 100%; height: 100%; object-fit: contain; border-radius: 12px; }
.trm-vamino-action-text strong { display:block; color:#fff; font-size:16.5px; font-weight:950; line-height:1.8; }
.trm-vamino-action-text small { display:block; color:rgba(255,255,255,.82); font-size:13px; line-height:1.6; }
.trm-vamino-status { margin-top:18px; padding:14px 16px; border-radius:18px; color:#cbd5e1; background:rgba(15,23,42,.62); border:1px solid rgba(148,163,184,.18); font-size:13.5px; line-height:1.9; text-align:center; }

.trm-vamino-content {
  display: grid;
  gap: 18px;
  padding-top: 24px;
  padding-bottom: 64px;
}

.trm-vamino-section {
  position: relative;
  overflow: hidden;
  padding: 28px;
  border-radius: 26px;
  background: linear-gradient(145deg, rgba(15,23,42,.74), rgba(2,6,23,.54));
  border: 1px solid rgba(148,163,184,.22);
  box-shadow: 0 18px 46px rgba(0,0,0,.22);
  backdrop-filter: blur(10px);
}
.trm-vamino-section::before { content:""; position:absolute; right:0; top:28px; width:4px; height:42px; border-radius:999px 0 0 999px; background:linear-gradient(180deg,#38bdf8,#a855f7); }
.trm-vamino-section h2 { margin:0 0 16px; color:#fff; font-size:clamp(22px,3vw,30px); font-weight:950; line-height:1.55; }
.trm-vamino-section h3 { margin:22px 0 10px; color:#e0f2fe; font-size:19px; font-weight:900; line-height:1.7; }
.trm-vamino-section p { margin: 0 0 14px; text-align: justify; }
.trm-vamino-section ul { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px 12px; padding:0; margin:16px 0 18px; list-style:none; }
.trm-vamino-section li { position:relative; min-height:44px; padding:10px 38px 10px 12px; border-radius:16px; color:#dbeafe; background:rgba(15,23,42,.5); border:1px solid rgba(148,163,184,.14); font-size:14.5px; line-height:1.8; }
.trm-vamino-section li::before { content:"✓"; position:absolute; right:12px; top:11px; width:20px; height:20px; border-radius:999px; display:inline-flex; align-items:center; justify-content:center; color:#022c22; background:#22c55e; font-size:12px; font-weight:950; }
.trm-vamino-highlight { padding:16px 18px; border-radius:18px; color:#e0f2fe !important; background:rgba(56,189,248,.1); border:1px solid rgba(56,189,248,.22); }
.trm-vamino-feature { padding:20px; margin-top:16px; border-radius:22px; background:rgba(15,23,42,.36); border:1px solid rgba(148,163,184,.14); }
.trm-vamino-benefits { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin-top:18px; }
.trm-vamino-benefits > div { padding:18px; border-radius:20px; background:rgba(15,23,42,.5); border:1px solid rgba(148,163,184,.14); }
.trm-vamino-warning { border-color: rgba(251,113,133,.24); background: radial-gradient(circle at top left, rgba(251,113,133,.12), transparent 34%), linear-gradient(145deg, rgba(15,23,42,.76), rgba(2,6,23,.58)); }
.trm-vamino-warning::before { background: linear-gradient(180deg, #fb7185, #f97316); }

@keyframes trmVaminoFloatOne { from { transform: translate(0,0) scale(1); } to { transform: translate(-38px,36px) scale(1.08); } }
@keyframes trmVaminoFloatTwo { from { transform: translate(0,0) scale(1); } to { transform: translate(42px,-28px) scale(1.06); } }
@keyframes trmVaminoMiniFloat { from { transform: translateY(0); } to { transform: translateY(-10px); } }

@media (max-width: 860px) {
  .trm-vamino-hero { grid-template-columns: 1fr; gap: 26px; padding: 28px 18px; border-radius: 28px; text-align: center; }
  .trm-vamino-hero p { margin: 0 auto; }
  .trm-vamino-hero-tags { justify-content: center; }
  .trm-vamino-hero-image-box { min-height: 310px; order: -1; }
  .trm-vamino-phone-frame { width: min(260px, 86%); }
  .trm-vamino-floating-card { width: 158px; }
  .trm-vamino-floating-card.top { right: 8px; top: 22px; }
  .trm-vamino-floating-card.bottom { left: 8px; bottom: 22px; }
  .trm-vamino-actions, .trm-vamino-section ul, .trm-vamino-benefits { grid-template-columns: 1fr; }
}

@media (max-width: 620px) {
  .trm-vamino-main { padding-top: 18px; }
  .trm-vamino-hero { padding: 22px 14px; border-radius: 24px; }
  .trm-vamino-hero h1 { font-size: 27px; line-height: 1.55; }
  .trm-vamino-hero p, .trm-vamino-section p { font-size: 15px; line-height: 2.05; text-align: right; }
  .trm-vamino-hero-tags span { width: 100%; }
  .trm-vamino-hero-image-box { min-height: 280px; }
  .trm-vamino-phone-frame { width: min(230px, 82%); border-radius: 30px; }
  .trm-vamino-floating-card { width: 145px; padding: 10px 11px; border-radius: 16px; }
  .trm-vamino-download-card, .trm-vamino-section { padding: 22px 16px; border-radius: 24px; }
  .trm-vamino-action { min-height: 78px; border-radius: 20px; }
  .trm-vamino-section li { font-size: 14px; }
}


/* =========================================================
   PRODUCT DETAIL / VAMINO SPACING LOCK v3.3
   فاصله صفحه محصول از هدر روی خود Hero قفل می‌شود، مثل Products/Services.
========================================================= */
body.trm-forced-product-detail-page,
body.trm-forced-product-detail-page .trm-product-detail-page,
body.trm-forced-product-detail-page .trm-vamino-detail-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}

body.trm-forced-product-detail-page .trm-product-detail-page > .trm-site-header,
body.trm-forced-product-detail-page .trm-vamino-detail-page > .trm-site-header {
  margin-bottom: 0 !important;
}

body.trm-forced-product-detail-page .trm-product-detail-main,
body.trm-forced-product-detail-page .trm-vamino-main {
  padding-top: 0 !important;
}

body.trm-forced-product-detail-page .trm-product-detail-hero.trm-container,
body.trm-forced-product-detail-page .trm-vamino-hero-wrap.trm-container {
  margin-top: clamp(22px, 2.2vw, 36px) !important;
}

body.trm-forced-product-detail-page .trm-product-detail-page > .trm-home-footer,
body.trm-forced-product-detail-page .trm-vamino-detail-page > .trm-home-footer {
  margin-top: 72px !important;
  padding-bottom: 26px !important;
}

@media (max-width: 780px) {
  body.trm-forced-product-detail-page .trm-product-detail-hero.trm-container,
  body.trm-forced-product-detail-page .trm-vamino-hero-wrap.trm-container {
    margin-top: 18px !important;
  }

  body.trm-forced-product-detail-page .trm-product-detail-page > .trm-home-footer,
  body.trm-forced-product-detail-page .trm-vamino-detail-page > .trm-home-footer {
    margin-top: 48px !important;
    padding-bottom: 18px !important;
  }
}


/* =========================================================
   Product Detail Builder v3.4
========================================================= */
.trm-product-builder-page{
  --trm-builder-accent:#04D4BE;
  --trm-builder-accent-2:#38bdf8;
  --trm-builder-warm:#f97316;
  background:
    radial-gradient(circle at 15% 12%, rgba(4,212,190,.09), transparent 28%),
    radial-gradient(circle at 85% 28%, rgba(27,18,150,.16), transparent 34%),
    linear-gradient(180deg,#020617,#07111f 46%,#020617);
  min-height:100vh;
  color:#f8fafc;
  overflow-x:hidden;
}
.trm-product-builder-page.trm-theme-orange{--trm-builder-accent:#f97316;--trm-builder-accent-2:#fb7185;}
.trm-product-builder-page.trm-theme-purple{--trm-builder-accent:#a855f7;--trm-builder-accent-2:#38bdf8;}
.trm-product-builder-page.trm-theme-green{--trm-builder-accent:#22c55e;--trm-builder-accent-2:#38bdf8;}
.trm-product-builder-page.trm-theme-blue{--trm-builder-accent:#38bdf8;--trm-builder-accent-2:#2563eb;}
.trm-product-builder-main{padding:22px 0 0;}
.trm-product-builder-hero{
  position:relative;
  overflow:hidden;
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(300px,.92fr);
  gap:34px;
  align-items:center;
  min-height:430px;
  padding:42px;
  margin-top:22px;
  border-radius:34px;
  background:
    radial-gradient(circle at top right, color-mix(in srgb,var(--trm-builder-accent) 20%, transparent), transparent 34%),
    radial-gradient(circle at bottom left, color-mix(in srgb,var(--trm-builder-accent-2) 16%, transparent), transparent 38%),
    linear-gradient(145deg, rgba(15,23,42,.90), rgba(2,6,23,.72));
  border:1px solid rgba(148,163,184,.22);
  box-shadow:0 30px 80px rgba(0,0,0,.36);
  backdrop-filter:blur(14px);
}
.trm-product-builder-hero::before,
.trm-product-builder-actions::before,
.trm-builder-section::before{
  content:"";position:absolute;inset:0 0 auto 0;height:3px;background:linear-gradient(90deg,var(--trm-builder-accent),var(--trm-builder-accent-2),var(--trm-builder-accent));
}
.trm-builder-glow{position:absolute;border-radius:999px;filter:blur(34px);opacity:.74;pointer-events:none;}
.trm-builder-glow.one{width:260px;height:260px;right:-80px;top:-70px;background:color-mix(in srgb,var(--trm-builder-accent) 18%, transparent);animation:trmBuilderFloatOne 7s ease-in-out infinite alternate;}
.trm-builder-glow.two{width:300px;height:300px;left:-100px;bottom:-100px;background:color-mix(in srgb,var(--trm-builder-accent-2) 14%, transparent);animation:trmBuilderFloatTwo 8s ease-in-out infinite alternate;}
.trm-product-builder-copy,.trm-product-builder-visual{position:relative;z-index:2;}
.trm-product-builder-copy h1{margin:0 0 18px;color:#fff;font-size:clamp(28px,4.4vw,48px);font-weight:950;line-height:1.45;letter-spacing:-.7px;}
.trm-product-builder-copy p{max-width:660px;margin:0;color:#cbd5e1;font-size:16.5px;line-height:2.15;text-align:justify;}
.trm-product-builder-visual{display:flex;justify-content:center;align-items:center;min-height:340px;}
.trm-product-builder-frame{position:relative;width:min(330px,100%);aspect-ratio:1/1.18;padding:10px;border-radius:34px;background:linear-gradient(145deg,rgba(255,255,255,.18),rgba(255,255,255,.04));border:1px solid rgba(255,255,255,.16);box-shadow:0 24px 55px rgba(0,0,0,.36),inset 0 0 0 1px rgba(255,255,255,.05);transform:rotate(-2deg);transition:transform .28s ease,box-shadow .28s ease;}
.trm-product-builder-frame:hover{transform:rotate(0deg) translateY(-5px);box-shadow:0 30px 70px rgba(0,0,0,.44),inset 0 0 0 1px rgba(255,255,255,.08);}
.trm-product-builder-frame img{display:block;width:100%;height:100%;object-fit:contain;object-position:center;border-radius:26px;background:rgba(2,6,23,.58);}
.trm-product-hero-phone .trm-product-builder-frame{width:min(310px,100%);aspect-ratio:3/4;padding:10px;border-radius:34px;}
.trm-product-hero-phone .trm-product-builder-frame::before{content:"";position:absolute;top:18px;right:50%;transform:translateX(50%);width:74px;height:8px;border-radius:999px;background:rgba(2,6,23,.65);z-index:2;}
.trm-product-hero-platform .trm-product-builder-frame{width:min(360px,100%);aspect-ratio:3/4;}
.trm-product-hero-dashboard .trm-product-builder-frame{width:min(340px,100%);aspect-ratio:1/1.18;}
.trm-product-builder-floating{position:absolute;z-index:4;width:184px;padding:13px 14px;border-radius:18px;background:rgba(15,23,42,.74);border:1px solid rgba(148,163,184,.22);box-shadow:0 16px 35px rgba(0,0,0,.28);backdrop-filter:blur(12px);}
.trm-product-builder-floating.top{top:30px;right:0;animation:trmBuilderMiniFloat 4s ease-in-out infinite alternate;}
.trm-product-builder-floating.bottom{left:0;bottom:34px;animation:trmBuilderMiniFloat 4.5s ease-in-out infinite alternate-reverse;}
.trm-product-builder-floating strong{display:block;color:#fff;font-size:14.5px;font-weight:950;line-height:1.8;}
.trm-product-builder-floating small{display:block;color:#94a3b8;font-size:12.5px;line-height:1.7;}
.trm-product-builder-actions{position:relative;overflow:hidden;margin-top:24px;padding:34px;border-radius:30px;background:radial-gradient(circle at top right, color-mix(in srgb,var(--trm-builder-accent) 14%, transparent), transparent 34%),linear-gradient(145deg,rgba(15,23,42,.84),rgba(2,6,23,.68));border:1px solid rgba(148,163,184,.22);box-shadow:0 26px 70px rgba(0,0,0,.32);backdrop-filter:blur(14px);}
.trm-product-builder-actions-head{text-align:center;max-width:780px;margin:0 auto 24px;position:relative;z-index:2;}
.trm-product-builder-actions-head h2{margin:0 0 12px;color:#fff;font-size:clamp(24px,3.6vw,38px);font-weight:950;line-height:1.45;}
.trm-product-builder-actions-head p{margin:0;color:#cbd5e1;font-size:16px;line-height:2.05;}
.trm-product-builder-action-grid{position:relative;z-index:2;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.trm-product-builder-action{position:relative;overflow:hidden;display:flex;align-items:center;gap:14px;width:100%;min-height:84px;padding:17px 18px;border-radius:22px;border:1px solid rgba(255,255,255,.13);text-decoration:none!important;color:#fff!important;text-align:right;box-shadow:0 16px 34px rgba(0,0,0,.23);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease,filter .22s ease;}
.trm-product-builder-action::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(255,255,255,.26) 46%,transparent 70%);transform:translateX(115%);transition:transform .65s ease;}
.trm-product-builder-action:hover{transform:translateY(-5px);border-color:rgba(255,255,255,.26);box-shadow:0 22px 46px rgba(0,0,0,.34);filter:saturate(1.08);}
.trm-product-builder-action:hover::before{transform:translateX(-115%);}
.trm-product-builder-action.is-disabled{opacity:.72;filter:grayscale(.18);pointer-events:none;}
.trm-action-green{background:linear-gradient(135deg,#089f63,#16a34a);}.trm-action-purple{background:linear-gradient(135deg,#7c3aed,#4f46e5);}.trm-action-orange{background:linear-gradient(135deg,#f97316,#ea580c);}.trm-action-blue,.trm-action-primary{background:linear-gradient(135deg,#0284c7,#2563eb);}.trm-action-outline{background:linear-gradient(145deg,rgba(15,23,42,.88),rgba(2,6,23,.76));}
.trm-product-builder-action-icon{position:relative;z-index:2;flex:0 0 50px;width:50px;height:50px;padding:5px;border-radius:17px;display:inline-flex;align-items:center;justify-content:center;background:rgba(255,255,255,.2);overflow:hidden;font-size:18px;font-weight:950;color:#fff;}
.trm-product-builder-action-icon img{display:block;width:100%;height:100%;object-fit:contain;border-radius:12px;}
.trm-product-builder-action span:last-child{position:relative;z-index:2;display:block;}
.trm-product-builder-action strong{display:block;color:#fff;font-size:16.5px;font-weight:950;line-height:1.8;}.trm-product-builder-action small{display:block;color:rgba(255,255,255,.82);font-size:13px;line-height:1.6;}
.trm-product-builder-status{position:relative;z-index:2;margin-top:18px;padding:14px 16px;border-radius:18px;color:#cbd5e1;background:rgba(15,23,42,.62);border:1px solid rgba(148,163,184,.18);font-size:13.5px;line-height:1.9;text-align:center;}
.trm-product-builder-content{display:grid;gap:18px;margin-top:28px;}
.trm-builder-section{position:relative;overflow:hidden;padding:28px;border-radius:26px;background:linear-gradient(145deg,rgba(15,23,42,.74),rgba(2,6,23,.54));border:1px solid rgba(148,163,184,.22);box-shadow:0 18px 46px rgba(0,0,0,.22);backdrop-filter:blur(10px);}
.trm-builder-section::before{right:0;left:auto;top:28px;width:4px;height:42px;border-radius:999px 0 0 999px;background:linear-gradient(180deg,var(--trm-builder-accent),var(--trm-builder-accent-2));}
.trm-builder-section-warning{border-color:rgba(250,204,21,.24);background:radial-gradient(circle at top left,rgba(250,204,21,.12),transparent 34%),linear-gradient(145deg,rgba(15,23,42,.76),rgba(2,6,23,.58));}
.trm-builder-section h2{margin:0 0 16px;color:#fff;font-size:clamp(22px,3vw,30px);font-weight:950;line-height:1.55;}.trm-builder-section h3{margin:22px 0 10px;color:#e0f2fe;font-size:19px;font-weight:900;line-height:1.7;}
.trm-builder-section p{margin:0 0 14px;color:#cbd5e1;font-size:16px;line-height:2.15;text-align:justify;}.trm-builder-highlight{padding:16px 18px;border-radius:18px;color:#ecfeff!important;background:color-mix(in srgb,var(--trm-builder-accent) 10%, transparent);border:1px solid color-mix(in srgb,var(--trm-builder-accent) 24%, transparent);}
.trm-builder-list,.trm-builder-feature ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;padding:0;margin:16px 0 18px;list-style:none;}
.trm-builder-list li,.trm-builder-feature li{position:relative;min-height:44px;padding:10px 38px 10px 12px;border-radius:16px;color:#dbeafe;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.14);font-size:14.5px;line-height:1.8;}
.trm-builder-list li::before,.trm-builder-feature li::before{content:"✓";position:absolute;right:12px;top:11px;width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;color:#022c22;background:var(--trm-builder-accent);font-size:12px;font-weight:950;}
.trm-builder-feature-list{display:grid;gap:16px;margin-top:16px;}.trm-builder-feature{padding:20px;border-radius:22px;background:rgba(15,23,42,.36);border:1px solid rgba(148,163,184,.14);}.trm-builder-feature p{font-size:15px;line-height:2.05;}
.trm-builder-benefits{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px;}.trm-builder-benefits>div{padding:18px;border-radius:20px;background:rgba(15,23,42,.5);border:1px solid rgba(148,163,184,.14);}.trm-builder-benefits h3{margin-top:0;}.trm-builder-benefits p{margin-bottom:0;font-size:14.5px;}
@keyframes trmBuilderFloatOne{from{transform:translate(0,0) scale(1)}to{transform:translate(-38px,36px) scale(1.08)}}@keyframes trmBuilderFloatTwo{from{transform:translate(0,0) scale(1)}to{transform:translate(42px,-28px) scale(1.06)}}@keyframes trmBuilderMiniFloat{from{transform:translateY(0)}to{transform:translateY(-10px)}}
@media(max-width:900px){.trm-product-builder-hero{grid-template-columns:1fr;padding:28px 18px;border-radius:28px;text-align:center}.trm-product-builder-copy p{margin:0 auto;text-align:center}.trm-detail-tags{justify-content:center}.trm-product-builder-visual{order:-1;min-height:310px}.trm-product-builder-frame{width:min(270px,86%)}.trm-product-builder-floating{width:158px}.trm-product-builder-floating.top{right:8px;top:22px}.trm-product-builder-floating.bottom{left:8px;bottom:22px}}
@media(max-width:780px){.trm-product-builder-main{padding-top:14px}.trm-product-builder-hero{margin-top:14px}.trm-product-builder-actions,.trm-builder-section{padding:22px 16px;border-radius:24px}.trm-product-builder-action-grid,.trm-builder-list,.trm-builder-feature ul,.trm-builder-benefits{grid-template-columns:1fr}.trm-product-builder-copy p,.trm-builder-section p{text-align:right;font-size:15px;line-height:2.05}.trm-product-builder-action{min-height:78px;border-radius:20px}.trm-product-builder-action strong{font-size:15.5px}}
@media(max-width:520px){.trm-product-builder-hero{padding:22px 14px;border-radius:24px}.trm-product-builder-copy h1{font-size:27px;line-height:1.55}.trm-detail-tags span{width:100%}.trm-product-builder-visual{min-height:280px}.trm-product-builder-frame{width:min(235px,84%);border-radius:30px}.trm-product-builder-frame img{border-radius:22px}.trm-product-builder-floating{width:145px;padding:10px 11px;border-radius:16px}.trm-product-builder-floating strong{font-size:13.5px}.trm-product-builder-floating small{font-size:11.5px}}


/* =========================================================
   v3.6 polish: Shecanino visual size + navigation loading UX
========================================================= */
.trm-product-builder-shecanino .trm-product-builder-frame {
  width: min(320px, 100%) !important;
  aspect-ratio: 3 / 4 !important;
}
.trm-product-builder-shecanino .trm-product-builder-visual {
  min-height: 330px !important;
}
@media (max-width: 900px) {
  .trm-product-builder-shecanino .trm-product-builder-frame {
    width: min(270px, 86%) !important;
  }
}
@media (max-width: 520px) {
  .trm-product-builder-shecanino .trm-product-builder-frame {
    width: min(235px, 84%) !important;
  }
}

.trm-navigation-loader {
  position: fixed;
  inset: 0;
  z-index: 2147483000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 22px;
  direction: rtl;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.16), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, 0.20), transparent 38%),
    rgba(2, 6, 23, 0.78);
  backdrop-filter: blur(12px);
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}
body.trm-page-loading .trm-navigation-loader {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}
.trm-navigation-loader-card {
  width: min(360px, calc(100vw - 36px));
  padding: 22px;
  border-radius: 26px;
  text-align: center;
  color: #f8fafc;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, 0.12), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(2, 6, 23, .92));
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 28px 70px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.05);
}
.trm-navigation-loader-spinner {
  width: 42px;
  height: 42px;
  margin: 0 auto 14px;
  border-radius: 999px;
  border: 3px solid rgba(148, 163, 184, .22);
  border-top-color: #04D4BE;
  border-left-color: rgba(56, 189, 248, .72);
  animation: trmLoaderSpin .72s linear infinite;
}
.trm-navigation-loader-card strong {
  display: block;
  color: #fff;
  font-size: 16px;
  font-weight: 950;
  line-height: 1.8;
}
.trm-navigation-loader-card small {
  display: block;
  color: #94a3b8;
  font-size: 12.5px;
  line-height: 1.9;
}
@keyframes trmLoaderSpin { to { transform: rotate(360deg); } }
body.trm-page-loading .trm-header-dropdown,
body.trm-page-loading .trm-menu-panel,
body.trm-page-loading .trm-mobile-menu {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
body.trm-page-loading {
  cursor: progress;
}


/* =========================================================
   v3.8 service/product detail layout polish
   - media frame follows actual image ratio when JS can read it
   - service detail pages use the same content width as header/footer
   - stable header/content gap for standalone product and service detail pages
========================================================= */
body.trm-forced-product-detail-page .trm-product-builder-main,
body.trm-standalone-product-detail .trm-product-builder-main {
  padding-top: clamp(30px, 2.8vw, 44px) !important;
}
body.trm-forced-product-detail-page .trm-product-builder-hero,
body.trm-standalone-product-detail .trm-product-builder-hero {
  margin-top: 0 !important;
}

.trm-product-builder-frame.trm-frame-ratio-applied {
  aspect-ratio: var(--trm-media-ratio, 1 / 1) !important;
}
.trm-product-hero-phone .trm-product-builder-frame.trm-frame-ratio-applied,
.trm-product-hero-platform .trm-product-builder-frame.trm-frame-ratio-applied,
.trm-product-hero-dashboard .trm-product-builder-frame.trm-frame-ratio-applied {
  aspect-ratio: var(--trm-media-ratio, 1 / 1) !important;
}
.trm-product-builder-frame img {
  object-fit: contain !important;
}

body.trm-forced-service-detail-page .trm-legacy-service-detail-page,
body.trm-standalone-service-detail .trm-legacy-service-detail-page {
  min-height: 100vh !important;
}
body.trm-forced-service-detail-page .trm-legacy-service-main,
body.trm-standalone-service-detail .trm-legacy-service-main {
  padding-top: clamp(34px, 3vw, 46px) !important;
}
body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"],
body.trm-standalone-service-detail .trm-legacy-service-main > [class*="service-page"] {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
body.trm-forced-service-detail-page .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover),
body.trm-standalone-service-detail .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover) {
  aspect-ratio: 1 / 1 !important;
}
body.trm-forced-service-detail-page .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover).trm-frame-ratio-applied,
body.trm-standalone-service-detail .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover).trm-frame-ratio-applied {
  aspect-ratio: var(--trm-media-ratio, 1 / 1) !important;
}
body.trm-forced-service-detail-page .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover) img,
body.trm-standalone-service-detail .trm-legacy-service-main :is(.riz-ai-cover,.riz-mobile-cover,.riz-web-cover,.riz-api-cover,.riz-system-cover,.riz-game-cover) img {
  width: 100% !important;
  height: 100% !important;
  object-fit: contain !important;
}

@media (max-width: 780px) {
  body.trm-forced-product-detail-page .trm-product-builder-main,
  body.trm-standalone-product-detail .trm-product-builder-main {
    padding-top: 26px !important;
  }
  body.trm-forced-service-detail-page .trm-legacy-service-main,
  body.trm-standalone-service-detail .trm-legacy-service-main {
    padding-top: 26px !important;
  }
  body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"],
  body.trm-standalone-service-detail .trm-legacy-service-main > [class*="service-page"] {
    width: min(1220px, calc(100vw - 20px)) !important;
    max-width: min(1220px, calc(100vw - 20px)) !important;
  }
}

/* v3.9: force real hero spacing on standalone product/service/static pages */
body.trm-forced-product-detail-page .trm-product-builder-main,
body.trm-forced-product-detail-page .trm-product-detail-main,
body.trm-forced-service-detail-page .trm-legacy-service-main,
body.trm-forced-static-page .trm-static-main {
  padding-top: 0 !important;
}

body.trm-forced-product-detail-page .trm-product-builder-main > .trm-product-builder-hero,
body.trm-forced-product-detail-page .trm-product-detail-main > .trm-product-detail-hero,
body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"] > style + section,
body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"] > section:first-of-type,
body.trm-forced-static-page .trm-static-main > [class$="-page"] > style + section,
body.trm-forced-static-page .trm-static-main > [class$="-page"] > section:first-of-type {
  margin-top: clamp(30px, 2.4vw, 40px) !important;
}

body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"],
body.trm-forced-static-page .trm-static-main > [class$="-page"] {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

@media (max-width: 780px) {
  body.trm-forced-product-detail-page .trm-product-builder-main > .trm-product-builder-hero,
  body.trm-forced-product-detail-page .trm-product-detail-main > .trm-product-detail-hero,
  body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"] > style + section,
  body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"] > section:first-of-type,
  body.trm-forced-static-page .trm-static-main > [class$="-page"] > style + section,
  body.trm-forced-static-page .trm-static-main > [class$="-page"] > section:first-of-type {
    margin-top: 26px !important;
  }

  body.trm-forced-service-detail-page .trm-legacy-service-main > [class*="service-page"],
  body.trm-forced-static-page .trm-static-main > [class$="-page"] {
    width: min(1220px, calc(100vw - 20px)) !important;
    max-width: min(1220px, calc(100vw - 20px)) !important;
  }
}


/* =========================================================
   v4.0 product detail hero gap fix
   - bump asset version to break cache
   - product detail pages had margin collapse/old cached CSS; keep the gap on the hero and protect the parent flow
========================================================= */
body.trm-forced-product-detail-page .trm-product-builder-main,
body.trm-standalone-product-detail .trm-product-builder-main {
  display: flow-root !important;
  padding-top: 0 !important;
}

body.trm-forced-product-detail-page .trm-product-builder-main > .trm-product-builder-hero,
body.trm-standalone-product-detail .trm-product-builder-main > .trm-product-builder-hero,
body.trm-forced-product-detail-page .trm-product-detail-main > .trm-product-detail-hero,
body.trm-standalone-product-detail .trm-product-detail-main > .trm-product-detail-hero,
body.trm-forced-product-detail-page .trm-vamino-main > .trm-vamino-hero-wrap,
body.trm-standalone-product-detail .trm-vamino-main > .trm-vamino-hero-wrap {
  margin-top: clamp(30px, 2.4vw, 40px) !important;
}

@media (max-width: 780px) {
  body.trm-forced-product-detail-page .trm-product-builder-main > .trm-product-builder-hero,
  body.trm-standalone-product-detail .trm-product-builder-main > .trm-product-builder-hero,
  body.trm-forced-product-detail-page .trm-product-detail-main > .trm-product-detail-hero,
  body.trm-standalone-product-detail .trm-product-detail-main > .trm-product-detail-hero,
  body.trm-forced-product-detail-page .trm-vamino-main > .trm-vamino-hero-wrap,
  body.trm-standalone-product-detail .trm-vamino-main > .trm-vamino-hero-wrap {
    margin-top: 26px !important;
  }
}



/* =========================================================
   V4.6 - Central theme token bridge
   هدف: همه اصلاحات تم روشن از توکن‌های واحد بخوانند و دیگر
   روی wrapperهای داخلی بک‌گراند اضافه ننشیند.
========================================================= */
html.trm-theme-dark,
html.trm-theme-dark body,
body.trm-theme-dark {
  --trm-c-bg: #020617;
  --trm-c-bg-2: #07111f;
  --trm-c-hero: linear-gradient(145deg, rgba(15, 23, 42, .88), rgba(2, 6, 23, .72));
  --trm-c-card: linear-gradient(145deg, rgba(15, 23, 42, .74), rgba(2, 6, 23, .54));
  --trm-c-card-2: rgba(15, 23, 42, .56);
  --trm-c-chip: rgba(15, 23, 42, .54);
  --trm-c-text: #f8fafc;
  --trm-c-text-soft: #cbd5e1;
  --trm-c-text-muted: #94a3b8;
  --trm-c-border: rgba(148, 163, 184, .22);
  --trm-c-border-2: rgba(148, 163, 184, .16);
  --trm-c-primary: #04D4BE;
  --trm-c-primary-2: #2563eb;
  --trm-c-purple: #7c3aed;
  --trm-c-green: #16a34a;
  --trm-c-orange: #f97316;
  --trm-c-shadow: 0 22px 60px rgba(0, 0, 0, .28);
  --trm-c-shadow-soft: 0 16px 40px rgba(0, 0, 0, .22);
}

html.trm-theme-light,
html.trm-theme-light body,
body.trm-theme-light {
  color-scheme: light;
  --trm-c-bg: #f3f7fb;
  --trm-c-bg-2: #e8eef7;
  --trm-c-hero: radial-gradient(circle at 85% 8%, rgba(4, 212, 190, .16), transparent 24rem), radial-gradient(circle at 8% 18%, rgba(37, 99, 235, .12), transparent 24rem), linear-gradient(145deg, rgba(255, 255, 255, .76), rgba(239, 245, 252, .68));
  --trm-c-card: radial-gradient(circle at top right, rgba(4, 212, 190, .055), transparent 34%), linear-gradient(145deg, rgba(255, 255, 255, .94), rgba(247, 250, 254, .86));
  --trm-c-card-2: rgba(255, 255, 255, .70);
  --trm-c-chip: rgba(255, 255, 255, .68);
  --trm-c-text: #0f172a;
  --trm-c-text-soft: #334155;
  --trm-c-text-muted: #64748b;
  --trm-c-border: rgba(15, 23, 42, .12);
  --trm-c-border-2: rgba(15, 23, 42, .18);
  --trm-c-primary: #078f9c;
  --trm-c-primary-2: #2563eb;
  --trm-c-purple: #7c3aed;
  --trm-c-green: #15803d;
  --trm-c-orange: #c2410c;
  --trm-c-shadow: 0 18px 46px rgba(15, 23, 42, .10);
  --trm-c-shadow-soft: 0 12px 30px rgba(15, 23, 42, .08);

  --trm-bg: var(--trm-c-bg);
  --trm-bg-2: var(--trm-c-bg-2);
  --trm-surface: var(--trm-c-card-2);
  --trm-surface-strong: rgba(255,255,255,.90);
  --trm-border: var(--trm-c-border);
  --trm-text: var(--trm-c-text);
  --trm-soft: var(--trm-c-text-soft);
  --trm-muted: var(--trm-c-text-muted);
}

html.trm-theme-light body,
body.trm-theme-light,
html.trm-theme-light body.trm-has-shortcode-page,
body.trm-theme-light.trm-has-shortcode-page,
html.trm-theme-light body.trm-has-shortcode-page .wp-site-blocks,
body.trm-theme-light.trm-has-shortcode-page .wp-site-blocks,
html.trm-theme-light body.trm-has-shortcode-page :where(main,.site-main,#primary,.content-area,.entry-content,.wp-block-post-content),
body.trm-theme-light.trm-has-shortcode-page :where(main,.site-main,#primary,.content-area,.entry-content,.wp-block-post-content) {
  background: linear-gradient(180deg, var(--trm-c-bg), var(--trm-c-bg-2)) !important;
  color: var(--trm-c-text) !important;
}

html.trm-theme-light body :is(.trm-page,.trm-home-v5,.trm-products-page-v2,.trm-services-page-v1,.trm-product-builder-page,.trm-vamino-detail-page,.riz-ai-service-page,.riz-mobile-service-page,.riz-web-service-page,.riz-api-service-page,.riz-system-service-page,.riz-game-service-page,.riz-about-page,.riz-contact-page),
body.trm-theme-light :is(.trm-page,.trm-home-v5,.trm-products-page-v2,.trm-services-page-v1,.trm-product-builder-page,.trm-vamino-detail-page,.riz-ai-service-page,.riz-mobile-service-page,.riz-web-service-page,.riz-api-service-page,.riz-system-service-page,.riz-game-service-page,.riz-about-page,.riz-contact-page) {
  --text: var(--trm-c-text) !important;
  --text-soft: var(--trm-c-text-soft) !important;
  --text-muted: var(--trm-c-text-muted) !important;
  --border: var(--trm-c-border) !important;
  color: var(--trm-c-text) !important;
  background: transparent !important;
}

html.trm-theme-light body .trm-products-page-v2,
html.trm-theme-light body .trm-services-page-v1,
html.trm-theme-light body .trm-products-main,
html.trm-theme-light body .trm-services-main,
html.trm-theme-light body .trm-product-builder-main,
html.trm-theme-light body .trm-vamino-main,
body.trm-theme-light .trm-products-page-v2,
body.trm-theme-light .trm-services-page-v1,
body.trm-theme-light .trm-products-main,
body.trm-theme-light .trm-services-main,
body.trm-theme-light .trm-product-builder-main,
body.trm-theme-light .trm-vamino-main {
  background: linear-gradient(180deg, var(--trm-c-bg), var(--trm-c-bg-2)) !important;
}

/* فقط wrapperهای داخلی شفاف باشند؛ این‌ها نباید پنل سفید/تیره جدا بسازند. */
html.trm-theme-light body :is(
  .trm-container,.trm-hero-copy,.trm-hero-content,.trm-products-hero-content,.trm-services-hero-content,.trm-products-hero-actions,.trm-services-hero-actions,.trm-product-builder-copy,.trm-vamino-hero-content,
  .trm-card-body,.trm-team-body,.trm-footer-grid,.trm-footer-bottom,.trm-footer-list,.trm-footer-main,.trm-footer-actions,.trm-footer-columns,
  .riz-ai-hero-content,.riz-mobile-hero-content,.riz-web-hero-content,.riz-api-hero-content,.riz-system-hero-content,.riz-game-hero-content,.riz-about-hero-content,.riz-contact-hero-content,
  .riz-contact-team-inner,.riz-contact-social-head,.riz-contact-services-inner,.riz-contact-cta-inner,.riz-contact-actions,.riz-contact-main-grid,.riz-contact-team-grid,.riz-contact-services-grid,.riz-contact-member-grid,.riz-contact-member-body,
  .riz-about-mini-cards,.riz-about-content,.riz-contact-content,
  .riz-ai-actions,.riz-mobile-actions,.riz-web-actions,.riz-api-actions,.riz-system-actions,.riz-game-actions,
  .riz-ai-grid,.riz-mobile-grid,.riz-web-grid,.riz-api-grid,.riz-system-grid,.riz-game-grid,
  .riz-ai-process,.riz-mobile-process,.riz-web-process,.riz-api-process,.riz-system-process,.riz-game-process,
  .riz-ai-related,.riz-mobile-related,.riz-web-related,.riz-api-related,.riz-system-related,.riz-game-related,
  .riz-ai-project-body,.riz-mobile-project-body,.riz-web-project-body,.riz-api-project-body,.riz-system-project-body,.riz-game-project-body,
  .riz-contact-panel-head,.riz-contact-mini-list,.riz-contact-service-top,.riz-contact-action-text,.riz-contact-member-skills
) {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
}

/* Hero اصلی هر صفحه */
html.trm-theme-light body :is(.trm-hero,.trm-home-v5 .trm-hero,.trm-products-hero,.trm-services-hero,.trm-product-builder-hero,.trm-vamino-hero,.trm-vamino-hero-wrap,.riz-ai-hero,.riz-mobile-hero,.riz-web-hero,.riz-api-hero,.riz-system-hero,.riz-game-hero,.riz-about-hero,.riz-contact-hero) {
  background: var(--trm-c-hero) !important;
  border-color: var(--trm-c-border) !important;
  box-shadow: var(--trm-c-shadow) !important;
  color: var(--trm-c-text) !important;
}

/* کامپوننت‌های واقعی کارت/پنل؛ بدون selector کلی خطرناک. */
html.trm-theme-light body :is(
  .trm-site-header,.trm-header-dropdown,.trm-shared-mega,.trm-mobile-menu,.trm-mobile-panel,.trm-menu-panel,
  .trm-code-panel,.trm-home-product-shell,.trm-home-product-terminal,.trm-terminal-top,.trm-terminal-footer div,.trm-log-row,
  .trm-card,.trm-product-card,.trm-service-card,.trm-team-card,.trm-news-card,.trm-stats,.trm-stats div,
  .trm-why-panel,.trm-why-grid article,.trm-faq-item,.trm-cta,.trm-compact-hero,.trm-empty,
  .trm-products-hero-copy,.trm-services-hero-copy,.trm-products-quick,.trm-services-quick,.trm-products-quick div,.trm-services-quick div,
  .trm-products-stats,.trm-products-stats div,.trm-products-statbar,.trm-products-card,.trm-products-highlight,.trm-products-why-panel,.trm-products-why-card,.trm-products-cta,
  .trm-services-process-panel,.trm-services-process-grid > div,
  .trm-product-builder-actions,.trm-product-builder-access,.trm-product-builder-frame,.trm-product-builder-floating,.trm-product-builder-status,
  .trm-builder-section,.trm-builder-card,.trm-builder-feature,.trm-builder-benefits>div,.trm-builder-highlight,.trm-builder-cta,.trm-builder-list li,.trm-builder-feature li,
  .trm-vamino-download-card,.trm-vamino-section,.trm-vamino-feature,.trm-vamino-benefits>div,.trm-vamino-floating-card,.trm-vamino-highlight,.trm-vamino-warning,.trm-vamino-phone-frame,.trm-vamino-section li,.trm-vamino-status,
  .trm-shared-footer,.trm-home-footer,.trm-footer-panel,.trm-footer-brand,.trm-footer-col,.trm-footer-contact,.trm-footer-contact-item,.trm-footer-trust-panel,.trm-footer-trust-logo,.trm-footer-zarinpal,.trm-footer-list a,.trm-footer-more,
  .trm-shared-footer-card,.trm-shared-footer-trust,.trm-shared-footer-link,.trm-shared-footer-contact-card,
  .riz-ai-stats,.riz-ai-stat,.riz-ai-section,.riz-ai-card,.riz-ai-process-item,.riz-ai-project,.riz-ai-cta,.riz-ai-cover,.riz-ai-floating,
  .riz-mobile-stats,.riz-mobile-stat,.riz-mobile-section,.riz-mobile-card,.riz-mobile-process-item,.riz-mobile-project,.riz-mobile-cta,.riz-mobile-cover,.riz-mobile-floating,
  .riz-web-stats,.riz-web-stat,.riz-web-section,.riz-web-card,.riz-web-process-item,.riz-web-project,.riz-web-cta,.riz-web-cover,.riz-web-floating,
  .riz-api-stats,.riz-api-stat,.riz-api-section,.riz-api-card,.riz-api-process-item,.riz-api-project,.riz-api-cta,.riz-api-cover,.riz-api-floating,
  .riz-system-stats,.riz-system-stat,.riz-system-section,.riz-system-card,.riz-system-process-item,.riz-system-project,.riz-system-cta,.riz-system-cover,.riz-system-floating,
  .riz-game-stats,.riz-game-stat,.riz-game-section,.riz-game-card,.riz-game-process-item,.riz-game-project,.riz-game-cta,.riz-game-cover,.riz-game-floating,
  .riz-about-orbit,.riz-about-mini-cards div,.riz-about-floating-card,.riz-about-stats,.riz-about-stat,.riz-about-section,.riz-about-card,.riz-about-product,
  .riz-contact-panel,.riz-contact-mini-item,.riz-contact-floating-card,.riz-contact-team,.riz-contact-team-card,.riz-contact-social-card,.riz-contact-services,.riz-contact-cta,.riz-contact-info-card,.riz-contact-section,.riz-contact-action,.riz-contact-service-card,.riz-contact-member-card,.riz-contact-value
) {
  background: var(--trm-c-card) !important;
  border-color: var(--trm-c-border) !important;
  box-shadow: var(--trm-c-shadow-soft) !important;
  color: var(--trm-c-text) !important;
}

/* اگر داخل کارت، عکس یا تصویر مستقل است، نباید صفحه تیره پشتش بسازد. */
html.trm-theme-light body :is(
  .trm-card-image,.trm-card-image img,.trm-team-photo,.trm-team-photo img,.trm-product-builder-frame img,.trm-vamino-phone-frame img,
  .riz-ai-cover img,.riz-mobile-cover img,.riz-web-cover img,.riz-api-cover img,.riz-system-cover img,.riz-game-cover img,
  .riz-ai-project-image,.riz-mobile-project-image,.riz-web-project-image,.riz-api-project-image,.riz-system-project-image,.riz-game-project-image,
  .riz-ai-project-image img,.riz-mobile-project-image img,.riz-web-project-image img,.riz-api-project-image img,.riz-system-project-image img,.riz-game-project-image img,
  .riz-contact-member-image,.riz-contact-member-image img
) {
  background: transparent !important;
  background-color: transparent !important;
}

/* چیپ‌ها، لیبل‌ها، badgeها، تگ‌ها و نقش اعضا */
html.trm-theme-light body :is(
  .trm-hero-kicker span,.trm-hero-kicker small,.trm-section-head>span,.trm-badge,.trm-chip,.trm-tags span,.trm-products-tag,.trm-builder-tag,.trm-builder-badge,.trm-vamino-hero-badge,.trm-vamino-pill,.trm-vamino-hero-tags span,.trm-log-status,
  .riz-ai-badge,.riz-mobile-badge,.riz-web-badge,.riz-api-badge,.riz-system-badge,.riz-game-badge,.riz-about-badge,.riz-contact-badge,
  .riz-ai-tags span,.riz-mobile-tags span,.riz-web-tags span,.riz-api-tags span,.riz-system-tags span,.riz-game-tags span,.riz-about-tags span,.riz-contact-tags span,
  .riz-ai-project-tags span,.riz-mobile-project-tags span,.riz-web-project-tags span,.riz-api-project-tags span,.riz-system-project-tags span,.riz-game-project-tags span,
  .riz-contact-member-role,.riz-contact-member-skills span,.riz-contact-service-link,.riz-about-highlight,.riz-contact-highlight,.trm-products-highlight,.trm-builder-highlight,.trm-vamino-highlight
) {
  color: var(--trm-c-text) !important;
  background: var(--trm-c-chip) !important;
  border-color: var(--trm-c-border) !important;
  box-shadow: none !important;
}

/* متن‌ها؛ فقط متن را کنترل کن، نه wrapper را. */
html.trm-theme-light body :is(.trm-page,.trm-home-v5,.trm-site-header,.trm-home-footer,.trm-shared-footer,.riz-ai-service-page,.riz-mobile-service-page,.riz-web-service-page,.riz-api-service-page,.riz-system-service-page,.riz-game-service-page,.riz-about-page,.riz-contact-page) :is(h1,h2,h3,h4,h5,h6,strong,b,summary) {
  color: var(--trm-c-text) !important;
}
html.trm-theme-light body :is(.trm-page,.trm-home-v5,.trm-site-header,.trm-home-footer,.trm-shared-footer,.riz-ai-service-page,.riz-mobile-service-page,.riz-web-service-page,.riz-api-service-page,.riz-system-service-page,.riz-game-service-page,.riz-about-page,.riz-contact-page) :is(p,small,li,span) {
  color: var(--trm-c-text-soft) !important;
}
html.trm-theme-light body :is(.trm-page,.trm-home-v5,.trm-site-header,.trm-home-footer,.trm-shared-footer,.riz-ai-service-page,.riz-mobile-service-page,.riz-web-service-page,.riz-api-service-page,.riz-system-service-page,.riz-game-service-page,.riz-about-page,.riz-contact-page) :is(.trm-badge,.trm-chip,.trm-tags span,.trm-products-tag,.trm-builder-tag,.trm-vamino-pill,.trm-vamino-hero-tags span,.riz-ai-badge,.riz-mobile-badge,.riz-web-badge,.riz-api-badge,.riz-system-badge,.riz-game-badge,.riz-about-badge,.riz-contact-badge,.riz-ai-tags span,.riz-mobile-tags span,.riz-web-tags span,.riz-api-tags span,.riz-system-tags span,.riz-game-tags span,.riz-about-tags span,.riz-contact-tags span,.riz-contact-member-role,.riz-contact-member-skills span) {
  color: var(--trm-c-text) !important;
}

/* هدر و لوگو */
html.trm-theme-light body .trm-brand,
html.trm-theme-light body .trm-brand:visited,
html.trm-theme-light body .trm-brand-copy strong,
html.trm-theme-light body .trm-brand-copy small {
  color: var(--trm-c-text) !important;
}
html.trm-theme-light body .trm-brand-mark,
html.trm-theme-light body .trm-footer-logo img {
  background: rgba(255,255,255,.72) !important;
  border-color: var(--trm-c-border) !important;
  box-shadow: var(--trm-c-shadow-soft) !important;
}
html.trm-theme-light body :is(.trm-header-nav a,.trm-mobile-link,.trm-mobile-sub-toggle,.trm-tool-pill) {
  color: var(--trm-c-text) !important;
  background: rgba(255,255,255,.58) !important;
  border-color: var(--trm-c-border) !important;
}
html.trm-theme-light body :is(.trm-header-nav a,.trm-mobile-link,.trm-mobile-sub-toggle,.trm-tool-pill):hover {
  background: rgba(4,212,190,.10) !important;
}
html.trm-theme-light body .trm-menu-caret {
  background: rgba(255,255,255,.72) !important;
  border-color: var(--trm-c-border) !important;
}
html.trm-theme-light body .trm-menu-caret::before {
  border-right-color: var(--trm-c-text) !important;
  border-bottom-color: var(--trm-c-text) !important;
}

/* دکمه‌ها: اصلی و فرعی باید در تم روشن هم فرق داشته باشند. */
html.trm-theme-light body :is(.trm-btn-primary,.trm-small-btn:not(.trm-small-btn-outline),.trm-header-cta,.trm-footer-primary,.trm-products-primary,.trm-builder-primary,.trm-product-builder-action,.trm-vamino-action,.riz-contact-btn) {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--trm-c-primary), var(--trm-c-primary-2)) !important;
  border-color: rgba(7,143,156,.28) !important;
  box-shadow: 0 14px 30px rgba(15,23,42,.16) !important;
}
html.trm-theme-light body :is(.trm-btn-primary,.trm-small-btn:not(.trm-small-btn-outline),.trm-header-cta,.trm-footer-primary,.trm-products-primary,.trm-builder-primary,.trm-product-builder-action,.trm-vamino-action,.riz-contact-btn) :is(span,strong,small,p) {
  color: #ffffff !important;
}
html.trm-theme-light body :is(.trm-btn-ghost,.trm-small-btn-outline,.trm-footer-ghost,.trm-builder-secondary,.trm-products-secondary,.trm-detail-action-ghost) {
  color: var(--trm-c-text) !important;
  background: rgba(255,255,255,.58) !important;
  border-color: var(--trm-c-border-2) !important;
  box-shadow: none !important;
}
html.trm-theme-light body :is(.trm-btn-ghost,.trm-small-btn-outline,.trm-footer-ghost,.trm-builder-secondary,.trm-products-secondary,.trm-detail-action-ghost) :is(span,strong,small,p) {
  color: var(--trm-c-text) !important;
}
html.trm-theme-light body :is(.riz-ai-btn,.riz-mobile-btn,.riz-web-btn,.riz-api-btn,.riz-system-btn,.riz-game-btn) {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--trm-c-primary), var(--trm-c-primary-2)) !important;
  border-color: rgba(7,143,156,.28) !important;
}
html.trm-theme-light body :is(.riz-ai-btn.alt,.riz-mobile-btn.alt,.riz-web-btn.alt,.riz-api-btn.purple,.riz-system-btn.purple,.riz-game-btn.alt) {
  background: linear-gradient(135deg, var(--trm-c-purple), var(--trm-c-primary-2)) !important;
}
html.trm-theme-light body :is(.riz-ai-btn.green,.riz-mobile-btn.green,.riz-web-btn.green,.riz-api-btn.alt,.riz-system-btn,.riz-game-btn.green) {
  background: linear-gradient(135deg, var(--trm-c-green), var(--trm-c-primary)) !important;
}
html.trm-theme-light body :is(.riz-ai-btn,.riz-mobile-btn,.riz-web-btn,.riz-api-btn,.riz-system-btn,.riz-game-btn) :is(span,strong,small,p) {
  color: #ffffff !important;
}

/* آیکن‌ها و شماره‌ها */
html.trm-theme-light body :is(.trm-icon,.trm-quick-icon,.trm-check,.trm-why-grid strong,.trm-services-process-grid strong,.riz-ai-card-icon,.riz-mobile-card-icon,.riz-web-card-icon,.riz-api-card-icon,.riz-system-card-icon,.riz-game-card-icon,.riz-ai-process-number,.riz-mobile-process-number,.riz-web-process-number,.riz-api-process-number,.riz-system-process-number,.riz-game-process-number,.riz-contact-card-icon,.riz-contact-team-icon,.riz-contact-service-icon,.riz-contact-action-icon,.trm-product-builder-action-icon,.trm-vamino-action-icon) {
  color: #ffffff !important;
  background: linear-gradient(135deg, var(--trm-c-primary), var(--trm-c-primary-2)) !important;
  border-color: rgba(255,255,255,.18) !important;
}

/* فوتر: همه لینک‌ها و باکس‌ها از کارت مرکزی بخوانند */
html.trm-theme-light body :is(.trm-home-footer,.trm-shared-footer,.trm-footer-panel) {
  background: var(--trm-c-card) !important;
  color: var(--trm-c-text) !important;
  border-color: var(--trm-c-border) !important;
}
html.trm-theme-light body :is(.trm-footer-list a,.trm-footer-contact-item,.trm-footer-trust-logo,.trm-footer-zarinpal,.trm-footer-more) {
  background: var(--trm-c-chip) !important;
  color: var(--trm-c-text) !important;
  border-color: var(--trm-c-border) !important;
}
html.trm-theme-light body :is(.trm-footer-list a,.trm-footer-contact-item,.trm-footer-trust-logo,.trm-footer-zarinpal,.trm-footer-more) :is(span,strong,small,p) {
  color: var(--trm-c-text) !important;
}

/* لودینگ */
html.trm-theme-light body .trm-navigation-loader {
  background: rgba(248,250,252,.82) !important;
  backdrop-filter: blur(12px) !important;
}
html.trm-theme-light body .trm-navigation-loader-card {
  background: var(--trm-c-card) !important;
  border-color: var(--trm-c-border) !important;
  box-shadow: var(--trm-c-shadow) !important;
  color: var(--trm-c-text) !important;
}
html.trm-theme-light body .trm-navigation-loader-card :is(strong,span) { color: var(--trm-c-text) !important; }
html.trm-theme-light body .trm-navigation-loader-card small { color: var(--trm-c-text-muted) !important; }
html.trm-theme-light body .trm-navigation-loader-spinner {
  border-color: rgba(15,23,42,.14) !important;
  border-top-color: var(--trm-c-primary) !important;
  border-left-color: var(--trm-c-primary-2) !important;
}

/* =========================================================
   V6.0 HEADER SEARCH OVERLAY
========================================================= */
.trm-search-overlay,
.trm-search-overlay * {
  box-sizing: border-box;
}

.trm-search-overlay {
  position: fixed;
  inset: 0;
  z-index: 9999999;
  display: grid;
  place-items: start center;
  padding: 90px 16px 24px;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity .18s ease, visibility .18s ease;
}

.trm-search-overlay.trm-search-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.trm-search-backdrop {
  position: absolute;
  inset: 0;
  background: rgba(2, 6, 23, .66);
  backdrop-filter: blur(12px);
}

.trm-search-panel {
  position: relative;
  z-index: 2;
  width: min(860px, calc(100vw - 32px));
  max-height: min(760px, calc(100vh - 120px));
  overflow: auto;
  border-radius: 30px;
  padding: 26px;
  color: var(--trm-text);
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .13), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .18), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, .96), rgba(2, 6, 23, .94));
  border: 1px solid rgba(148, 163, 184, .24);
  box-shadow: 0 34px 90px rgba(0, 0, 0, .52);
}

.trm-search-close {
  position: absolute;
  left: 18px;
  top: 18px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 14px;
  cursor: pointer;
  color: #fff;
  background: rgba(15, 23, 42, .72);
  border: 1px solid rgba(148, 163, 184, .2);
  font-size: 24px;
  line-height: 1;
}

.trm-search-head {
  padding-inline-end: 52px;
  margin-bottom: 18px;
}

.trm-search-kicker {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 6px 12px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(4, 212, 190, .11);
  border: 1px solid rgba(4, 212, 190, .24);
  font-size: 13px;
  font-weight: 900;
}

.trm-search-head h2 {
  margin: 14px 0 8px;
  color: #fff;
  font-size: clamp(24px, 4vw, 38px);
  line-height: 1.45;
  font-weight: 950;
}

.trm-search-head p {
  margin: 0;
  color: var(--trm-soft);
  font-size: 15px;
  line-height: 2;
}

.trm-search-form {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  margin-bottom: 16px;
}

.trm-search-form input {
  min-height: 56px;
  width: 100%;
  border-radius: 18px;
  padding: 12px 16px;
  color: #f8fafc;
  background: rgba(15, 23, 42, .62);
  border: 1px solid rgba(148, 163, 184, .22);
  outline: none;
  font-size: 15px;
  font-family: inherit;
}

.trm-search-form input:focus {
  border-color: rgba(4, 212, 190, .46);
  box-shadow: 0 0 0 3px rgba(4, 212, 190, .12);
}

.trm-search-form button {
  min-height: 56px;
  border: 0;
  border-radius: 18px;
  padding: 0 22px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #04D4BE, #087f95 48%, #1B1296);
  font-size: 14px;
  font-weight: 950;
  font-family: inherit;
}

.trm-search-results {
  display: grid;
  gap: 10px;
}

.trm-search-empty {
  padding: 18px;
  border-radius: 20px;
  color: var(--trm-muted);
  background: rgba(15, 23, 42, .46);
  border: 1px solid rgba(148, 163, 184, .16);
  line-height: 2;
}

.trm-search-result,
.trm-search-result:visited {
  display: block;
  position: relative;
  padding: 16px 18px;
  border-radius: 20px;
  color: #fff !important;
  text-decoration: none !important;
  background: rgba(15, 23, 42, .52);
  border: 1px solid rgba(148, 163, 184, .16);
  transition: transform .2s ease, border-color .2s ease, background .2s ease;
}

.trm-search-result:hover {
  transform: translateY(-3px);
  border-color: rgba(4, 212, 190, .32);
  background: rgba(15, 23, 42, .68);
}

.trm-search-result-type {
  display: inline-flex;
  align-items: center;
  min-height: 28px;
  padding: 4px 10px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(4, 212, 190, .1);
  border: 1px solid rgba(4, 212, 190, .2);
  font-size: 12px;
  font-weight: 900;
}

.trm-search-result strong {
  display: block;
  margin: 8px 0 5px;
  color: #fff;
  font-size: 17px;
  line-height: 1.8;
  font-weight: 950;
}

.trm-search-result p {
  margin: 0 0 6px;
  color: var(--trm-soft);
  font-size: 14px;
  line-height: 1.9;
}

.trm-search-result small {
  color: var(--trm-muted);
}

.trm-search-result-cats {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
}

.trm-search-result-cats span {
  display: inline-flex;
  padding: 4px 9px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15, 23, 42, .58);
  border: 1px solid rgba(148, 163, 184, .16);
  font-size: 12px;
}

html.trm-theme-light body .trm-search-backdrop {
  background: rgba(15, 23, 42, .24);
}

html.trm-theme-light body .trm-search-panel {
  color: #0f172a;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .08), transparent 38%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(241, 245, 249, .96));
  border-color: rgba(15, 23, 42, .12);
  box-shadow: 0 34px 90px rgba(15, 23, 42, .18);
}

html.trm-theme-light body .trm-search-close,
html.trm-theme-light body .trm-search-form input,
html.trm-theme-light body .trm-search-empty,
html.trm-theme-light body .trm-search-result,
html.trm-theme-light body .trm-search-result-cats span {
  color: #0f172a !important;
  background: rgba(255, 255, 255, .82);
  border-color: rgba(15, 23, 42, .12);
}

html.trm-theme-light body .trm-search-head h2,
html.trm-theme-light body .trm-search-result strong {
  color: #0f172a;
}

html.trm-theme-light body .trm-search-head p,
html.trm-theme-light body .trm-search-result p,
html.trm-theme-light body .trm-search-result small,
html.trm-theme-light body .trm-search-empty {
  color: #475569 !important;
}

html.trm-theme-light body .trm-search-result:hover {
  background: rgba(255, 255, 255, .98);
}

@media (max-width: 780px) {
  .trm-search-overlay {
    padding-top: 70px;
  }
  .trm-search-panel {
    width: min(100%, calc(100vw - 18px));
    max-height: calc(100vh - 90px);
    padding: 20px 14px;
    border-radius: 24px;
  }
  .trm-search-form {
    grid-template-columns: 1fr;
  }
}


/* =========================================================
   V6.2 SEARCH PANEL SCROLL CONTAINMENT FIX
   Keep the scrollbar inside the rounded search panel.
========================================================= */
.trm-search-panel {
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.trm-search-results {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  max-height: min(430px, calc(100vh - 360px)) !important;
  padding-inline-start: 6px !important;
  padding-inline-end: 2px !important;
  margin-inline-start: -2px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(4, 212, 190, .55) transparent;
}

.trm-search-results::-webkit-scrollbar {
  width: 8px;
}

.trm-search-results::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 999px;
}

.trm-search-results::-webkit-scrollbar-thumb {
  background: linear-gradient(180deg, rgba(4, 212, 190, .62), rgba(27, 18, 150, .46));
  border-radius: 999px;
  border: 2px solid transparent;
  background-clip: padding-box;
}

html.trm-theme-light body .trm-search-results {
  scrollbar-color: rgba(14, 116, 144, .55) transparent;
}

@media (max-width: 780px) {
  .trm-search-results {
    max-height: calc(100vh - 330px) !important;
    padding-inline-start: 5px !important;
  }
}


/* v6.7 - bilingual layout foundation */
html.trm-lang-en .trm-page,
html.trm-lang-en .trm-home-main,
html.trm-lang-en .trm-products-main,
html.trm-lang-en .trm-services-main {
  direction: ltr;
}
html.trm-lang-en .trm-page :is(h1,h2,h3,p,li,small,span,strong),
html.trm-lang-en .trm-home-main :is(h1,h2,h3,p,li,small,span,strong),
html.trm-lang-en .trm-products-main :is(h1,h2,h3,p,li,small,span,strong),
html.trm-lang-en .trm-services-main :is(h1,h2,h3,p,li,small,span,strong) {
  text-align: left;
}
html.trm-lang-en .trm-section-head.trm-center-head :is(h2,p,span),
html.trm-lang-en .trm-cta :is(h2,p),
html.trm-lang-en .trm-products-stats :is(strong,span),
html.trm-lang-en .trm-services-stats :is(strong,span),
html.trm-lang-en .trm-stats :is(strong,span) {
  text-align: center;
}
html.trm-lang-en .trm-actions,
html.trm-lang-en .trm-products-hero-actions,
html.trm-lang-en .trm-services-hero-actions,
html.trm-lang-en .trm-trust-row {
  justify-content: flex-start;
}
html.trm-lang-en .trm-why-grid article strong,
html.trm-lang-en .trm-services-process-grid div strong {
  left: auto;
  right: 16px;
}


/* =========================================================
   V6.8 SEARCH OVERLAY VIEWPORT FIX
   The overlay is moved to body by JS and must always cover the
   full viewport, regardless of header wrappers.
========================================================= */
html body > .trm-search-overlay {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh !important;
  z-index: 2147483000 !important;
}
html body > .trm-search-overlay .trm-search-backdrop {
  position: fixed !important;
  inset: 0 !important;
  width: 100vw !important;
  height: 100dvh !important;
  min-height: 100vh !important;
}
body.trm-search-is-open {
  overflow: hidden !important;
}
@supports not (height: 100dvh) {
  html body > .trm-search-overlay,
  html body > .trm-search-overlay .trm-search-backdrop {
    height: 100vh !important;
  }
}

/* =========================================================
   Riz Block Builder frontend blocks
========================================================= */
.trm-block-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(280px,.92fr);gap:26px;align-items:center;margin-top:28px;margin-bottom:28px;padding:34px;border-radius:32px;background:var(--trm-panel-bg,rgba(15,23,42,.72));border:1px solid var(--trm-border,rgba(148,163,184,.22));box-shadow:var(--trm-card-shadow,0 24px 70px rgba(0,0,0,.28));backdrop-filter:blur(14px)}
.trm-block-hero h1{margin:12px 0;color:var(--trm-text,#fff);font-size:clamp(28px,4vw,46px);font-weight:950;line-height:1.45}.trm-block-hero p{margin:0 0 20px;color:var(--trm-text-soft,#cbd5e1);font-size:16px;line-height:2}.trm-block-hero-image{width:100%;aspect-ratio:16/9;overflow:hidden;border-radius:26px;background:var(--trm-surface-strong,rgba(2,6,23,.62));border:1px solid var(--trm-border,rgba(148,163,184,.2))}.trm-block-hero-image img{width:100%;height:100%;object-fit:cover;display:block}.trm-block-cta{margin-top:28px;margin-bottom:28px}.trm-block-cta .trm-cta{padding:34px}@media(max-width:860px){.trm-block-hero{grid-template-columns:1fr;padding:22px 16px}.trm-block-hero-image{order:-1}}


/* =========================================================
   TRM 8.5.1 - UI polish before bilingual/block migration
   - removes the visual weight of duplicated nested cards where it looked accidental
   - improves button contrast on products/services in light theme
   - keeps stats readable in light theme
========================================================= */
.trm-home-v5 .trm-home-product-shell,
.trm-home-v5 .trm-home-product-terminal,
.trm-home-v5 .trm-product-card .trm-tags,
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-tags,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-tags {
  box-shadow: none;
}

.trm-home-v5 .trm-home-product-terminal {
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .075), transparent 34%),
    linear-gradient(145deg, rgba(15, 23, 42, .58), rgba(2, 6, 23, .38));
}

.trm-product-card .trm-tags {
  padding: 0;
  background: transparent;
  border: 0;
}

.trm-products-page-v2 .trm-small-btn,
.trm-products-page-v2 .trm-small-btn:visited,
.trm-services-page-v1 .trm-small-btn,
.trm-services-page-v1 .trm-small-btn:visited {
  color: #ffffff !important;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .18), transparent 38%),
    linear-gradient(135deg, #04D4BE 0%, #078f9c 48%, #2563eb 100%) !important;
  border-color: rgba(4, 212, 190, .35) !important;
  box-shadow: 0 14px 30px rgba(15, 23, 42, .22) !important;
}

.trm-products-page-v2 .trm-small-btn:hover,
.trm-services-page-v1 .trm-small-btn:hover {
  filter: saturate(1.08);
  transform: translateY(-3px);
}

html.trm-theme-light body .trm-products-page-v2 .trm-products-stats,
html.trm-theme-light body .trm-services-page-v1 .trm-products-stats,
body.trm-theme-light .trm-products-page-v2 .trm-products-stats,
body.trm-theme-light .trm-services-page-v1 .trm-products-stats {
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .10), transparent 34%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(238, 246, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .12) !important;
}

html.trm-theme-light body .trm-products-page-v2 .trm-products-stats div,
html.trm-theme-light body .trm-services-page-v1 .trm-products-stats div,
body.trm-theme-light .trm-products-page-v2 .trm-products-stats div,
body.trm-theme-light .trm-services-page-v1 .trm-products-stats div {
  background: rgba(255, 255, 255, .78) !important;
  border-color: rgba(15, 23, 42, .10) !important;
}

html.trm-theme-light body .trm-products-page-v2 .trm-products-stats strong,
html.trm-theme-light body .trm-services-page-v1 .trm-products-stats strong,
body.trm-theme-light .trm-products-page-v2 .trm-products-stats strong,
body.trm-theme-light .trm-services-page-v1 .trm-products-stats strong {
  color: #0f172a !important;
}

html.trm-theme-light body .trm-products-page-v2 .trm-products-stats span,
html.trm-theme-light body .trm-services-page-v1 .trm-products-stats span,
body.trm-theme-light .trm-products-page-v2 .trm-products-stats span,
body.trm-theme-light .trm-services-page-v1 .trm-products-stats span {
  color: #334155 !important;
}

html.trm-theme-light body .trm-products-page-v2 .trm-small-btn,
html.trm-theme-light body .trm-products-page-v2 .trm-small-btn:visited,
body.trm-theme-light .trm-products-page-v2 .trm-small-btn,
body.trm-theme-light .trm-products-page-v2 .trm-small-btn:visited {
  color: #ffffff !important;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .20), transparent 38%),
    linear-gradient(135deg, #04D4BE 0%, #078f9c 48%, #2563eb 100%) !important;
  border-color: rgba(7, 143, 156, .35) !important;
}


/* =========================================================
   TRM 8.5.2 - final UI fixes
   - center-align home benefit intro in FA/EN
   - restore secondary card buttons; keep primary buttons aligned with home cards
   - make products hero primary CTA readable in light theme
   - add polished 404 page shell
========================================================= */
.trm-home-v5 .trm-why-section .trm-why-panel > .trm-section-head,
.trm-home-v5 .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p),
html.trm-lang-en .trm-home-v5 .trm-why-section .trm-why-panel > .trm-section-head,
html.trm-lang-en .trm-home-v5 .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p) {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.trm-home-v5 .trm-why-section .trm-why-panel > .trm-section-head p {
  max-width: 900px !important;
}

/* Revert the accidental 8.5.1 styling on secondary card buttons. */
.trm-products-page-v2 .trm-product-card .trm-small-btn-outline,
.trm-products-page-v2 .trm-product-card .trm-small-btn-outline:visited,
.trm-services-page-v1 .trm-product-card .trm-small-btn-outline,
.trm-services-page-v1 .trm-product-card .trm-small-btn-outline:visited {
  color: #e0f2fe !important;
  background: rgba(15, 23, 42, .42) !important;
  border-color: rgba(148, 163, 184, .28) !important;
  box-shadow: none !important;
}
.trm-products-page-v2 .trm-product-card .trm-small-btn-outline:hover,
.trm-services-page-v1 .trm-product-card .trm-small-btn-outline:hover {
  background: rgba(15, 23, 42, .62) !important;
  border-color: rgba(4, 212, 190, .38) !important;
}

/* Make product cards consistent across home, products and services pages. */
.trm-products-page-v2 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
.trm-services-page-v1 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline) {
  color: #ffffff !important;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .16), transparent 42%),
    linear-gradient(135deg, rgba(4, 212, 190, .88), rgba(7, 143, 156, .94)) !important;
  border-color: rgba(4, 212, 190, .28) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.20) !important;
}
html.trm-theme-light body .trm-products-page-v2 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
body.trm-theme-light .trm-products-page-v2 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
html.trm-theme-light body .trm-services-page-v1 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
body.trm-theme-light .trm-services-page-v1 .trm-product-card .trm-small-btn:not(.trm-small-btn-outline) {
  color: #ffffff !important;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, .16), transparent 42%),
    linear-gradient(135deg, rgba(4, 212, 190, .88), rgba(7, 143, 156, .94)) !important;
  border-color: rgba(4, 212, 190, .30) !important;
}

/* Products page hero primary button: only text/contrast fix needed in light theme. */
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary {
  color: #ffffff !important;
  text-shadow: 0 1px 1px rgba(0,0,0,.18);
}

.trm-404-page {
  min-height: 100vh;
  background:
    radial-gradient(circle at 12% 12%, rgba(4, 212, 190, .16), transparent 34%),
    radial-gradient(circle at 86% 22%, rgba(27, 18, 150, .20), transparent 38%),
    linear-gradient(145deg, #020617, #07111f 48%, #020617);
}
.trm-404-main {
  width: min(1180px, calc(100vw - 28px));
  margin: 0 auto;
  padding: clamp(34px, 5vw, 74px) 0 70px;
}
.trm-404-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(300px, .95fr);
  gap: 24px;
  align-items: center;
  padding: clamp(24px, 4vw, 46px);
  border-radius: 36px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .16), transparent 34%),
    radial-gradient(circle at bottom left, rgba(168, 85, 247, .16), transparent 40%),
    linear-gradient(145deg, rgba(15, 23, 42, .86), rgba(2, 6, 23, .68));
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 32px 90px rgba(0,0,0,.38);
  backdrop-filter: blur(14px);
}
.trm-404-card::before {
  content: '';
  position: absolute;
  inset: 0 0 auto 0;
  height: 3px;
  background: linear-gradient(90deg, #04D4BE, #1B1296, #a855f7, #04D4BE);
}
.trm-404-kicker {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  margin-bottom: 16px;
  padding: 7px 14px;
  border-radius: 999px;
  color: #ecfeff;
  background: rgba(4, 212, 190, .12);
  border: 1px solid rgba(4, 212, 190, .25);
  font-size: 13px;
  font-weight: 900;
}
.trm-404-card h1 {
  margin: 0 0 16px;
  color: #ffffff;
  font-size: clamp(34px, 5.4vw, 62px);
  font-weight: 950;
  line-height: 1.35;
  letter-spacing: -.7px;
}
.trm-404-card p {
  max-width: 720px;
  margin: 0;
  color: #cbd5e1;
  font-size: 16.5px;
  line-height: 2.1;
}
.trm-404-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}
.trm-404-visual {
  position: relative;
  min-height: 330px;
  display: grid;
  place-items: center;
}
.trm-404-code {
  position: relative;
  width: min(340px, 100%);
  aspect-ratio: 1 / 1;
  display: grid;
  place-items: center;
  border-radius: 34px;
  background:
    radial-gradient(circle at 30% 20%, rgba(4, 212, 190, .24), transparent 32%),
    linear-gradient(145deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .72));
  border: 1px solid rgba(148, 163, 184, .20);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 24px 60px rgba(0,0,0,.32);
}
.trm-404-code strong {
  color: #ffffff;
  font-size: clamp(72px, 12vw, 126px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -4px;
  text-shadow: 0 0 34px rgba(4, 212, 190, .20);
}
.trm-404-chip {
  position: absolute;
  min-width: 150px;
  padding: 12px 14px;
  border-radius: 18px;
  color: #f8fafc;
  background: rgba(15, 23, 42, .78);
  border: 1px solid rgba(148, 163, 184, .22);
  box-shadow: 0 16px 38px rgba(0,0,0,.28);
  backdrop-filter: blur(12px);
  font-size: 13px;
  font-weight: 850;
  line-height: 1.7;
  text-align: center;
}
.trm-404-chip.one { top: 26px; right: 0; }
.trm-404-chip.two { left: 0; bottom: 32px; }
html.trm-theme-light body .trm-404-page,
body.trm-theme-light .trm-404-page {
  background:
    radial-gradient(circle at 12% 12%, rgba(4, 212, 190, .13), transparent 34%),
    radial-gradient(circle at 86% 22%, rgba(27, 18, 150, .12), transparent 38%),
    linear-gradient(145deg, #f8fafc, #eef6fb 48%, #ffffff);
}
html.trm-theme-light body .trm-404-card,
body.trm-theme-light .trm-404-card {
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .10), transparent 40%),
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(238,246,252,.88));
  border-color: rgba(15, 23, 42, .10);
  box-shadow: 0 26px 70px rgba(15,23,42,.13);
}
html.trm-theme-light body .trm-404-card h1,
body.trm-theme-light .trm-404-card h1,
html.trm-theme-light body .trm-404-code strong,
body.trm-theme-light .trm-404-code strong {
  color: #0f172a;
}
html.trm-theme-light body .trm-404-card p,
body.trm-theme-light .trm-404-card p {
  color: #334155;
}
html.trm-theme-light body .trm-404-code,
body.trm-theme-light .trm-404-code {
  background:
    radial-gradient(circle at 30% 20%, rgba(4, 212, 190, .18), transparent 32%),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(226,232,240,.72));
  border-color: rgba(15, 23, 42, .10);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 20px 48px rgba(15,23,42,.12);
}
html.trm-theme-light body .trm-404-chip,
body.trm-theme-light .trm-404-chip {
  color: #0f172a;
  background: rgba(255,255,255,.86);
  border-color: rgba(15, 23, 42, .10);
  box-shadow: 0 14px 32px rgba(15,23,42,.12);
}
@media (max-width: 880px) {
  .trm-404-card { grid-template-columns: 1fr; }
  .trm-404-visual { order: -1; min-height: 250px; }
  .trm-404-code { width: min(250px, 82vw); }
  .trm-404-actions { display: grid; grid-template-columns: 1fr; }
}

/* =========================================================
   TRM 8.5.3 - targeted rollback/fix for products/services cards, 404 and search loader
========================================================= */

/* Search result click must show above the search modal. */
.trm-navigation-loader {
  z-index: 2147483647 !important;
}
body.trm-page-loading .trm-navigation-loader {
  z-index: 2147483647 !important;
}

/* 404: no separate decorative page background; spacing belongs to the card area, not the whole main. */
.trm-404-page {
  background: var(--trm-c-bg, transparent) !important;
  min-height: 100vh !important;
}
.trm-404-main {
  padding-top: 0 !important;
  padding-bottom: 34px !important;
}
.trm-404-card {
  margin-top: clamp(22px, 3vw, 38px) !important;
  margin-bottom: 0 !important;
}
.trm-404-actions .trm-btn {
  min-height: 46px !important;
  padding: 10px 18px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
}
@media (max-width: 880px) {
  .trm-404-main {
    padding-bottom: 28px !important;
  }
  .trm-404-card {
    margin-top: 18px !important;
  }
}

/* Products page: the hero primary button and bottom CTA must always stay white in light theme. */
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary,
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary:visited,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary:visited,
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary,
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary:visited,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary:visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  text-shadow: 0 1px 1px rgba(0, 0, 0, .20) !important;
}
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary *,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-hero .trm-btn-primary *,
html.trm-theme-light body .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary *,
body.trm-theme-light .trm-products-page-v2:not(.trm-services-page-v1) .trm-products-cta .trm-btn-primary * {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

/* Product cards on products/services pages: match the home product-card action style. */
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-card-actions,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-card-actions {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn:not(.trm-small-btn-outline),
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn:not(.trm-small-btn-outline):visited,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn:not(.trm-small-btn-outline):visited {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  background: linear-gradient(135deg, rgba(4, 212, 190, .88), rgba(7, 143, 156, .94)) !important;
  border-color: rgba(4, 212, 190, .28) !important;
  box-shadow: 0 12px 26px rgba(0,0,0,.20) !important;
}
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline,
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:visited,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:visited {
  color: #e0f2fe !important;
  -webkit-text-fill-color: #e0f2fe !important;
  background: rgba(15, 23, 42, .42) !important;
  border-color: rgba(148, 163, 184, .28) !important;
  box-shadow: none !important;
}
.trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:hover,
.trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:hover {
  background: rgba(15, 23, 42, .62) !important;
  border-color: rgba(4, 212, 190, .38) !important;
}
html.trm-theme-light body .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline,
body.trm-theme-light .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline,
html.trm-theme-light body .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline,
body.trm-theme-light .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline,
html.trm-theme-light body .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:visited,
body.trm-theme-light .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:visited,
html.trm-theme-light body .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:visited,
body.trm-theme-light .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:visited {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: rgba(255, 255, 255, .72) !important;
  border-color: rgba(15, 23, 42, .14) !important;
  box-shadow: none !important;
}
html.trm-theme-light body .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:hover,
body.trm-theme-light .trm-products-page-v2 .trm-products-projects-section .trm-product-card .trm-small-btn-outline:hover,
html.trm-theme-light body .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:hover,
body.trm-theme-light .trm-services-page-v1 .trm-services-products-section .trm-product-card .trm-small-btn-outline:hover {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: rgba(255, 255, 255, .90) !important;
  border-color: rgba(4, 212, 190, .36) !important;
}


/* =========================================================
   TRM 8.5.4 - exact 404/header/search-light corrections
========================================================= */

/* 404 page uses the same shell behavior as the normal plugin pages. */
body.trm-forced-404-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
}
body.trm-forced-404-page .trm-404-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  background: var(--trm-c-bg, transparent) !important;
}
body.trm-forced-404-page .trm-404-shell > .trm-site-header {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  min-height: 0 !important;
  height: auto !important;
}
body.trm-forced-404-page .trm-404-shell > .trm-site-header .trm-site-header-inner {
  min-height: 42px !important;
  height: auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
body.trm-forced-404-page .trm-404-shell > .trm-site-header .trm-brand-mark {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
}
body.trm-forced-404-page .trm-404-main {
  flex: 1 0 auto !important;
  width: min(1180px, calc(100vw - 28px)) !important;
  max-width: min(1180px, calc(100vw - 28px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-top: 0 !important;
  padding-bottom: 20px !important;
  display: flex !important;
  align-items: flex-start !important;
}
body.trm-forced-404-page .trm-404-card {
  width: 100% !important;
  margin-top: clamp(28px, 3.2vw, 46px) !important;
  margin-bottom: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
body.trm-forced-404-page .trm-404-card::before {
  display: none !important;
  content: none !important;
}
body.trm-forced-404-page .trm-404-shell > .trm-home-footer {
  flex: 0 0 auto !important;
  width: 100% !important;
  margin-top: 24px !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
}
body.trm-forced-404-page .trm-404-shell > .trm-home-footer .trm-container {
  margin-left: auto !important;
  margin-right: auto !important;
}
@media (max-width: 780px) {
  body.trm-forced-404-page .trm-404-main {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
    padding-bottom: 14px !important;
  }
  body.trm-forced-404-page .trm-404-card {
    margin-top: 18px !important;
  }
  body.trm-forced-404-page .trm-404-shell > .trm-site-header {
    padding-top: 10px !important;
    padding-bottom: 10px !important;
  }
}

/* Search overlay text fixes in light mode: title kicker and type/category pills must be dark. */
html.trm-theme-light body .trm-search-kicker,
body.trm-theme-light .trm-search-kicker,
html.trm-theme-light body .trm-search-result-type,
body.trm-theme-light .trm-search-result-type,
html.trm-theme-light body .trm-search-result-cats span,
body.trm-theme-light .trm-search-result-cats span {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}
html.trm-theme-light body .trm-search-kicker,
body.trm-theme-light .trm-search-kicker,
html.trm-theme-light body .trm-search-result-type,
body.trm-theme-light .trm-search-result-type {
  background: rgba(4, 212, 190, .10) !important;
  border-color: rgba(4, 212, 190, .24) !important;
}


/* =========================================================
   TRM 8.5.5 - strict 404 background unification
   فقط صفحه ۴۰۴: حذف کامل پنل/بک‌گراند اضافه دور کارت و یکسان‌سازی پس‌زمینه کل صفحه
========================================================= */
html body.trm-forced-404-page,
html body.trm-forced-404-page.trm-404-page,
html.trm-theme-dark body.trm-forced-404-page,
body.trm-theme-dark.trm-forced-404-page {
  background:
    radial-gradient(circle at 78% 8%, rgba(4, 212, 190, .105), transparent 30rem),
    radial-gradient(circle at 10% 28%, rgba(34, 197, 94, .055), transparent 28rem),
    radial-gradient(circle at 48% 52%, rgba(56, 189, 248, .045), transparent 42rem),
    linear-gradient(180deg, #020617 0%, #030712 48%, #020617 100%) !important;
}
html.trm-theme-light body.trm-forced-404-page,
body.trm-theme-light.trm-forced-404-page {
  background: linear-gradient(180deg, var(--trm-c-bg, #f3f7fb), var(--trm-c-bg-2, #e8eef7)) !important;
}
body.trm-forced-404-page .trm-404-shell,
body.trm-forced-404-page .trm-404-main,
body.trm-forced-404-page .trm-404-shell > .trm-home-footer,
body.trm-forced-404-page .trm-404-shell > .trm-site-header {
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
body.trm-forced-404-page .trm-404-card,
html.trm-theme-light body.trm-forced-404-page .trm-404-card,
body.trm-theme-light.trm-forced-404-page .trm-404-card,
html.trm-theme-dark body.trm-forced-404-page .trm-404-card,
body.trm-theme-dark.trm-forced-404-page .trm-404-card {
  background: transparent !important;
  background-image: none !important;
  border-color: transparent !important;
  box-shadow: none !important;
  outline: 0 !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
  overflow: visible !important;
}
body.trm-forced-404-page .trm-404-card::before,
body.trm-forced-404-page .trm-404-card::after {
  display: none !important;
  content: none !important;
  background: transparent !important;
  background-image: none !important;
  box-shadow: none !important;
}
/* جلوگیری از دیده‌شدن هر نوار دو رنگ زیر کارت در مرورگرهایی که parent را paint می‌کنند */
body.trm-forced-404-page .trm-404-copy,
body.trm-forced-404-page .trm-404-visual {
  background: transparent !important;
  background-image: none !important;
}

/* =========================================================
   TRM 8.5.6 - clean rebuild of 404 page
   صفحه ۴۰۴ با کلاس‌های مستقل؛ بدون وابستگی به استایل‌های قبلی 404
========================================================= */
body.trm-clean-404-body {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #020617 !important;
}

.trm-clean-404-shell {
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .12), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .055), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #02110f 34%, #020617 100%) !important;
}

.trm-clean-404-shell > .trm-site-header {
  flex: 0 0 auto !important;
}

.trm-clean-404-main {
  flex: 1 0 auto !important;
  width: min(1180px, calc(100vw - 28px)) !important;
  margin: 0 auto !important;
  padding: clamp(32px, 5vw, 64px) 0 28px !important;
  display: flex !important;
  align-items: center !important;
}

.trm-clean-404-panel {
  position: relative !important;
  width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(280px, .75fr) !important;
  gap: clamp(22px, 4vw, 44px) !important;
  align-items: center !important;
  padding: clamp(28px, 5vw, 58px) !important;
  border-radius: 34px !important;
  overflow: hidden !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .16), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .16), transparent 38%),
    linear-gradient(145deg, rgba(15, 23, 42, .86), rgba(2, 6, 23, .72)) !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  box-shadow: 0 26px 70px rgba(0, 0, 0, .30) !important;
  isolation: isolate !important;
}

.trm-clean-404-panel::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 0 auto 0 !important;
  height: 3px !important;
  background: linear-gradient(90deg, #04D4BE, #1B1296, #04D4BE) !important;
  z-index: 1 !important;
}

.trm-clean-404-content,
.trm-clean-404-visual {
  position: relative !important;
  z-index: 2 !important;
}

.trm-clean-404-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  margin: 0 0 16px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  color: #ecfeff !important;
  background: rgba(4, 212, 190, .12) !important;
  border: 1px solid rgba(4, 212, 190, .25) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
}

.trm-clean-404-panel h1 {
  margin: 0 0 16px !important;
  color: #ffffff !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  font-weight: 950 !important;
  line-height: 1.35 !important;
  letter-spacing: -.7px !important;
}

.trm-clean-404-panel p {
  max-width: 720px !important;
  margin: 0 !important;
  color: #cbd5e1 !important;
  font-size: 16.5px !important;
  line-height: 2.1 !important;
}

.trm-clean-404-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
  margin-top: 26px !important;
}

.trm-clean-404-actions .trm-btn {
  min-height: 48px !important;
  padding: 11px 18px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
}

.trm-clean-404-visual {
  min-height: 280px !important;
  display: grid !important;
  place-items: center !important;
}

.trm-clean-404-number {
  width: min(300px, 100%) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  border-radius: 32px !important;
  color: #ffffff !important;
  font-size: clamp(76px, 12vw, 128px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -5px !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .24), transparent 33%),
    linear-gradient(145deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .72)) !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 44px rgba(0,0,0,.24) !important;
  text-shadow: 0 0 34px rgba(4, 212, 190, .18) !important;
}

.trm-clean-404-note {
  position: absolute !important;
  left: 0 !important;
  bottom: 22px !important;
  max-width: 210px !important;
  padding: 12px 14px !important;
  border-radius: 18px !important;
  color: #f8fafc !important;
  background: rgba(15, 23, 42, .78) !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

.trm-clean-404-shell > .trm-home-footer {
  flex: 0 0 auto !important;
  margin-top: 26px !important;
}

html.trm-theme-light body.trm-clean-404-body {
  background: #f3f7fb !important;
}

html.trm-theme-light body .trm-clean-404-shell,
body.trm-theme-light .trm-clean-404-shell {
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .13), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(27, 18, 150, .07), transparent 28rem),
    linear-gradient(180deg, #f8fafc 0%, #eef6fb 46%, #f8fafc 100%) !important;
}

html.trm-theme-light body .trm-clean-404-panel,
body.trm-theme-light .trm-clean-404-panel {
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .12), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .09), transparent 38%),
    linear-gradient(145deg, rgba(255,255,255,.96), rgba(239,246,252,.90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow: 0 24px 64px rgba(15, 23, 42, .12) !important;
}

html.trm-theme-light body .trm-clean-404-panel h1,
body.trm-theme-light .trm-clean-404-panel h1,
html.trm-theme-light body .trm-clean-404-number,
body.trm-theme-light .trm-clean-404-number {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
}

html.trm-theme-light body .trm-clean-404-panel p,
body.trm-theme-light .trm-clean-404-panel p {
  color: #334155 !important;
}

html.trm-theme-light body .trm-clean-404-badge,
body.trm-theme-light .trm-clean-404-badge {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: rgba(4, 212, 190, .12) !important;
  border-color: rgba(4, 212, 190, .24) !important;
}

html.trm-theme-light body .trm-clean-404-number,
body.trm-theme-light .trm-clean-404-number {
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .18), transparent 33%),
    linear-gradient(145deg, rgba(255,255,255,.92), rgba(226,232,240,.74)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 18px 42px rgba(15,23,42,.10) !important;
}

html.trm-theme-light body .trm-clean-404-note,
body.trm-theme-light .trm-clean-404-note {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background: rgba(255,255,255,.88) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow: 0 14px 32px rgba(15,23,42,.10) !important;
}

@media (max-width: 880px) {
  .trm-clean-404-main {
    padding-top: 24px !important;
    padding-bottom: 18px !important;
    align-items: flex-start !important;
  }

  .trm-clean-404-panel {
    grid-template-columns: 1fr !important;
    padding: 24px 16px !important;
    border-radius: 26px !important;
  }

  .trm-clean-404-visual {
    order: -1 !important;
    min-height: 210px !important;
  }

  .trm-clean-404-number {
    width: min(210px, 78vw) !important;
    border-radius: 26px !important;
  }

  .trm-clean-404-note {
    display: none !important;
  }

  .trm-clean-404-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}

/* =========================================================
   TRM 8.5.7 - final 404 rebuild based on blog/page shell
   فقط صفحه ۴۰۴: حذف کامل بک‌گراند پشت کارت و اصلاح فاصله از هدر
========================================================= */
body.trm-404-final-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background-image: var(--trm-token-page-bg) !important;
  background-color: var(--trm-token-bg, #020617) !important;
}

body.trm-404-final-page .trm-404-final-shell {
  width: 100% !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  background-image: var(--trm-token-page-bg) !important;
  background-color: var(--trm-token-bg, #020617) !important;
  background-repeat: no-repeat !important;
  background-size: 160% 160% !important;
  background-position: 76% 0 !important;
  overflow: hidden !important;
}

body.trm-404-final-page .trm-404-final-shell > .trm-site-header {
  flex: 0 0 auto !important;
  margin: 0 !important;
}

body.trm-404-final-page .trm-404-final-main {
  flex: 1 0 auto !important;
  padding-top: 0 !important;
  padding-bottom: 34px !important;
  background: transparent !important;
}

body.trm-404-final-page .trm-404-final-main > .trm-container,
body.trm-404-final-page .trm-404-final-main .trm-blog-inner {
  background: transparent !important;
}

body.trm-404-final-page .trm-404-final-card {
  position: relative !important;
  isolation: isolate !important;
  overflow: hidden !important;
  width: 100% !important;
  max-width: 980px !important;
  margin: clamp(34px, 4vw, 54px) auto 0 !important;
  padding: clamp(30px, 5vw, 58px) !important;
  border-radius: 32px !important;
  background: var(--trm-token-card, rgba(15, 23, 42, .76)) !important;
  border: 1px solid var(--trm-token-border, rgba(148, 163, 184, .18)) !important;
  box-shadow: var(--trm-token-shadow-soft, 0 22px 54px rgba(0, 0, 0, .24)) !important;
  backdrop-filter: blur(14px) !important;
  color: var(--trm-token-text, #f8fafc) !important;
  text-align: center !important;
}

body.trm-404-final-page .trm-404-final-card::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 20px auto 20px !important;
  height: 3px !important;
  border-radius: 999px !important;
  background: linear-gradient(90deg, #04D4BE, #1B1296, #04D4BE) !important;
  z-index: 1 !important;
}

body.trm-404-final-page .trm-404-final-card::after {
  content: none !important;
  display: none !important;
}

body.trm-404-final-page .trm-404-final-copy {
  position: relative !important;
  z-index: 2 !important;
  max-width: 760px !important;
  margin: 0 auto !important;
  background: transparent !important;
}

body.trm-404-final-page .trm-404-final-kicker {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 34px !important;
  margin: 0 0 14px !important;
  padding: 7px 15px !important;
  border-radius: 999px !important;
  background: var(--trm-token-chip, rgba(4, 212, 190, .12)) !important;
  border: 1px solid var(--trm-token-border, rgba(4, 212, 190, .24)) !important;
  color: var(--trm-token-text, #f8fafc) !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.7 !important;
}

body.trm-404-final-page .trm-404-final-code {
  display: block !important;
  margin: 0 auto 12px !important;
  background: transparent !important;
  color: var(--trm-token-text, #f8fafc) !important;
  -webkit-text-fill-color: var(--trm-token-text, #f8fafc) !important;
  font-size: clamp(78px, 13vw, 142px) !important;
  font-weight: 950 !important;
  line-height: .95 !important;
  letter-spacing: -6px !important;
  text-shadow: 0 0 34px rgba(4, 212, 190, .14) !important;
}

body.trm-404-final-page .trm-404-final-card h1 {
  margin: 0 0 14px !important;
  color: var(--trm-token-text, #f8fafc) !important;
  -webkit-text-fill-color: var(--trm-token-text, #f8fafc) !important;
  font-size: clamp(27px, 4vw, 44px) !important;
  font-weight: 950 !important;
  line-height: 1.45 !important;
}

body.trm-404-final-page .trm-404-final-card p {
  max-width: 720px !important;
  margin: 0 auto !important;
  color: var(--trm-token-text-soft, #cbd5e1) !important;
  font-size: 16px !important;
  line-height: 2.05 !important;
}

body.trm-404-final-page .trm-404-final-actions {
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: center !important;
  gap: 10px !important;
  margin-top: 24px !important;
  background: transparent !important;
}

body.trm-404-final-page .trm-404-final-actions .trm-btn {
  min-height: 46px !important;
  padding: 10px 18px !important;
  border-radius: 16px !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
}

body.trm-404-final-page .trm-404-final-actions .trm-btn-primary,
html.trm-theme-light body.trm-404-final-page .trm-404-final-actions .trm-btn-primary,
body.trm-theme-light.trm-404-final-page .trm-404-final-actions .trm-btn-primary {
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
}

body.trm-404-final-page .trm-404-final-shell > .trm-home-footer {
  flex: 0 0 auto !important;
  margin-top: 0 !important;
}

html.trm-theme-light body.trm-404-final-page {
  background-color: var(--trm-token-bg, #f8fafc) !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-shell,
body.trm-theme-light.trm-404-final-page .trm-404-final-shell {
  background-image: var(--trm-token-page-bg) !important;
  background-color: var(--trm-token-bg, #f8fafc) !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-card,
body.trm-theme-light.trm-404-final-page .trm-404-final-card {
  background: var(--trm-token-card, rgba(255, 255, 255, .92)) !important;
  border-color: var(--trm-token-border, rgba(15, 23, 42, .10)) !important;
  box-shadow: var(--trm-token-shadow-soft, 0 18px 44px rgba(15, 23, 42, .10)) !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code,
html.trm-theme-light body.trm-404-final-page .trm-404-final-card h1,
body.trm-theme-light.trm-404-final-page .trm-404-final-card h1,
html.trm-theme-light body.trm-404-final-page .trm-404-final-kicker,
body.trm-theme-light.trm-404-final-page .trm-404-final-kicker {
  color: var(--trm-token-text, #0f172a) !important;
  -webkit-text-fill-color: var(--trm-token-text, #0f172a) !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-card p,
body.trm-theme-light.trm-404-final-page .trm-404-final-card p {
  color: var(--trm-token-text-soft, #334155) !important;
}

@media (max-width: 780px) {
  body.trm-404-final-page .trm-404-final-main {
    padding-bottom: 24px !important;
  }

  body.trm-404-final-page .trm-404-final-card {
    margin-top: 26px !important;
    padding: 26px 16px !important;
    border-radius: 24px !important;
  }

  body.trm-404-final-page .trm-404-final-code {
    font-size: clamp(70px, 24vw, 108px) !important;
    letter-spacing: -4px !important;
  }

  body.trm-404-final-page .trm-404-final-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
}


/* =========================================================
   TRM 8.5.8 - 404 final polish: normal header, nicer card, normal buttons
   فقط صفحه ۴۰۴
========================================================= */
body.trm-404-final-page .trm-404-final-shell.trm-page {
  background-image: var(--trm-token-page-bg) !important;
  background-color: var(--trm-token-bg, #020617) !important;
}

body.trm-404-final-page .trm-404-final-shell > .trm-site-header,
body.trm-404-final-page .trm-404-final-shell.trm-page > .trm-site-header {
  position: sticky !important;
  top: 0 !important;
  width: 100% !important;
  flex: 0 0 auto !important;
  margin: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  min-height: 0 !important;
  box-sizing: border-box !important;
}

body.trm-404-final-page .trm-404-final-shell > .trm-site-header .trm-site-header-inner {
  min-height: 0 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
}

body.trm-404-final-page .trm-404-final-shell > .trm-site-header .trm-brand-mark {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
}

body.trm-404-final-page .trm-404-final-main {
  padding-top: 0 !important;
  padding-bottom: 28px !important;
}

body.trm-404-final-page .trm-404-final-card {
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(240px, .72fr) !important;
  gap: clamp(20px, 3.6vw, 40px) !important;
  align-items: center !important;
  max-width: 1180px !important;
  margin-top: clamp(22px, 2.7vw, 36px) !important;
  padding: clamp(28px, 4.6vw, 54px) !important;
  text-align: right !important;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .16), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .16), transparent 38%),
    var(--trm-token-card, linear-gradient(145deg, rgba(15, 23, 42, .86), rgba(2, 6, 23, .72))) !important;
  border: 1px solid var(--trm-token-border, rgba(148, 163, 184, .20)) !important;
  box-shadow: var(--trm-token-shadow-soft, 0 26px 70px rgba(0, 0, 0, .30)) !important;
  backdrop-filter: blur(14px) !important;
}

body.trm-404-final-page .trm-404-final-copy {
  max-width: 720px !important;
  margin: 0 !important;
  text-align: right !important;
}

body.trm-404-final-page .trm-404-final-card h1 {
  font-size: clamp(34px, 5vw, 56px) !important;
  line-height: 1.35 !important;
  margin-bottom: 16px !important;
}

body.trm-404-final-page .trm-404-final-card p {
  margin-right: 0 !important;
  margin-left: 0 !important;
  text-align: right !important;
  font-size: 16.5px !important;
  line-height: 2.1 !important;
}

body.trm-404-final-page .trm-404-final-actions {
  justify-content: flex-start !important;
  margin-top: 24px !important;
  gap: 10px !important;
}

body.trm-404-final-page .trm-404-final-actions .trm-btn,
body.trm-404-final-page .trm-404-final-actions .trm-btn:visited {
  width: auto !important;
  min-height: 44px !important;
  height: 44px !important;
  padding: 0 16px !important;
  border-radius: 15px !important;
  font-size: 13.5px !important;
  line-height: 1.4 !important;
  box-sizing: border-box !important;
}

body.trm-404-final-page .trm-404-final-visual {
  position: relative !important;
  z-index: 2 !important;
  min-height: 250px !important;
  display: grid !important;
  place-items: center !important;
  background: transparent !important;
}

body.trm-404-final-page .trm-404-final-code {
  width: min(280px, 100%) !important;
  aspect-ratio: 1 / 1 !important;
  display: grid !important;
  place-items: center !important;
  margin: 0 !important;
  border-radius: 32px !important;
  color: #ffffff !important;
  -webkit-text-fill-color: #ffffff !important;
  font-size: clamp(76px, 12vw, 124px) !important;
  font-weight: 950 !important;
  line-height: 1 !important;
  letter-spacing: -5px !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .24), transparent 33%),
    linear-gradient(145deg, rgba(15, 23, 42, .78), rgba(2, 6, 23, .72)) !important;
  border: 1px solid rgba(148, 163, 184, .18) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), 0 18px 44px rgba(0,0,0,.24) !important;
  text-shadow: 0 0 34px rgba(4, 212, 190, .18) !important;
}

body.trm-404-final-page .trm-404-final-note {
  position: absolute !important;
  left: 0 !important;
  bottom: 12px !important;
  max-width: 210px !important;
  padding: 10px 13px !important;
  border-radius: 17px !important;
  color: var(--trm-token-text, #f8fafc) !important;
  background: rgba(15, 23, 42, .78) !important;
  border: 1px solid rgba(148, 163, 184, .20) !important;
  box-shadow: 0 14px 32px rgba(0,0,0,.24) !important;
  font-size: 12.8px !important;
  font-weight: 850 !important;
  line-height: 1.7 !important;
  text-align: center !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-card,
body.trm-theme-light.trm-404-final-page .trm-404-final-card {
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .13), transparent 34%),
    radial-gradient(circle at bottom left, rgba(27, 18, 150, .09), transparent 38%),
    var(--trm-token-card, rgba(255, 255, 255, .94)) !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-note,
body.trm-theme-light.trm-404-final-page .trm-404-final-note {
  color: var(--trm-token-text, #0f172a) !important;
  background: rgba(255,255,255,.82) !important;
  border-color: rgba(15, 23, 42, .12) !important;
}



/* TRM 8.5.9 - 404 number panel light theme fix + wider card */
body.trm-404-final-page .trm-404-final-card {
  max-width: 1180px !important;
}

html.trm-theme-light body.trm-404-final-page .trm-404-final-code,
body.trm-theme-light.trm-404-final-page .trm-404-final-code {
  color: #0f172a !important;
  -webkit-text-fill-color: #0f172a !important;
  background:
    radial-gradient(circle at 35% 22%, rgba(4, 212, 190, .22), transparent 34%),
    radial-gradient(circle at 80% 85%, rgba(27, 18, 150, .09), transparent 42%),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(248, 250, 252, .90)) !important;
  border-color: rgba(15, 23, 42, .10) !important;
  box-shadow:
    inset 0 1px 0 rgba(255, 255, 255, .75),
    0 18px 42px rgba(15, 23, 42, .10) !important;
  text-shadow: 0 0 28px rgba(4, 212, 190, .14) !important;
}

@media (max-width: 1080px) {
  body.trm-404-final-page .trm-404-final-shell > .trm-site-header .trm-site-header-inner {
    flex-wrap: wrap !important;
  }
}

@media (max-width: 780px) {
  body.trm-404-final-page .trm-404-final-shell > .trm-site-header .trm-site-header-inner {
    min-height: 66px !important;
  }

  body.trm-404-final-page .trm-404-final-card {
    grid-template-columns: 1fr !important;
    margin-top: 18px !important;
    padding: 24px 16px !important;
    border-radius: 24px !important;
    text-align: center !important;
  }

  body.trm-404-final-page .trm-404-final-copy,
  body.trm-404-final-page .trm-404-final-card p {
    text-align: center !important;
  }

  body.trm-404-final-page .trm-404-final-actions {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }

  body.trm-404-final-page .trm-404-final-actions .trm-btn,
  body.trm-404-final-page .trm-404-final-actions .trm-btn:visited {
    width: 100% !important;
    height: 44px !important;
    min-height: 44px !important;
  }

  body.trm-404-final-page .trm-404-final-visual {
    min-height: 190px !important;
    order: -1 !important;
  }

  body.trm-404-final-page .trm-404-final-code {
    width: min(190px, 72vw) !important;
    font-size: clamp(62px, 22vw, 96px) !important;
  }

  body.trm-404-final-page .trm-404-final-note {
    display: none !important;
  }
}

/* =========================================================
   v8.6.3 - Editable bilingual starter blocks
   These blocks are used by the new shortcode-to-block migration path.
========================================================= */
.trm-block-section-heading {
  margin: 34px auto 18px;
  text-align: center;
}
.trm-block-section-heading.trm-align-right { text-align: right; }
.trm-block-section-heading.trm-align-left { text-align: left; direction: ltr; }
.trm-block-section-heading h2 {
  margin: 10px 0 10px;
  color: var(--trm-text, #f8fafc);
  font-size: clamp(24px, 3.4vw, 38px);
  font-weight: 950;
  line-height: 1.5;
}
.trm-block-section-heading p {
  max-width: 820px;
  margin: 0 auto;
  color: var(--trm-muted, #cbd5e1);
  font-size: 16px;
  line-height: 2.1;
}
.trm-align-right.trm-block-section-heading p { margin-right: 0; }
.trm-align-left.trm-block-section-heading p { margin-left: 0; }

.trm-block-text-section { margin: 18px auto; }
.trm-block-text-card {
  border-radius: 28px;
  padding: 30px;
  background: var(--trm-card-bg, rgba(15,23,42,.74));
  border: 1px solid var(--trm-border, rgba(148,163,184,.22));
  box-shadow: 0 18px 46px rgba(0,0,0,.20);
}
.trm-text-plain .trm-block-text-card { background: transparent; border-color: transparent; box-shadow: none; padding: 10px 0; }
.trm-text-highlight .trm-block-text-card { background: rgba(56,189,248,.10); border-color: rgba(56,189,248,.22); }
.trm-block-text-card h2 { margin: 0 0 12px; color: var(--trm-text, #fff); font-size: clamp(22px,3vw,32px); font-weight: 950; line-height: 1.55; }
.trm-block-text-card p { margin: 0; color: var(--trm-muted, #cbd5e1); font-size: 16px; line-height: 2.15; text-align: justify; }

.trm-block-stats { margin: 18px auto; }
.trm-block-feature-grid { margin: 18px auto; }
.trm-feature-grid { display: grid; grid-template-columns: repeat(var(--trm-feature-columns, 3), minmax(0,1fr)); gap: 14px; }
.trm-feature-card {
  padding: 22px;
  border-radius: 24px;
  background: var(--trm-card-bg, rgba(15,23,42,.62));
  border: 1px solid var(--trm-border, rgba(148,163,184,.18));
  box-shadow: 0 16px 38px rgba(0,0,0,.18);
}
.trm-feature-icon { width: 44px; height: 44px; display: inline-flex; align-items: center; justify-content: center; border-radius: 15px; margin-bottom: 12px; color: #fff; font-weight: 950; background: linear-gradient(135deg, #0284c7, #7c3aed); }
.trm-feature-card h3 { margin: 0 0 8px; color: var(--trm-text, #fff); font-size: 18px; font-weight: 950; line-height: 1.7; }
.trm-feature-card p { margin: 0; color: var(--trm-muted, #cbd5e1); font-size: 14.5px; line-height: 2; }

html.trm-theme-light .trm-block-text-card,
body.trm-theme-light .trm-block-text-card,
html.trm-theme-light .trm-feature-card,
body.trm-theme-light .trm-feature-card {
  background: rgba(255,255,255,.86);
  border-color: rgba(15,23,42,.10);
  box-shadow: 0 18px 42px rgba(15,23,42,.08);
}
html.trm-theme-light .trm-block-section-heading h2,
body.trm-theme-light .trm-block-section-heading h2,
html.trm-theme-light .trm-block-text-card h2,
body.trm-theme-light .trm-block-text-card h2,
html.trm-theme-light .trm-feature-card h3,
body.trm-theme-light .trm-feature-card h3 {
  color: #0f172a;
}
html.trm-theme-light .trm-block-section-heading p,
body.trm-theme-light .trm-block-section-heading p,
html.trm-theme-light .trm-block-text-card p,
body.trm-theme-light .trm-block-text-card p,
html.trm-theme-light .trm-feature-card p,
body.trm-theme-light .trm-feature-card p {
  color: #475569;
}
@media (max-width: 860px) { .trm-feature-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 560px) { .trm-feature-grid { grid-template-columns: 1fr; } .trm-block-text-card { padding: 22px 16px; border-radius: 24px; } }


/* =========================================================
   Block-migrated pages: use the same visual shell as plugin pages
========================================================= */
.trm-block-shell {
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
.trm-block-page-main {
  flex: 1 0 auto;
  padding: 0 0 clamp(34px, 4vw, 58px);
}
.trm-block-page-content {
  width: 100%;
}
.trm-block-page .entry-title,
.trm-block-page .page-title,
.trm-block-page h1.entry-title,
.trm-block-page h1.page-title,
.trm-block-page .wp-block-post-title,
.trm-block-page .entry-header,
.trm-block-page .page-header {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
}
.trm-block-page .trm-block-hero {
  margin-top: clamp(28px, 3.2vw, 46px);
}
.trm-block-page .trm-home-footer {
  margin-top: clamp(34px, 4vw, 58px);
}
@media (max-width: 780px) {
  .trm-block-page .trm-block-hero {
    margin-top: 24px;
  }
}

/* =========================================================
   v8.6.7 Block migration parity fixes
   Keep migrated pages visually aligned with the live plugin shell.
========================================================= */
.trm-block-page-content > :where(.trm-grid, .trm-faq-list),
.trm-block-page-content > .trm-block-section-heading,
.trm-block-page-content > .trm-block-text-section,
.trm-block-page-content > .trm-block-stats,
.trm-block-page-content > .trm-feature-grid,
.trm-block-page-content > .trm-block-cta {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.trm-block-page-content > :where(.trm-grid, .trm-faq-list) {
  margin-top: clamp(14px, 2vw, 22px) !important;
  margin-bottom: clamp(38px, 5vw, 72px) !important;
}
.trm-block-page-content > .trm-block-hero {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.trm-block-page .trm-hero.trm-home-product-style-hero {
  margin-top: 0 !important;
}
.trm-block-page .trm-home-footer {
  margin-top: clamp(34px, 4vw, 58px) !important;
}

/* =========================================================
   TRM 8.6.8 - Home block English parity fixes
   - keep migrated home page visually aligned with the live home page
   - translate the remaining static home cards via data attributes
   - center the Why intro in block pages
   - swap hero copy/log cards in English
   - restore the green hero glow for block-rendered home hero
========================================================= */
.trm-block-page .trm-why-section .trm-why-panel > .trm-section-head,
.trm-block-page .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p),
.trm-home .trm-why-section .trm-why-panel > .trm-section-head,
.trm-home .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p),
html.trm-lang-en .trm-block-page .trm-why-section .trm-why-panel > .trm-section-head,
html.trm-lang-en .trm-block-page .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p) {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.trm-block-page .trm-why-section .trm-why-panel > .trm-section-head p,
.trm-home .trm-why-section .trm-why-panel > .trm-section-head p {
  max-width: 900px !important;
}
html.trm-lang-en .trm-home-product-main {
  direction: ltr !important;
}
@media (min-width: 861px) {
  html.trm-lang-en .trm-home-product-main .trm-home-product-copy {
    grid-column: 1 !important;
    direction: ltr !important;
    text-align: left !important;
  }
  html.trm-lang-en .trm-home-product-main .trm-home-product-terminal {
    grid-column: 2 !important;
  }
}
html.trm-lang-en .trm-home-product-copy :is(h1, p, span, small) {
  text-align: left !important;
}
html.trm-lang-en .trm-home-product-copy .trm-trust-row {
  justify-content: flex-start !important;
}
html.trm-lang-en .trm-home-product-copy p {
  text-align: left !important;
}
.trm-home-product-style-hero .trm-bg-orb-one {
  opacity: .62 !important;
  background: rgba(4, 212, 190, .20) !important;
}
.trm-home-product-style-hero .trm-bg-orb-two {
  opacity: .68 !important;
  background: rgba(34, 197, 94, .18) !important;
}


/* v8.7.0 — block-migrated home parity and English hero layout fix */
.trm-home-block-page .trm-block-page-main,
.trm-home-block-page .trm-block-page-content {
  background: transparent !important;
}

.trm-home-block-page .trm-block-page-content > :is(.wp-block-tinies-riz-home-hero, .wp-block-tinies-riz-home-stats, .wp-block-tinies-riz-home-services, .wp-block-tinies-riz-home-products, .wp-block-tinies-riz-home-why, .wp-block-tinies-riz-home-team, .wp-block-tinies-riz-home-news, .wp-block-tinies-riz-home-faq, .wp-block-tinies-riz-home-cta) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

html.trm-lang-en .trm-home-v5 .trm-home-product-main {
  direction: ltr !important;
}

@media (min-width: 861px) {
  html.trm-lang-en .trm-home-v5 .trm-home-product-main {
    grid-template-columns: minmax(0, 1.70fr) minmax(300px, .80fr) !important;
  }
  html.trm-lang-en .trm-home-v5 .trm-home-product-main .trm-home-product-copy {
    grid-column: 1 !important;
    direction: ltr !important;
    text-align: left !important;
  }
  html.trm-lang-en .trm-home-v5 .trm-home-product-main .trm-home-product-terminal {
    grid-column: 2 !important;
    min-width: 0 !important;
  }
}

html body .trm-home-block-page .trm-hero.trm-home-product-style-hero > :is(.trm-hero-mesh, .trm-bg-grid, .trm-bg-orb, .trm-bg-orb-one, .trm-bg-orb-two),
body.trm-home-block-page .trm-hero.trm-home-product-style-hero > :is(.trm-hero-mesh, .trm-bg-grid, .trm-bg-orb, .trm-bg-orb-one, .trm-bg-orb-two) {
  display: block !important;
  visibility: visible !important;
}

html.trm-theme-light body.trm-home-block-page .trm-hero.trm-home-product-style-hero > .trm-hero-mesh,
html.trm-theme-light body .trm-home-block-page .trm-hero.trm-home-product-style-hero > .trm-hero-mesh {
  background:
    radial-gradient(circle at 86% 10%, rgba(4, 212, 190, .16), transparent 22rem),
    radial-gradient(circle at 8% 24%, rgba(37, 99, 235, .10), transparent 24rem),
    radial-gradient(circle at 44% 70%, rgba(34, 197, 94, .09), transparent 34rem) !important;
}

body.trm-home-block-page .trm-hero.trm-home-product-style-hero .trm-bg-orb-one {
  background: rgba(4, 212, 190, .20) !important;
  opacity: .62 !important;
}
body.trm-home-block-page .trm-hero.trm-home-product-style-hero .trm-bg-orb-two {
  background: rgba(34, 197, 94, .18) !important;
  opacity: .68 !important;
}

.trm-home-block-page .trm-why-section .trm-why-panel > .trm-section-head,
.trm-home-block-page .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p),
html.trm-lang-en .trm-home-block-page .trm-why-section .trm-why-panel > .trm-section-head,
html.trm-lang-en .trm-home-block-page .trm-why-section .trm-why-panel > .trm-section-head :is(span, h2, p) {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.trm-home-block-page .trm-why-section .trm-why-panel > .trm-section-head p {
  max-width: 900px !important;
}

/* =========================================================
   TRM 8.7.1 - English migrated home hero card layout lock
   Keep the copy card wide and the terminal card narrow after visual swap.
========================================================= */
@media (min-width: 861px) {
  html.trm-lang-en body.trm-home-block-page .trm-home-v5 .trm-home-product-main,
  html.trm-lang-en body.trm-home-block-page .trm-home-product-main,
  html.trm-lang-en body .trm-home-block-page .trm-home-v5 .trm-home-product-main,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-main {
    display: grid !important;
    grid-template-columns: minmax(0, 1.62fr) minmax(330px, .88fr) !important;
    grid-template-areas: "trmHeroCopy trmHeroTerminal" !important;
    direction: ltr !important;
    align-items: start !important;
    gap: 14px !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-v5 .trm-home-product-copy,
  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy,
  html.trm-lang-en body .trm-home-block-page .trm-home-v5 .trm-home-product-copy,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy {
    grid-area: trmHeroCopy !important;
    grid-column: auto !important;
    grid-row: auto !important;
    order: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    direction: ltr !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-v5 .trm-home-product-terminal,
  html.trm-lang-en body.trm-home-block-page .trm-home-product-terminal,
  html.trm-lang-en body .trm-home-block-page .trm-home-v5 .trm-home-product-terminal,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-terminal {
    grid-area: trmHeroTerminal !important;
    grid-column: auto !important;
    grid-row: auto !important;
    order: 0 !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    direction: ltr !important;
  }
}

@media (max-width: 860px) {
  html.trm-lang-en body.trm-home-block-page .trm-home-product-main,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-main {
    display: grid !important;
    grid-template-columns: 1fr !important;
  }
  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy {
    order: 1 !important;
  }
  html.trm-lang-en body.trm-home-block-page .trm-home-product-terminal,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-terminal {
    order: 2 !important;
  }
}


/* =========================================================
   TRM 8.7.2 - Hard lock English home hero two-card row
   The previous grid-area swap could be overridden by older grid-column rules.
   Use flex on desktop so the description card never drops under the log card.
========================================================= */
@media (min-width: 861px) {
  html.trm-lang-en body.trm-home-block-page .trm-home-product-main,
  body.trm-lang-en.trm-home-block-page .trm-home-product-main,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-main,
  body.trm-lang-en .trm-home-block-page .trm-home-product-main {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: space-between !important;
    gap: 14px !important;
    direction: ltr !important;
    width: 100% !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy,
  body.trm-lang-en.trm-home-block-page .trm-home-product-copy,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy,
  body.trm-lang-en .trm-home-block-page .trm-home-product-copy {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    align-self: stretch !important;
    direction: ltr !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-terminal,
  body.trm-lang-en.trm-home-block-page .trm-home-product-terminal,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-terminal,
  body.trm-lang-en .trm-home-block-page .trm-home-product-terminal {
    order: 2 !important;
    flex: 0 0 clamp(300px, 34%, 390px) !important;
    width: clamp(300px, 34%, 390px) !important;
    min-width: 300px !important;
    max-width: 390px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    align-self: stretch !important;
    direction: ltr !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy :is(h1, p),
  body.trm-lang-en.trm-home-block-page .trm-home-product-copy :is(h1, p),
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy :is(h1, p),
  body.trm-lang-en .trm-home-block-page .trm-home-product-copy :is(h1, p) {
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy .trm-trust-row,
  body.trm-lang-en.trm-home-block-page .trm-home-product-copy .trm-trust-row,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy .trm-trust-row,
  body.trm-lang-en .trm-home-block-page .trm-home-product-copy .trm-trust-row,
  html.trm-lang-en body.trm-home-block-page .trm-home-product-copy .trm-actions,
  body.trm-lang-en.trm-home-block-page .trm-home-product-copy .trm-actions,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-copy .trm-actions,
  body.trm-lang-en .trm-home-block-page .trm-home-product-copy .trm-actions {
    justify-content: flex-start !important;
  }
}


/* =========================================================
   TRM 8.7.3 - Final hard lock for English home hero cards
   Scope includes body/html dir and block-content selectors because language can
   be applied after first paint and older rules may keep grid columns active.
========================================================= */
@media (min-width: 861px) {
  html[dir="ltr"] body.trm-home-block-page .trm-block-page-content .trm-home-product-main,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-main,
  body[dir="ltr"].trm-home-block-page .trm-block-page-content .trm-home-product-main,
  body[dir="ltr"].trm-home-block-page .trm-home-product-main,
  html.trm-lang-en body.trm-home-block-page .trm-block-page-content .trm-home-product-main,
  body.trm-lang-en.trm-home-block-page .trm-block-page-content .trm-home-product-main,
  .trm-home-block-page.trm-lang-en .trm-home-product-main,
  .trm-home-block-page[dir="ltr"] .trm-home-product-main,
  .trm-block-page-content[dir="ltr"] .trm-home-product-main,
  .trm-home-v5[dir="ltr"] .trm-home-product-main {
    display: flex !important;
    flex-direction: row !important;
    flex-wrap: nowrap !important;
    align-items: stretch !important;
    justify-content: stretch !important;
    gap: 18px !important;
    width: 100% !important;
    max-width: 100% !important;
    direction: ltr !important;
    grid-template-columns: none !important;
    grid-template-areas: none !important;
  }

  html[dir="ltr"] body.trm-home-block-page .trm-block-page-content .trm-home-product-copy,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-copy,
  body[dir="ltr"].trm-home-block-page .trm-block-page-content .trm-home-product-copy,
  body[dir="ltr"].trm-home-block-page .trm-home-product-copy,
  html.trm-lang-en body.trm-home-block-page .trm-block-page-content .trm-home-product-copy,
  body.trm-lang-en.trm-home-block-page .trm-block-page-content .trm-home-product-copy,
  .trm-home-block-page.trm-lang-en .trm-home-product-copy,
  .trm-home-block-page[dir="ltr"] .trm-home-product-copy,
  .trm-block-page-content[dir="ltr"] .trm-home-product-copy,
  .trm-home-v5[dir="ltr"] .trm-home-product-copy {
    order: 1 !important;
    flex: 1 1 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: none !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    align-self: stretch !important;
    direction: ltr !important;
    text-align: left !important;
  }

  html[dir="ltr"] body.trm-home-block-page .trm-block-page-content .trm-home-product-terminal,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-terminal,
  body[dir="ltr"].trm-home-block-page .trm-block-page-content .trm-home-product-terminal,
  body[dir="ltr"].trm-home-block-page .trm-home-product-terminal,
  html.trm-lang-en body.trm-home-block-page .trm-block-page-content .trm-home-product-terminal,
  body.trm-lang-en.trm-home-block-page .trm-block-page-content .trm-home-product-terminal,
  .trm-home-block-page.trm-lang-en .trm-home-product-terminal,
  .trm-home-block-page[dir="ltr"] .trm-home-product-terminal,
  .trm-block-page-content[dir="ltr"] .trm-home-product-terminal,
  .trm-home-v5[dir="ltr"] .trm-home-product-terminal {
    order: 2 !important;
    flex: 0 0 clamp(310px, 34%, 390px) !important;
    width: clamp(310px, 34%, 390px) !important;
    min-width: 310px !important;
    max-width: 390px !important;
    grid-column: auto !important;
    grid-row: auto !important;
    grid-area: auto !important;
    align-self: stretch !important;
    direction: ltr !important;
  }
}


/* =========================================================
   TRM 8.7.6 — global block-page top spacing lock
   فاصله بالای صفحات بلوکی باید روی کارت Hero اعمال شود، نه روی main.
   این قانون برای همه صفحات تبدیل‌شده است تا محتوا به هدر نچسبد.
========================================================= */
body.trm-forced-block-page .trm-block-page-main {
  padding-top: 0 !important;
}

body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :first-child {
  margin-top: 0 !important;
}

body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :first-child > :is(
  .trm-products-hero,
  .trm-services-hero,
  .trm-product-hero,
  .trm-service-hero,
  .trm-hero,
  .trm-block-hero
),
body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :is(
  .trm-products-hero,
  .trm-services-hero,
  .trm-product-hero,
  .trm-service-hero,
  .trm-hero,
  .trm-block-hero
):first-child {
  margin-top: clamp(26px, 3vw, 46px) !important;
}

body.trm-products-block-page .trm-products-page-v2 .trm-products-hero.trm-container,
body.trm-services-block-page .trm-services-page-v1 .trm-services-hero.trm-container {
  margin-top: clamp(26px, 3vw, 46px) !important;
}

body.trm-products-block-page .trm-products-main,
body.trm-services-block-page .trm-services-main {
  padding-top: 0 !important;
}

body.trm-products-block-page .trm-products-page-v2 .trm-container,
body.trm-products-block-page .trm-products-page-v2 section.trm-container,
body.trm-services-block-page .trm-services-page-v1 .trm-container,
body.trm-services-block-page .trm-services-page-v1 section.trm-container {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.trm-products-block-page .trm-home-footer,
body.trm-services-block-page .trm-home-footer,
body.trm-detail-block-page .trm-home-footer {
  margin-top: clamp(48px, 5vw, 72px) !important;
}

@media (max-width: 780px) {
  body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :first-child > :is(
    .trm-products-hero,
    .trm-services-hero,
    .trm-product-hero,
    .trm-service-hero,
    .trm-hero,
    .trm-block-hero
  ),
  body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :is(
    .trm-products-hero,
    .trm-services-hero,
    .trm-product-hero,
    .trm-service-hero,
    .trm-hero,
    .trm-block-hero
  ):first-child,
  body.trm-products-block-page .trm-products-page-v2 .trm-products-hero.trm-container,
  body.trm-services-block-page .trm-services-page-v1 .trm-services-hero.trm-container {
    margin-top: 22px !important;
  }

  body.trm-products-block-page .trm-products-page-v2 .trm-container,
  body.trm-products-block-page .trm-products-page-v2 section.trm-container,
  body.trm-services-block-page .trm-services-page-v1 .trm-container,
  body.trm-services-block-page .trm-services-page-v1 section.trm-container {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }
}


/* =========================================================
   TRM 8.7.7 — unified block-page vertical spacing
   - فاصله کارت Hero از هدر یک‌دست و حدود یک‌سوم کمتر شد.
   - فاصله پایین فوتر برای همه صفحات بلوکی مثل صفحه اصلی قفل شد.
   - فاصله بین محتوا و فوتر با margin خود فوتر کنترل می‌شود، نه padding main.
========================================================= */
body.trm-forced-block-page .trm-block-page-main {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :first-child > :is(
  .trm-products-hero,
  .trm-services-hero,
  .trm-product-hero,
  .trm-service-hero,
  .trm-hero,
  .trm-block-hero
),
body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :is(
  .trm-products-hero,
  .trm-services-hero,
  .trm-product-hero,
  .trm-service-hero,
  .trm-hero,
  .trm-block-hero
):first-child,
body.trm-products-block-page .trm-products-page-v2 .trm-products-hero.trm-container,
body.trm-services-block-page .trm-services-page-v1 .trm-services-hero.trm-container {
  margin-top: clamp(18px, 2vw, 31px) !important;
}

body.trm-forced-block-page .trm-home-footer,
body.trm-products-block-page .trm-home-footer,
body.trm-services-block-page .trm-home-footer,
body.trm-detail-block-page .trm-home-footer {
  margin-top: clamp(48px, 5vw, 72px) !important;
  padding-bottom: 26px !important;
  margin-bottom: 0 !important;
}

body.trm-forced-block-page .trm-home-footer .trm-footer-panel {
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :first-child > :is(
    .trm-products-hero,
    .trm-services-hero,
    .trm-product-hero,
    .trm-service-hero,
    .trm-hero,
    .trm-block-hero
  ),
  body.trm-forced-block-page:not(.trm-home-block-page) .trm-block-page-content > :is(
    .trm-products-hero,
    .trm-services-hero,
    .trm-product-hero,
    .trm-service-hero,
    .trm-hero,
    .trm-block-hero
  ):first-child,
  body.trm-products-block-page .trm-products-page-v2 .trm-products-hero.trm-container,
  body.trm-services-block-page .trm-services-page-v1 .trm-services-hero.trm-container {
    margin-top: 15px !important;
  }

  body.trm-forced-block-page .trm-home-footer,
  body.trm-products-block-page .trm-home-footer,
  body.trm-services-block-page .trm-home-footer,
  body.trm-detail-block-page .trm-home-footer {
    margin-top: 48px !important;
    padding-bottom: 14px !important;
  }
}


/* =========================================================
   TRM 8.7.8 — authoritative block-page footer spacing fix
   Some older standalone product/service rules were more specific and forced
   block-migrated pages' footer to margin/padding zero. These exact selectors
   restore the same breathing room pattern as the real homepage.
========================================================= */
body.trm-forced-block-page .trm-block-shell,
body.trm-products-block-page .trm-block-shell,
body.trm-services-block-page .trm-block-shell,
body.trm-detail-block-page .trm-block-shell {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
}

body.trm-forced-block-page .trm-block-page-main,
body.trm-products-block-page .trm-block-page-main,
body.trm-services-block-page .trm-block-page-main,
body.trm-detail-block-page .trm-block-page-main {
  flex: 1 0 auto !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-forced-block-page .trm-block-page-content,
body.trm-products-block-page .trm-block-page-content,
body.trm-services-block-page .trm-block-page-content,
body.trm-detail-block-page .trm-block-page-content {
  padding-bottom: clamp(42px, 5vw, 70px) !important;
}

/* Exact overrides for products/services block pages, beating older standalone rules. */
body.trm-products-block-page.trm-standalone-products .trm-products-page-v2 > .trm-home-footer,
body.trm-services-block-page.trm-standalone-services .trm-services-page-v1 > .trm-home-footer,
body.trm-forced-block-page .trm-block-shell > .trm-home-footer,
body.trm-products-block-page .trm-block-shell > .trm-home-footer,
body.trm-services-block-page .trm-block-shell > .trm-home-footer,
body.trm-detail-block-page .trm-block-shell > .trm-home-footer {
  flex: 0 0 auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(28px, 3vw, 42px) !important;
}

body.trm-products-block-page.trm-standalone-products .trm-products-page-v2 > .trm-home-footer .trm-container,
body.trm-services-block-page.trm-standalone-services .trm-services-page-v1 > .trm-home-footer .trm-container,
body.trm-forced-block-page .trm-block-shell > .trm-home-footer .trm-container,
body.trm-products-block-page .trm-block-shell > .trm-home-footer .trm-container,
body.trm-services-block-page .trm-block-shell > .trm-home-footer .trm-container,
body.trm-detail-block-page .trm-block-shell > .trm-home-footer .trm-container {
  margin-left: auto !important;
  margin-right: auto !important;
}

body.trm-products-block-page.trm-standalone-products .trm-products-page-v2 > .trm-home-footer .trm-footer-panel,
body.trm-services-block-page.trm-standalone-services .trm-services-page-v1 > .trm-home-footer .trm-footer-panel,
body.trm-forced-block-page .trm-block-shell > .trm-home-footer .trm-footer-panel,
body.trm-products-block-page .trm-block-shell > .trm-home-footer .trm-footer-panel,
body.trm-services-block-page .trm-block-shell > .trm-home-footer .trm-footer-panel,
body.trm-detail-block-page .trm-block-shell > .trm-home-footer .trm-footer-panel {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-forced-block-page .trm-block-page-content,
  body.trm-products-block-page .trm-block-page-content,
  body.trm-services-block-page .trm-block-page-content,
  body.trm-detail-block-page .trm-block-page-content {
    padding-bottom: 42px !important;
  }

  body.trm-products-block-page.trm-standalone-products .trm-products-page-v2 > .trm-home-footer,
  body.trm-services-block-page.trm-standalone-services .trm-services-page-v1 > .trm-home-footer,
  body.trm-forced-block-page .trm-block-shell > .trm-home-footer,
  body.trm-products-block-page .trm-block-shell > .trm-home-footer,
  body.trm-services-block-page .trm-block-shell > .trm-home-footer,
  body.trm-detail-block-page .trm-block-shell > .trm-home-footer {
    padding-bottom: 18px !important;
  }
}

/* =========================================================
   TRM 8.8.0 — shared block-page parity layer
   Services/products block pages must use the same layout shell and spacing
   primitives as their legacy shortcode pages. This prevents page-by-page
   drift for hero spacing, content width, footer spacing and shared grids.
========================================================= */
body.trm-services-block-page.trm-forced-services-page .trm-block-shell.trm-products-page-v2.trm-services-page-v1 {
  min-height: 100vh !important;
  min-height: 100dvh !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  background: var(--trm-site-bg, transparent) !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-block-page-main.trm-products-main.trm-services-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-container,
body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 section.trm-container,
body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-home-footer .trm-container {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: min(1220px, calc(100vw - 32px)) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero.trm-container {
  margin-top: clamp(18px, 2vw, 31px) !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-media {
  aspect-ratio: 16 / 9 !important;
  min-height: 320px !important;
  max-height: none !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-content {
  grid-template-columns: minmax(0, 1.78fr) minmax(190px, .32fr) !important;
  gap: 16px !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-copy p {
  max-width: 100% !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
  padding: 13px !important;
  gap: 9px !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick div {
  padding: 11px 12px !important;
  border-radius: 16px !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick strong {
  font-size: 13.5px !important;
  line-height: 1.65 !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick span {
  font-size: 11px !important;
  line-height: 1.65 !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-block-page-content {
  padding-bottom: clamp(42px, 5vw, 70px) !important;
}

body.trm-services-block-page.trm-forced-services-page .trm-block-shell > .trm-home-footer {
  flex: 0 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(28px, 3vw, 42px) !important;
}

@media (max-width: 1100px) {
  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-content {
    grid-template-columns: 1fr !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 780px) {
  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-container,
  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 section.trm-container,
  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-home-footer .trm-container {
    width: calc(100vw - 14px) !important;
    max-width: calc(100vw - 14px) !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero.trm-container {
    margin-top: 15px !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-hero-media {
    aspect-ratio: 16 / 9 !important;
    min-height: 190px !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-services-page-v1 .trm-services-quick {
    grid-template-columns: 1fr !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-block-page-content {
    padding-bottom: 42px !important;
  }

  body.trm-services-block-page.trm-forced-services-page .trm-block-shell > .trm-home-footer {
    padding-bottom: 18px !important;
  }
}

/* v8.8.1: keep the services why panel heading centered in both legacy and block pages */
.trm-services-why-section .trm-section-head,
.trm-services-why-section .trm-section-head h2,
.trm-services-why-section .trm-section-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.trm-services-why-section .trm-section-head p {
  max-width: 820px !important;
}


/* v8.8.3: keep the services process panel heading centered in both legacy and block pages */
.trm-services-process-section .trm-section-head,
.trm-services-process-section .trm-section-head h2,
.trm-services-process-section .trm-section-head p {
  text-align: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.trm-services-process-section .trm-section-head p {
  max-width: 820px !important;
}


/* v8.8.3: unified shell/spacing for split static About and Contact block pages */
body.trm-static-block-page .trm-block-page-content {
  display: grid !important;
  gap: 18px !important;
  padding-bottom: 42px !important;
}
body.trm-static-block-page .trm-static-section-block {
  width: 100% !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
}
body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero {
  padding-top: 26px !important;
}
body.trm-static-block-page .trm-static-section-block :is(.riz-about-hero, .riz-contact-hero) {
  margin-top: 0 !important;
}
body.trm-static-block-page .trm-static-section-block :is(.riz-about-stats, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta, .riz-about-section) {
  margin-top: 0 !important;
}
body.trm-static-block-page .trm-block-shell > .trm-home-footer {
  margin-top: 20px !important;
  padding-bottom: 18px !important;
}
@media (max-width: 780px) {
  body.trm-static-block-page .trm-static-section-block {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }
  body.trm-static-block-page .trm-about-section-hero,
  body.trm-static-block-page .trm-contact-section-hero {
    padding-top: 18px !important;
  }
}


/* v8.8.5: tighter spacing for split static About/Contact block pages */
body.trm-static-block-page .trm-block-page-content {
  gap: 0 !important;
  row-gap: 0 !important;
}
body.trm-static-block-page .trm-static-section-block {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
body.trm-static-block-page .trm-static-section-block :is(.riz-about-stats, .riz-about-section, .riz-about-warning, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta) {
  margin-top: 14px !important;
  margin-bottom: 0 !important;
}
body.trm-static-block-page .trm-about-section-stats :is(.riz-about-stats),
body.trm-static-block-page .trm-contact-section-intro :is(.riz-contact-team) {
  margin-top: 18px !important;
}
body.trm-static-block-page .trm-static-section-block :is(.riz-about-hero, .riz-contact-hero) {
  margin-bottom: 0 !important;
}
body.trm-static-block-page .trm-block-shell > .trm-home-footer {
  margin-top: 18px !important;
}

/* v8.8.6: remove duplicated page-wrapper padding/margins from split static blocks.
   The source About/Contact HTML styles each full page wrapper with bottom padding;
   after splitting into multiple blocks, that padding was applied after every block. */
body.trm-static-block-page .trm-block-page-content {
  display: block !important;
  gap: 0 !important;
  row-gap: 0 !important;
  padding-bottom: 42px !important;
}

body.trm-static-block-page .trm-block-page-content > .trm-static-section-block,
body.trm-static-block-page .trm-static-section-block.riz-about-page,
body.trm-static-block-page .trm-static-section-block.riz-contact-page,
body.trm-static-block-page :where(.riz-about-page, .riz-contact-page).trm-static-section-block {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  padding: 0 14px !important;
}

body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero {
  padding-top: 26px !important;
}

body.trm-static-block-page .trm-static-section-block > style + section,
body.trm-static-block-page .trm-static-section-block > section:first-of-type,
body.trm-static-block-page .trm-static-section-block :where(.riz-about-hero, .riz-contact-hero, .riz-about-stats, .riz-about-section, .riz-about-warning, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page .trm-static-section-block + .trm-static-section-block :where(.riz-about-stats, .riz-about-section, .riz-about-warning, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta) {
  margin-top: 18px !important;
}

body.trm-static-block-page .trm-block-shell > .trm-home-footer {
  margin-top: 36px !important;
  padding-bottom: 18px !important;
}

@media (max-width: 780px) {
  body.trm-static-block-page .trm-block-page-content > .trm-static-section-block,
  body.trm-static-block-page .trm-static-section-block.riz-about-page,
  body.trm-static-block-page .trm-static-section-block.riz-contact-page,
  body.trm-static-block-page :where(.riz-about-page, .riz-contact-page).trm-static-section-block {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.trm-static-block-page .trm-about-section-hero,
  body.trm-static-block-page .trm-contact-section-hero {
    padding-top: 18px !important;
  }

  body.trm-static-block-page .trm-static-section-block + .trm-static-section-block :where(.riz-about-stats, .riz-about-section, .riz-about-warning, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta) {
    margin-top: 14px !important;
  }
}


/* =========================================================
   TRM 8.8.7 — exact static block spacing restoration
   About/Contact split blocks should keep the same vertical rhythm as
   the original single shortcode pages: header breathing room, real card
   margins, and the 18px content-grid rhythm where the legacy page used it.
========================================================= */
body.trm-static-block-page .trm-block-page-content {
  display: block !important;
  padding-top: 0 !important;
  padding-bottom: clamp(42px, 5vw, 70px) !important;
}

body.trm-static-block-page .trm-block-page-content > .trm-static-section-block,
body.trm-static-block-page .trm-static-section-block.riz-about-page,
body.trm-static-block-page .trm-static-section-block.riz-contact-page {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 14px !important;
  padding-right: 14px !important;
  box-sizing: border-box !important;
}

/* Top distance belongs to the first hero block, like product/service block pages. */
body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero {
  padding-top: clamp(18px, 2vw, 31px) !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page .trm-about-section-hero > .riz-about-hero,
body.trm-static-block-page .trm-contact-section-hero > .riz-contact-hero {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

/* About page: restore original order rhythm. */
body.trm-static-block-page .trm-about-section-stats > .riz-about-stats {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
}

body.trm-static-block-page :is(
  .trm-about-section-intro,
  .trm-about-section-activities,
  .trm-about-section-products,
  .trm-about-section-mission,
  .trm-about-section-vision
) > :is(.riz-about-section, .riz-about-warning) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page :is(
  .trm-about-section-activities,
  .trm-about-section-products,
  .trm-about-section-mission,
  .trm-about-section-vision
) {
  margin-top: 18px !important;
}

/* Contact page: restore the original card margins. */
body.trm-static-block-page :is(
  .trm-contact-section-intro,
  .trm-contact-section-social,
  .trm-contact-section-services,
  .trm-contact-section-team,
  .trm-contact-section-cta
) > :is(.riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-cta) {
  margin-top: 24px !important;
  margin-bottom: 28px !important;
}

body.trm-static-block-page .trm-contact-section-form > .riz-contact-section {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page .trm-contact-section-form {
  margin-top: 18px !important;
}

/* Keep footer breathing room consistent with the other fixed block pages. */
body.trm-static-block-page .trm-block-shell > .trm-home-footer {
  margin-top: 0 !important;
  padding-top: 0 !important;
  padding-bottom: clamp(28px, 3vw, 42px) !important;
}

@media (max-width: 780px) {
  body.trm-static-block-page .trm-block-page-content > .trm-static-section-block,
  body.trm-static-block-page .trm-static-section-block.riz-about-page,
  body.trm-static-block-page .trm-static-section-block.riz-contact-page {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
  }

  body.trm-static-block-page .trm-about-section-hero,
  body.trm-static-block-page .trm-contact-section-hero {
    padding-top: 15px !important;
  }

  body.trm-static-block-page .trm-about-section-stats > .riz-about-stats,
  body.trm-static-block-page :is(
    .trm-contact-section-intro,
    .trm-contact-section-social,
    .trm-contact-section-services,
    .trm-contact-section-team,
    .trm-contact-section-cta
  ) > :is(.riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-cta) {
    margin-top: 18px !important;
    margin-bottom: 22px !important;
  }

  body.trm-static-block-page :is(
    .trm-about-section-activities,
    .trm-about-section-products,
    .trm-about-section-mission,
    .trm-about-section-vision,
    .trm-contact-section-form
  ) {
    margin-top: 14px !important;
  }
}

/* TRM 8.9.3: final static split spacing override. The same rules are also injected after each split About/Contact block so content-level inline styles cannot override them. */
body.trm-static-block-page .trm-block-page-content{display:block!important;padding-top:0!important;padding-bottom:42px!important;}
body.trm-static-block-page .trm-static-section-block.riz-about-page,
body.trm-static-block-page .trm-static-section-block.riz-contact-page{width:min(1180px,calc(100vw - 32px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;margin-top:0!important;margin-bottom:0!important;padding-left:14px!important;padding-right:14px!important;padding-top:0!important;padding-bottom:0!important;box-sizing:border-box!important;}
body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero{padding-top:26px!important;}
body.trm-static-block-page .trm-about-section-hero>.riz-about-hero,
body.trm-static-block-page .trm-contact-section-hero>.riz-contact-hero{margin-top:0!important;margin-bottom:0!important;}
body.trm-static-block-page .trm-about-section-stats>.riz-about-stats{margin:24px 0 28px!important;}
body.trm-static-block-page .trm-about-section-intro>.riz-about-section,
body.trm-static-block-page .trm-about-section-activities>.riz-about-section,
body.trm-static-block-page .trm-about-section-products>.riz-about-section,
body.trm-static-block-page .trm-about-section-mission>.riz-about-section,
body.trm-static-block-page .trm-about-section-vision>.riz-about-warning{margin:0!important;}
body.trm-static-block-page .trm-contact-section-intro>.riz-contact-team,
body.trm-static-block-page .trm-contact-section-social>.riz-contact-social-card,
body.trm-static-block-page .trm-contact-section-services>.riz-contact-services,
body.trm-static-block-page .trm-contact-section-team>.riz-contact-team,
body.trm-static-block-page .trm-contact-section-cta>.riz-contact-cta{margin:24px 0 28px!important;}
body.trm-static-block-page .trm-contact-section-form>.riz-contact-section{margin:0!important;}
body.trm-static-block-page.trm-contact-block-page .trm-contact-section-form{margin-top:18px!important;}
body.trm-static-block-page .trm-block-shell>.trm-home-footer{margin-top:36px!important;padding-top:0!important;padding-bottom:32px!important;}
@media(max-width:780px){body.trm-static-block-page .trm-static-section-block.riz-about-page,body.trm-static-block-page .trm-static-section-block.riz-contact-page{width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important;padding-left:4px!important;padding-right:4px!important;}body.trm-static-block-page .trm-about-section-hero,body.trm-static-block-page .trm-contact-section-hero{padding-top:18px!important;}body.trm-static-block-page .trm-about-section-stats>.riz-about-stats,body.trm-static-block-page .trm-contact-section-intro>.riz-contact-team,body.trm-static-block-page .trm-contact-section-social>.riz-contact-social-card,body.trm-static-block-page .trm-contact-section-services>.riz-contact-services,body.trm-static-block-page .trm-contact-section-team>.riz-contact-team,body.trm-static-block-page .trm-contact-section-cta>.riz-contact-cta{margin:18px 0 22px!important;}body.trm-static-block-page .trm-contact-section-form{margin-top:14px!important;}}


/* v8.9.3: final static split page width and spacing fix */
body.trm-static-block-page .trm-block-page-content {
  display: block !important;
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 0 44px !important;
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-static-split-wrap {
  --text: #f8fafc;
  --text-soft: #cbd5e1;
  --text-muted: #94a3b8;
  --border: rgba(148, 163, 184, 0.22);
  --cyan: #04D4BE;
  --purple: #1B1296;
  --blue: #38bdf8;
  --green: #22c55e;
  --orange: #f97316;
  --yellow: #facc15;
  --pink: #fb7185;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  color: var(--text) !important;
  font-family: inherit !important;
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-static-split-wrap * {
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero {
  padding-top: 15px !important;
}

body.trm-static-block-page .trm-static-split-wrap > style + section,
body.trm-static-block-page .trm-static-split-wrap > section:first-of-type,
body.trm-static-block-page .trm-static-split-wrap > div:first-of-type {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.trm-static-block-page .trm-about-section-stats {
  margin-top: 24px !important;
}

body.trm-static-block-page .trm-about-section-intro,
body.trm-static-block-page .trm-about-section-activities,
body.trm-static-block-page .trm-about-section-products,
body.trm-static-block-page .trm-about-section-mission,
body.trm-static-block-page .trm-about-section-vision {
  margin-top: 18px !important;
}

body.trm-static-block-page .trm-contact-section-intro,
body.trm-static-block-page .trm-contact-section-social,
body.trm-static-block-page .trm-contact-section-services,
body.trm-static-block-page .trm-contact-section-team,
body.trm-static-block-page .trm-contact-section-form,
body.trm-static-block-page .trm-contact-section-cta {
  margin-top: 24px !important;
}

body.trm-static-block-page .trm-about-section-hero > .riz-about-hero,
body.trm-static-block-page .trm-contact-section-hero > .riz-contact-hero,
body.trm-static-block-page .trm-about-section-stats > .riz-about-stats,
body.trm-static-block-page .trm-about-section-intro > .riz-about-section,
body.trm-static-block-page .trm-about-section-activities > .riz-about-section,
body.trm-static-block-page .trm-about-section-products > .riz-about-section,
body.trm-static-block-page .trm-about-section-mission > .riz-about-section,
body.trm-static-block-page .trm-about-section-vision > .riz-about-warning,
body.trm-static-block-page .trm-contact-section-intro > .riz-contact-team,
body.trm-static-block-page .trm-contact-section-social > .riz-contact-social-card,
body.trm-static-block-page .trm-contact-section-services > .riz-contact-services,
body.trm-static-block-page .trm-contact-section-team > .riz-contact-team,
body.trm-static-block-page .trm-contact-section-form > .riz-contact-section,
body.trm-static-block-page .trm-contact-section-cta > .riz-contact-cta {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
}

body.trm-static-block-page .trm-block-shell > .trm-home-footer {
  margin-top: 38px !important;
  padding-top: 0 !important;
  padding-bottom: 32px !important;
}

@media (max-width: 780px) {
  body.trm-static-block-page .trm-block-page-content {
    width: calc(100vw - 8px) !important;
    max-width: calc(100vw - 8px) !important;
    padding-bottom: 34px !important;
  }

  body.trm-static-block-page .trm-about-section-hero,
  body.trm-static-block-page .trm-contact-section-hero {
    padding-top: 22px !important;
  }

  body.trm-static-block-page .trm-about-section-stats,
  body.trm-static-block-page .trm-contact-section-intro,
  body.trm-static-block-page .trm-contact-section-social,
  body.trm-static-block-page .trm-contact-section-services,
  body.trm-static-block-page .trm-contact-section-team,
  body.trm-static-block-page .trm-contact-section-form,
  body.trm-static-block-page .trm-contact-section-cta {
    margin-top: 18px !important;
  }

  body.trm-static-block-page .trm-about-section-intro,
  body.trm-static-block-page .trm-about-section-activities,
  body.trm-static-block-page .trm-about-section-products,
  body.trm-static-block-page .trm-about-section-mission,
  body.trm-static-block-page .trm-about-section-vision {
    margin-top: 14px !important;
  }
}


/* v8.9.3 fallback: about/contact split block width and spacing */
.trm-block-page-content:has(.trm-static-section-block),
.trm-about-block-page .trm-block-page-content,
.trm-contact-block-page .trm-block-page-content{width:min(1180px,calc(100vw - 32px))!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;padding:0 0 44px!important;}
.trm-static-split-wrap{width:100%!important;max-width:1180px!important;margin-left:auto!important;margin-right:auto!important;padding:0!important;}
.trm-about-section-hero,.trm-contact-section-hero{margin-top:34px!important;padding-top:0!important;}
.trm-about-section-stats{margin-top:24px!important;}
.trm-about-section-intro,.trm-about-section-activities,.trm-about-section-products,.trm-about-section-mission,.trm-about-section-vision{margin-top:18px!important;}
.trm-contact-section-intro,.trm-contact-section-social,.trm-contact-section-services,.trm-contact-section-team,.trm-contact-section-form,.trm-contact-section-cta{margin-top:24px!important;}
@media(max-width:780px){.trm-block-page-content:has(.trm-static-section-block),.trm-about-block-page .trm-block-page-content,.trm-contact-block-page .trm-block-page-content{width:calc(100vw - 8px)!important;max-width:calc(100vw - 8px)!important}.trm-about-section-hero,.trm-contact-section-hero{margin-top:22px!important}}


/* v8.9.3 - About/Contact rebuilt from scratch with Products/Services block pattern */
body.trm-about-block-page .trm-block-page-content,
body.trm-contact-block-page .trm-block-page-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 44px !important;
}

.trm-static-page-v2 .trm-container {
  max-width: 1180px !important;
}

.trm-static-page-v2 .trm-static-hero-v2.trm-container {
  margin-top: 26px !important;
}

.trm-static-page-v2 .trm-section.trm-container,
.trm-static-page-v2 .trm-products-stats.trm-static-stats-v2 {
  margin-top: 18px !important;
}

.trm-static-page-v2 .trm-home-footer {
  margin-top: 38px !important;
  padding-bottom: 32px !important;
}

.trm-static-hero-v2 {
  grid-template-columns: .92fr 1.08fr !important;
}

.trm-static-visual-card {
  position: relative;
  min-height: 330px;
  border-radius: 30px;
  overflow: hidden;
  background:
    radial-gradient(circle at top right, rgba(56,189,248,.20), transparent 34%),
    radial-gradient(circle at bottom left, rgba(168,85,247,.18), transparent 38%),
    linear-gradient(145deg, rgba(15,23,42,.72), rgba(2,6,23,.54));
  border: 1px solid rgba(148,163,184,.18);
  display: flex;
  align-items: center;
  justify-content: center;
}

.trm-static-orbit {
  width: 160px;
  height: 160px;
  border-radius: 999px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: rgba(56,189,248,.12);
  border: 1px solid rgba(56,189,248,.25);
  box-shadow: 0 30px 80px rgba(0,0,0,.24), inset 0 0 45px rgba(56,189,248,.16);
}

.trm-static-orbit span {
  width: 82px;
  height: 82px;
  border-radius: 28px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  font-size: 34px;
  font-weight: 950;
  background: linear-gradient(135deg, #04D4BE, #1B1296);
}

.trm-static-mini-card,
.trm-static-contact-list div {
  position: absolute;
  width: 210px;
  padding: 14px 16px;
  border-radius: 20px;
  background: rgba(15,23,42,.70);
  border: 1px solid rgba(148,163,184,.20);
  box-shadow: 0 18px 42px rgba(0,0,0,.26);
  backdrop-filter: blur(12px);
}

.trm-static-mini-card.is-top { top: 28px; right: 24px; }
.trm-static-mini-card.is-bottom { bottom: 28px; left: 24px; }
.trm-static-mini-card strong,
.trm-static-contact-list strong { display:block; color:#fff; font-weight:950; line-height:1.8; }
.trm-static-mini-card small,
.trm-static-contact-list small { display:block; color:#94a3b8; line-height:1.7; font-size:12.5px; }

.trm-static-contact-list div { position: static; width: 100%; margin: 10px 0; }
.trm-static-contact-list { width: min(360px, calc(100% - 34px)); }

.trm-static-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 22px;
}
.trm-static-tags span {
  min-height: 34px;
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  color: #dbeafe;
  background: rgba(15,23,42,.55);
  border: 1px solid rgba(148,163,184,.16);
  font-size: 13px;
  font-weight: 750;
}

.trm-static-feature-grid,
.trm-static-link-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}
.trm-static-feature-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.trm-static-feature-grid article,
.trm-static-link-grid a {
  padding: 20px;
  border-radius: 22px;
  background: rgba(15,23,42,.48);
  border: 1px solid rgba(148,163,184,.15);
  text-decoration: none !important;
}
.trm-static-feature-grid b {
  display:inline-flex;
  min-width:46px;
  min-height:34px;
  align-items:center;
  justify-content:center;
  margin-bottom:10px;
  border-radius:14px;
  color:#fff;
  background: rgba(56,189,248,.14);
  border:1px solid rgba(56,189,248,.22);
}
.trm-static-feature-grid h3,
.trm-static-link-grid strong { margin:0 0 8px; color:#fff; font-weight:950; line-height:1.7; font-size:16px; display:block; }
.trm-static-feature-grid p,
.trm-static-link-grid span { margin:0; color:#94a3b8; line-height:1.9; font-size:13.5px; display:block; }
.trm-static-contact-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:12px; margin-top:20px; }

html.trm-lang-en .trm-static-hero-v2 { direction:ltr; }
html.trm-lang-en .trm-static-tags,
html.trm-lang-en .trm-products-hero-actions { justify-content:flex-start; }

@media (max-width: 920px) {
  .trm-static-hero-v2 { grid-template-columns: 1fr !important; }
  .trm-static-feature-grid,
  .trm-static-feature-grid-4,
  .trm-static-link-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .trm-static-page-v2 .trm-static-hero-v2.trm-container { margin-top: 18px !important; }
  .trm-static-visual-card { min-height: 280px; }
  .trm-static-mini-card { position: static; width: calc(100% - 28px); margin: 10px auto; }
  .trm-static-feature-grid,
  .trm-static-feature-grid-4,
  .trm-static-link-grid { grid-template-columns: 1fr; }
}


/* v8.9.3: About/Contact block parity - keep original page sections but remove duplicated page wrapper lift. */
.trm-block-page .trm-legacy-static-block.riz-about-page,
.trm-block-page .trm-legacy-static-block.riz-contact-page {
  width: 100% !important;
  max-width: 1060px !important;
  margin: 0 auto !important;
  padding: 0 14px !important;
}

.trm-block-page .trm-legacy-about-hero,
.trm-block-page .trm-legacy-contact-hero {
  padding-top: var(--trm-block-hero-top, 24px) !important;
}

.trm-block-page .trm-legacy-static-block .riz-about-hero,
.trm-block-page .trm-legacy-static-block .riz-contact-hero {
  margin-top: 0 !important;
}

.trm-block-page .trm-legacy-static-block .riz-about-stats {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

.trm-block-page .trm-legacy-static-block .riz-about-section,
.trm-block-page .trm-legacy-static-block .riz-contact-team,
.trm-block-page .trm-legacy-static-block .riz-contact-social-card,
.trm-block-page .trm-legacy-static-block .riz-contact-services,
.trm-block-page .trm-legacy-static-block .riz-contact-section,
.trm-block-page .trm-legacy-static-block .riz-contact-cta {
  margin-top: 18px !important;
}

.trm-block-page .trm-legacy-about-vision,
.trm-block-page .trm-legacy-contact-cta {
  margin-bottom: 18px !important;
}


/* =========================================================
   v8.9.3 FINAL LOCK — About/Contact legacy block parity
   Do not use the Products/Services shell spacing on these pages.
========================================================= */
body.trm-static-block-page.trm-about-block-page,
body.trm-static-block-page.trm-contact-block-page {
  margin: 0 !important;
  padding: 0 !important;
}

body.trm-static-block-page :is(.trm-static-legacy-shell, .trm-static-legacy-shell.trm-page) {
  width: 100vw !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  min-height: 100dvh !important;
  margin: 0 calc(50% - 50vw) !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  transform: none !important;
}

body.trm-static-block-page .trm-static-legacy-shell > .trm-site-header {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  flex: 0 0 auto !important;
}

body.trm-static-block-page .trm-static-legacy-main,
body.trm-static-block-page .trm-static-legacy-main.trm-block-page-main {
  flex: 1 0 auto !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.trm-static-block-page .trm-static-legacy-main > .trm-block-page-content,
body.trm-static-block-page.trm-about-block-page .trm-block-page-content,
body.trm-static-block-page.trm-contact-block-page .trm-block-page-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 0 44px !important;
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-contact-page,
body.trm-static-block-page :where(.riz-about-page, .riz-contact-page).trm-static-section-block.trm-legacy-static-block {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-hero,
body.trm-static-block-page .trm-about-section-hero,
body.trm-static-block-page .trm-contact-section-hero {
  margin-top: clamp(26px, 3vw, 46px) !important;
  padding-top: 0 !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-stats,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-intro,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-social,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-services,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-team,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-form,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-cta {
  margin-top: 24px !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-intro,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-activities,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-products,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-mission,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-vision {
  margin-top: 18px !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block > style + section,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block > section:first-of-type,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block > div:first-of-type,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block :where(.riz-about-hero, .riz-contact-hero, .riz-about-stats, .riz-about-section, .riz-about-warning, .riz-contact-team, .riz-contact-social-card, .riz-contact-services, .riz-contact-section, .riz-contact-cta) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block :where(.riz-about-hero, .riz-contact-hero) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page .trm-static-legacy-shell > .trm-home-footer {
  margin-top: 38px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 32px !important;
  flex: 0 0 auto !important;
}

@media (max-width: 780px) {
  body.trm-static-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-contact-page {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }

  body.trm-static-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-hero,
  body.trm-static-block-page .trm-about-section-hero,
  body.trm-static-block-page .trm-contact-section-hero {
    margin-top: 22px !important;
  }
}


/* =========================================================
   v8.9.4 HARD LOCK — About/Contact block pages must use the
   same full-width plugin shell as Products/Services, but keep
   the original legacy About/Contact section design.
========================================================= */
body.trm-static-block-page.trm-forced-block-page {
  margin: 0 !important;
  padding: 0 !important;
  overflow-x: hidden !important;
  background: #020617 !important;
}

body.trm-static-block-page.trm-forced-block-page :where(
  .wp-site-blocks,
  .site,
  .site-content,
  .content-area,
  #primary,
  main.site-main,
  .entry-content,
  .wp-block-post-content
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

body.trm-static-block-page .trm-static-legacy-shell.trm-page,
body.trm-static-block-page .trm-static-legacy-shell {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 100vh !important;
  margin: 0 !important;
  padding: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow-x: clip !important;
  transform: none !important;
  background:
    radial-gradient(circle at 78% 0%, rgba(4, 212, 190, .095), transparent 30rem),
    radial-gradient(circle at 8% 24%, rgba(34, 197, 94, .045), transparent 28rem),
    linear-gradient(180deg, #020617 0%, #020617 18%, #02110f 44%, #020617 100%) !important;
}

body.trm-static-block-page .trm-static-legacy-shell > .trm-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  margin: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  transform: none !important;
  flex: 0 0 auto !important;
}

body.trm-static-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.trm-static-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
    top: 46px !important;
  }
}
@media (max-width: 640px) {
  body.trm-static-block-page .trm-static-legacy-shell > .trm-site-header {
    position: relative !important;
    top: auto !important;
  }
}

body.trm-static-block-page .trm-static-legacy-main.trm-block-page-main,
body.trm-static-block-page .trm-static-legacy-main {
  flex: 1 0 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.trm-static-block-page .trm-static-legacy-main > .trm-block-page-content,
body.trm-static-block-page.trm-about-block-page .trm-block-page-content,
body.trm-static-block-page.trm-contact-block-page .trm-block-page-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 44px !important;
}

body.trm-static-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page,
body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-contact-page {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: 1180px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-hero {
  margin-top: clamp(26px, 3vw, 46px) !important;
  padding-top: 0 !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-stats,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-intro,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-social,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-services,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-team,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-form,
body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-cta {
  margin-top: 24px !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-about-intro,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-activities,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-products,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-mission,
body.trm-static-block-page .trm-static-section-block.trm-legacy-about-vision {
  margin-top: 18px !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block :where(
  .riz-about-hero,
  .riz-contact-hero,
  .riz-about-stats,
  .riz-about-section,
  .riz-about-warning,
  .riz-contact-team,
  .riz-contact-social-card,
  .riz-contact-services,
  .riz-contact-section,
  .riz-contact-cta
) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block :where(.riz-about-hero, .riz-contact-hero) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

body.trm-static-block-page .trm-static-legacy-shell > .trm-home-footer {
  width: 100% !important;
  margin-top: 38px !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 32px !important;
  flex: 0 0 auto !important;
}

@media (max-width: 780px) {
  body.trm-static-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-static-block.riz-contact-page {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
  body.trm-static-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-static-block-page .trm-static-section-block.trm-legacy-contact-hero {
    margin-top: 22px !important;
  }
}

/* =========================================================
   v8.9.5 ABOUT PAGE ONLY — simple block spacing fix
   Scope: /about-block-test/ and other About pages built with tinies-riz/about-* blocks.
   Goal: no artificial gap above header; spacing belongs only between content blocks.
========================================================= */
body.trm-about-block-page.trm-forced-block-page,
body.trm-about-block-page.trm-forced-block-page :where(
  .wp-site-blocks,
  .site,
  .site-content,
  .content-area,
  #primary,
  main.site-main,
  .entry-content,
  .wp-block-post-content
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
}

body.trm-about-block-page .trm-static-legacy-shell,
body.trm-about-block-page .trm-static-legacy-shell.trm-page {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header {
  width: 100% !important;
  margin: 0 !important;
  padding: 12px 0 !important;
  top: 0 !important;
  transform: none !important;
}

body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
  top: 32px !important;
}

@media (max-width: 782px) {
  body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
    top: 46px !important;
  }
}

body.trm-about-block-page .trm-static-legacy-main,
body.trm-about-block-page .trm-static-legacy-main.trm-block-page-main {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

body.trm-about-block-page .trm-static-legacy-main > .trm-block-page-content,
body.trm-about-block-page .trm-block-page-content {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 42px !important;
  display: block !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page,
body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  margin-top: 18px !important;
  margin-bottom: 18px !important;
  padding: 0 !important;
  box-sizing: border-box !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:first-child {
  margin-top: 32px !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:last-child {
  margin-bottom: 0 !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-about-block-page .trm-about-section-hero {
  margin-top: 32px !important;
  padding-top: 0 !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page :where(
  .riz-about-hero,
  .riz-about-stats,
  .riz-about-section,
  .riz-about-warning
) {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page :where(.riz-about-hero) {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page,
  body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
    margin-top: 14px !important;
    margin-bottom: 14px !important;
  }

  body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:first-child,
  body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-about-block-page .trm-about-section-hero {
    margin-top: 22px !important;
  }
}

/* =========================================================
   v8.9.6 ABOUT PAGE ONLY — undo header gap, put spacing on hero/blocks
   - No offset above the header, even when WordPress admin bar class exists.
   - Main/content containers stay at zero top spacing.
   - The only top gap after the header belongs to the About hero block.
   - About block spacing increased by one third: 18px -> 24px.
========================================================= */
html body.trm-about-block-page,
body.trm-about-block-page.trm-forced-block-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.trm-about-block-page.trm-forced-block-page :where(
  .wp-site-blocks,
  .site,
  .site-content,
  .content-area,
  #primary,
  main.site-main,
  .entry-content,
  .wp-block-post-content,
  .trm-static-legacy-shell,
  .trm-static-legacy-main,
  .trm-block-page-content
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header,
body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
  top: 0 !important;
  margin-top: 0 !important;
  transform: none !important;
}

@media (max-width: 782px) {
  body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
    top: 0 !important;
  }
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page,
body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page {
  margin-top: 24px !important;
  margin-bottom: 24px !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:first-child {
  margin-top: 0 !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-about-block-page .trm-about-section-hero {
  margin-top: 34px !important;
  padding-top: 0 !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-intro,
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-activities,
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-products,
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-mission,
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-vision,
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-stats {
  margin-top: 24px !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:last-child {
  margin-bottom: 0 !important;
}

@media (max-width: 780px) {
  body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page,
  body.trm-about-block-page .trm-static-section-block.trm-legacy-static-block.riz-about-page {
    margin-top: 19px !important;
    margin-bottom: 19px !important;
  }

  body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page:first-child {
    margin-top: 0 !important;
  }

  body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-about-block-page .trm-about-section-hero {
    margin-top: 26px !important;
  }
}

/* =========================================================
   v8.9.7 ABOUT/CONTACT HERO TOP GAP ONLY
   The header itself must not receive any top offset. The gap between
   the header and the first content card is created only by padding on
   the About/Contact hero block wrappers.
========================================================= */
html body.trm-about-block-page,
html body.trm-contact-block-page,
body.trm-about-block-page.trm-forced-block-page,
body.trm-contact-block-page.trm-forced-block-page {
  margin-top: 0 !important;
  padding-top: 0 !important;
}

body.trm-about-block-page.trm-forced-block-page :where(
  .wp-site-blocks,
  .site,
  .site-content,
  .content-area,
  #primary,
  main.site-main,
  .entry-content,
  .wp-block-post-content,
  .trm-static-legacy-shell,
  .trm-static-legacy-main,
  .trm-block-page-content
),
body.trm-contact-block-page.trm-forced-block-page :where(
  .wp-site-blocks,
  .site,
  .site-content,
  .content-area,
  #primary,
  main.site-main,
  .entry-content,
  .wp-block-post-content,
  .trm-static-legacy-shell,
  .trm-static-legacy-main,
  .trm-block-page-content
) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  margin-block-start: 0 !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header,
body.trm-contact-block-page .trm-static-legacy-shell > .trm-site-header,
body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header,
body.trm-contact-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 12px !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
body.trm-about-block-page .trm-about-section-hero,
body.trm-contact-block-page .trm-contact-section-hero {
  margin-top: 0 !important;
  padding-top: 44px !important;
}

@media (max-width: 780px) {
  body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
  body.trm-about-block-page .trm-about-section-hero,
  body.trm-contact-block-page .trm-contact-section-hero {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }
}


/* =========================================================
   v8.9.8 ABOUT/CONTACT HERO GAP FINAL
   Only the first hero block creates the distance from the header.
   Header/main/page wrappers stay at zero top offset.
========================================================= */
body.trm-about-block-page,
body.trm-contact-block-page,
body.trm-about-block-page :where(.trm-static-legacy-shell, .trm-static-legacy-main, .trm-block-page-content),
body.trm-contact-block-page :where(.trm-static-legacy-shell, .trm-static-legacy-main, .trm-block-page-content) {
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header,
body.trm-contact-block-page .trm-static-legacy-shell > .trm-site-header {
  top: 0 !important;
  margin-top: 0 !important;
  padding-top: 0 !important;
  transform: none !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
body.trm-about-block-page .trm-about-section-hero,
body.trm-contact-block-page .trm-contact-section-hero {
  margin-top: 0 !important;
  padding-top: clamp(34px, 3.4vw, 54px) !important;
}

body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero > .riz-about-hero,
body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero > .riz-contact-hero,
body.trm-about-block-page .trm-about-section-hero > .riz-about-hero,
body.trm-contact-block-page .trm-contact-section-hero > .riz-contact-hero {
  margin-top: 0 !important;
}

@media (max-width: 780px) {
  body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
  body.trm-about-block-page .trm-about-section-hero,
  body.trm-contact-block-page .trm-contact-section-hero {
    margin-top: 0 !important;
    padding-top: 30px !important;
  }
}


/* =========================================================
   TRM 8.9.10 — About/Contact hero gap final lock
   فاصله فقط روی خود بلوک هیرو است، نه header/main.
========================================================= */
body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page.trm-legacy-about-hero,
body.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-contact-page.trm-legacy-contact-hero {
  margin-top: 0 !important;
  padding-top: clamp(21px, 1.9vw, 30px) !important;
}

body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page.trm-legacy-about-hero > .riz-about-hero,
body.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-contact-page.trm-legacy-contact-hero > .riz-contact-hero {
  margin-top: 0 !important;
}

@media (max-width: 780px) {
  body.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page.trm-legacy-about-hero,
  body.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-contact-page.trm-legacy-contact-hero {
    padding-top: 15px !important;
  }
}


/* =========================================================
   TRM 8.9.11 — final reduced About/Contact hero inline parity
   Inline renderer was still using 56px, so visual gap did not change.
========================================================= */
body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
body.trm-about-block-page .trm-about-section-hero,
body.trm-contact-block-page .trm-contact-section-hero {
  margin-top: 0 !important;
  padding-top: 37px !important;
}
@media (max-width: 780px) {
  body.trm-about-block-page .trm-static-section-block.trm-legacy-about-hero,
  body.trm-contact-block-page .trm-static-section-block.trm-legacy-contact-hero,
  body.trm-about-block-page .trm-about-section-hero,
  body.trm-contact-block-page .trm-contact-section-hero {
    padding-top: 20px !important;
  }
}


/* =========================================================
   TRM 8.9.12 — About/Contact header restore after hero gap fixes
   Keep header exactly in normal position; only hero owns content gap.
========================================================= */
body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header,
body.trm-contact-block-page .trm-static-legacy-shell > .trm-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
  width: 100% !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  transform: none !important;
  translate: none !important;
  overflow: visible !important;
  flex: 0 0 auto !important;
}
body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header,
body.trm-contact-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
  top: 32px !important;
}
body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header .trm-site-header-inner,
body.trm-contact-block-page .trm-static-legacy-shell > .trm-site-header .trm-site-header-inner {
  overflow: visible !important;
  transform: none !important;
}
@media (max-width: 782px) {
  body.trm-about-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header,
  body.trm-contact-block-page.admin-bar .trm-static-legacy-shell > .trm-site-header {
    top: 46px !important;
  }
}
@media (max-width: 640px) {
  body.trm-about-block-page .trm-static-legacy-shell > .trm-site-header,
  body.trm-contact-block-page .trm-static-legacy-shell > .trm-site-header {
    position: relative !important;
    top: auto !important;
  }
}


/* v8.9.16: related product cards on detail pages */
.trm-product-related-section .trm-product-card .trm-card-image img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.trm-product-related-section .trm-product-card .trm-card-image {
  width: 100% !important;
}

/* =========================================================
   TRM 8.9.18 — product related card image + static container pages
   - Product detail related cards: image fills the whole card width and frame.
   - About/Contact rebuilt pages: only one transparent page wrapper, no extra block cards.
========================================================= */
body.trm-detail-block-page .trm-product-related-section .trm-products-grid,
body.trm-product-detail-block-page .trm-product-related-section .trm-products-grid,
.trm-product-builder-shell .trm-product-related-section .trm-products-grid {
  align-items: stretch !important;
}

body.trm-detail-block-page .trm-product-related-section .trm-product-card,
body.trm-product-detail-block-page .trm-product-related-section .trm-product-card,
.trm-product-builder-shell .trm-product-related-section .trm-product-card {
  padding: 0 !important;
  overflow: hidden !important;
}

body.trm-detail-block-page .trm-product-related-section .trm-product-card > .trm-card-image,
body.trm-product-detail-block-page .trm-product-related-section .trm-product-card > .trm-card-image,
.trm-product-builder-shell .trm-product-related-section .trm-product-card > .trm-card-image {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  border-radius: 0 !important;
  aspect-ratio: 16 / 8.4 !important;
  min-height: 168px !important;
  overflow: hidden !important;
}

body.trm-detail-block-page .trm-product-related-section .trm-product-card > .trm-card-image img,
body.trm-product-detail-block-page .trm-product-related-section .trm-product-card > .trm-card-image img,
.trm-product-builder-shell .trm-product-related-section .trm-product-card > .trm-card-image img {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  min-height: 100% !important;
  object-fit: cover !important;
  object-position: center center !important;
}

body.trm-about-block-page .trm-static-block-container,
body.trm-contact-block-page .trm-static-block-container,
body.trm-about-block-page .trm-static-section-inner,
body.trm-contact-block-page .trm-static-section-inner {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

body.trm-about-block-page .trm-static-section-inner,
body.trm-contact-block-page .trm-static-section-inner {
  display: contents !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* v8.9.24 - footer social links controlled from Site Settings */
.trm-footer-social-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin: 14px 0;
}
.trm-footer-social-links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  padding: 7px 11px;
  border-radius: 999px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  background: rgba(255, 255, 255, 0.06);
  color: inherit;
  font-size: 12px;
  text-decoration: none;
}
.trm-footer-social-links a:hover {
  border-color: rgba(125, 211, 252, 0.55);
  background: rgba(125, 211, 252, 0.10);
}

/* v8.9.27 - keep footer social links inside the contact column, not above trust/payment */
.trm-footer-contact .trm-footer-social-contact .trm-footer-social-links {
  margin: 8px 0 0;
}
.trm-footer-contact .trm-footer-social-contact .trm-footer-social-links a {
  min-height: 30px;
  padding: 6px 10px;
}

/* v8.9.28 - bilingual loader stays centered and switches text server/JS-side */
.trm-navigation-loader,
.trm-navigation-loader[dir="ltr"],
.trm-navigation-loader[dir="rtl"] {
  text-align: center !important;
}
.trm-navigation-loader-card,
.trm-navigation-loader[dir="ltr"] .trm-navigation-loader-card,
.trm-navigation-loader[dir="rtl"] .trm-navigation-loader-card {
  text-align: center !important;
  direction: inherit !important;
}
html.trm-lang-en .trm-navigation-loader,
body.trm-lang-en .trm-navigation-loader {
  direction: ltr !important;
}

/* v8.9.28 - LTR should not flatten intentionally centered sections */
html.trm-lang-en .trm-product-builder-actions-head,
html.trm-lang-en .trm-product-builder-actions-head :is(h1,h2,h3,p,span,strong,small),
html.trm-lang-en .trm-related-products-section .trm-section-head,
html.trm-lang-en .trm-related-products-section .trm-section-head :is(h1,h2,h3,p,span,strong,small),
html.trm-lang-en .trm-section-head.trm-center-head,
html.trm-lang-en .trm-section-head.trm-center-head :is(h1,h2,h3,p,span,strong,small) {
  text-align: center !important;
}
html.trm-lang-en .trm-product-builder-action-grid,
html.trm-lang-en .trm-card-actions,
html.trm-lang-en .trm-products-grid .trm-card-actions,
html.trm-lang-en .trm-services-grid .trm-card-actions {
  justify-content: center;
}

/* v8.9.40 - keep originally centered section heads centered in English mode. */
html.trm-lang-en body :is(.trm-section-head.trm-center-head, .trm-center-head, .trm-products-why-panel .trm-section-head, .trm-services-why-panel .trm-section-head) {
  text-align: center !important;
  align-items: center !important;
}
html.trm-lang-en body :is(.trm-section-head.trm-center-head, .trm-center-head, .trm-products-why-panel .trm-section-head, .trm-services-why-panel .trm-section-head) :is(h1,h2,h3,h4,h5,h6,p,span,strong,small,div) {
  text-align: center !important;
}

/* =========================================================
   TRM 8.9.42 — persistent English navigation + centered blocks lock
   Keep LTR language active without flattening intentionally centered sections.
========================================================= */
html.trm-lang-en body :is(
  .riz-contact-info-card,
  .riz-contact-info-card :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-social-card,
  .riz-contact-social-card :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-social-head,
  .riz-contact-social-head :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-action,
  .riz-contact-action :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-contact-intro-section .trm-static-feature-grid article,
  .trm-contact-intro-section .trm-static-feature-grid article :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-contact-social-section .trm-static-link-grid a,
  .trm-contact-social-section .trm-static-link-grid a :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-services-process-section .trm-section-head,
  .trm-services-process-section .trm-section-head :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-services-why-section .trm-section-head,
  .trm-services-why-section .trm-section-head :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-products-page-v2 .trm-products-why-panel .trm-section-head,
  .trm-products-page-v2 .trm-products-why-panel .trm-section-head :is(h1,h2,h3,h4,p,span,strong,small,div),
  .trm-products-quick,
  .trm-products-quick div,
  .trm-products-quick div :is(h1,h2,h3,h4,p,span,strong,small,b,div),
  .trm-products-stats,
  .trm-products-stats div,
  .trm-products-stats div :is(h1,h2,h3,h4,p,span,strong,small,b,div)
) {
  text-align: center !important;
}

html.trm-lang-en body :is(
  .riz-contact-info-card,
  .riz-contact-social-card,
  .riz-contact-action,
  .trm-contact-intro-section .trm-static-feature-grid article,
  .trm-contact-social-section .trm-static-link-grid a,
  .trm-products-quick div,
  .trm-products-stats div
) {
  align-items: center !important;
  justify-content: center !important;
}

html.trm-lang-en body .riz-contact-member-card,
html.trm-lang-en body .riz-contact-member-card :is(h1,h2,h3,h4,p,span,strong,small,div),
html.trm-lang-en body .trm-team-card,
html.trm-lang-en body .trm-team-card :is(h1,h2,h3,h4,p,span,strong,small,div) {
  direction: ltr !important;
}

/* v8.9.42b - Contact legacy mini cards also remain centered in English. */
html.trm-lang-en body :is(
  .riz-contact-mini-item,
  .riz-contact-mini-item :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-floating-card,
  .riz-contact-floating-card :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-team-card,
  .riz-contact-team-card :is(h1,h2,h3,h4,p,span,strong,small,div),
  .riz-contact-service-card,
  .riz-contact-service-card :is(h1,h2,h3,h4,p,span,strong,small,div)
) {
  text-align: center !important;
}
html.trm-lang-en body :is(.riz-contact-mini-item, .riz-contact-floating-card, .riz-contact-team-card, .riz-contact-service-card) {
  align-items: center !important;
  justify-content: center !important;
}

/* =========================================================
   TRM 8.9.43 — precise alignment fixes
   Service cards in the Contact services section are card/list content and must
   stay left aligned in English. Only the intentionally centered info/social
   cards remain centered.
========================================================= */
html.trm-lang-en body .riz-contact-service-card,
html.trm-lang-en body .riz-contact-service-card :is(h1,h2,h3,h4,p,span,strong,small,div),
body.trm-lang-en .riz-contact-service-card,
body.trm-lang-en .riz-contact-service-card :is(h1,h2,h3,h4,p,span,strong,small,div) {
  text-align: left !important;
  direction: ltr !important;
}
html.trm-lang-en body .riz-contact-service-card,
body.trm-lang-en .riz-contact-service-card {
  align-items: stretch !important;
  justify-content: space-between !important;
}
html.trm-lang-en body .riz-contact-service-card .riz-contact-service-top,
body.trm-lang-en .riz-contact-service-card .riz-contact-service-top {
  justify-content: flex-start !important;
}
html.trm-lang-en body .riz-contact-service-card .riz-contact-service-link,
body.trm-lang-en .riz-contact-service-card .riz-contact-service-link {
  justify-content: space-between !important;
}

/* =========================================================
   TRM 8.9.62 - EN archive/search/comment/menu/loading fixes
========================================================= */
.trm-navigation-loader,
.trm-navigation-loader[dir="ltr"],
.trm-navigation-loader[dir="rtl"],
.trm-navigation-loader-card,
.trm-navigation-loader-card * {
  text-align: center !important;
}
.trm-navigation-loader-card {
  margin-left: auto !important;
  margin-right: auto !important;
  align-items: center !important;
  justify-items: center !important;
}
.trm-navigation-loader-card strong,
.trm-navigation-loader-card small {
  width: 100% !important;
  text-align: center !important;
}
html.trm-lang-en .trm-shared-mega-item,
html.trm-lang-en .trm-shared-mega-item *,
body.trm-lang-en .trm-shared-mega-item,
body.trm-lang-en .trm-shared-mega-item * {
  direction: ltr !important;
  text-align: left !important;
}
html.trm-lang-en .trm-menu-panel,
html.trm-lang-en .trm-menu-panel *,
body.trm-lang-en .trm-menu-panel,
body.trm-lang-en .trm-menu-panel * {
  direction: ltr !important;
  text-align: left !important;
}
html.trm-lang-en .trm-menu-main small,
html.trm-lang-en .trm-menu-item small,
body.trm-lang-en .trm-menu-main small,
body.trm-lang-en .trm-menu-item small {
  grid-column: 2 !important;
  text-align: left !important;
}
html.trm-lang-en .trm-blog-comments,
body.trm-lang-en .trm-blog-comments {
  direction: ltr !important;
  text-align: left !important;
}
html.trm-lang-en .trm-blog-comments :is(h1,h2,h3,p,label,input,textarea,button,small,span,li),
body.trm-lang-en .trm-blog-comments :is(h1,h2,h3,p,label,input,textarea,button,small,span,li) {
  direction: ltr !important;
  text-align: left !important;
}
html.trm-lang-en .trm-blog-comments :is(#reply-title,.comment-reply-title,.comments-title),
body.trm-lang-en .trm-blog-comments :is(#reply-title,.comment-reply-title,.comments-title) {
  text-align: left !important;
}


/* TRM 8.9.65 - targeted fixes for rebuilt EN static pages, loader centering and PoolPoolak menu item */
.trm-navigation-loader {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.trm-navigation-loader-card,
.trm-navigation-loader-card :is(strong, small, span, p) {
  text-align: center !important;
  align-items: center !important;
  justify-content: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
html.trm-lang-en .trm-shared-mega-item[href*="poolpoolak"],
body.trm-lang-en .trm-shared-mega-item[href*="poolpoolak"],
html.trm-lang-en .trm-shared-mega-item[href*="poolpoolak"] *,
body.trm-lang-en .trm-shared-mega-item[href*="poolpoolak"] * {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: plaintext !important;
}
html.trm-lang-en .trm-about-rebuilt-en,
html.trm-lang-en .trm-contact-rebuilt-en,
body.trm-lang-en .trm-about-rebuilt-en,
body.trm-lang-en .trm-contact-rebuilt-en {
  direction: ltr !important;
}
html.trm-lang-en .trm-about-rebuilt-en :is(.trm-section-head,.trm-center-head,.trm-cta),
html.trm-lang-en .trm-contact-rebuilt-en :is(.trm-section-head,.trm-center-head,.trm-cta),
body.trm-lang-en .trm-about-rebuilt-en :is(.trm-section-head,.trm-center-head,.trm-cta),
body.trm-lang-en .trm-contact-rebuilt-en :is(.trm-section-head,.trm-center-head,.trm-cta) {
  text-align: center !important;
}


/* TRM 8.9.71 - English product mega menu alignment and post meta translation */
html.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item,
body.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item {
  direction: ltr !important;
  display: flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
}
html.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-icon,
body.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-icon {
  flex: 0 0 37px !important;
  width: 37px !important;
  height: 37px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  direction: ltr !important;
  unicode-bidi: normal !important;
}
html.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-copy,
body.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-copy {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: normal !important;
}
html.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-copy :is(strong, small),
body.trm-lang-en .trm-header-dropdown.trm-old-mega .trm-shared-mega-item .trm-shared-mega-copy :is(strong, small) {
  direction: ltr !important;
  text-align: left !important;
  unicode-bidi: normal !important;
}

/* TRM 8.9.72 - Generated English pages: archive/search/404 language persistence and 404 width */
body.trm-404-final-page .trm-404-final-main .trm-blog-inner,
body.trm-404-final-page .trm-404-final-main > .trm-container {
  width: min(1180px, calc(100% - 32px)) !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}
body.trm-404-final-page .trm-404-final-card {
  width: 100% !important;
  max-width: 1180px !important;
  margin-inline: auto !important;
}
html.trm-lang-en body.trm-404-final-page .trm-404-final-card,
body.trm-lang-en.trm-404-final-page .trm-404-final-card {
  direction: ltr !important;
  text-align: left !important;
}
html.trm-lang-en body.trm-404-final-page .trm-404-final-copy,
html.trm-lang-en body.trm-404-final-page .trm-404-final-card h1,
html.trm-lang-en body.trm-404-final-page .trm-404-final-card p,
body.trm-lang-en.trm-404-final-page .trm-404-final-copy,
body.trm-lang-en.trm-404-final-page .trm-404-final-card h1,
body.trm-lang-en.trm-404-final-page .trm-404-final-card p {
  text-align: left !important;
  direction: ltr !important;
}
html.trm-lang-en body.trm-post-archive-page .trm-blog-archive-hero,
html.trm-lang-en body.trm-post-archive-page .trm-archive-card,
body.trm-lang-en.trm-post-archive-page .trm-blog-archive-hero,
body.trm-lang-en.trm-post-archive-page .trm-archive-card {
  direction: ltr !important;
  text-align: left !important;
}

/* TRM 8.9.73 - generated page language must be explicit and 404 full-width card fix */
body.trm-404-final-page .trm-404-final-main > .trm-container,
body.trm-404-final-page .trm-404-final-main .trm-blog-inner {
  width: 100vw !important;
  max-width: none !important;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
  box-sizing: border-box !important;
  background: transparent !important;
}
body.trm-404-final-page .trm-404-final-card,
html.trm-theme-light body.trm-404-final-page .trm-404-final-card,
body.trm-theme-light.trm-404-final-page .trm-404-final-card,
html.trm-theme-dark body.trm-404-final-page .trm-404-final-card,
body.trm-theme-dark.trm-404-final-page .trm-404-final-card {
  width: min(1180px, calc(100vw - 32px)) !important;
  max-width: none !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}

/* =========================================================
   TRM 8.9.74 - generated pages fixes: 404 width, EN note side
========================================================= */
body.trm-404-final-page .trm-404-final-main > .trm-container,
body.trm-404-final-page .trm-404-final-main .trm-blog-inner,
body.trm-404-final-page .trm-404-final-main .trm-container.trm-blog-inner {
  width: min(1280px, calc(100% - clamp(28px, 5vw, 72px))) !important;
  max-width: 1280px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}

body.trm-404-final-page .trm-404-final-card {
  width: 100% !important;
  max-width: none !important;
  box-sizing: border-box !important;
}

body.trm-404-final-page.trm-lang-en .trm-404-final-copy {
  text-align: left !important;
}

body.trm-404-final-page.trm-lang-en .trm-404-final-card p {
  text-align: left !important;
  max-width: 780px !important;
}

body.trm-404-final-page.trm-lang-en .trm-404-final-actions {
  justify-content: flex-start !important;
}

body.trm-404-final-page.trm-lang-en .trm-404-final-note {
  left: auto !important;
  right: 0 !important;
  bottom: 12px !important;
}

@media (max-width: 780px) {
  body.trm-404-final-page .trm-404-final-main > .trm-container,
  body.trm-404-final-page .trm-404-final-main .trm-blog-inner,
  body.trm-404-final-page .trm-404-final-main .trm-container.trm-blog-inner {
    width: min(100% - 24px, 100%) !important;
  }

  body.trm-404-final-page.trm-lang-en .trm-404-final-copy,
  body.trm-404-final-page.trm-lang-en .trm-404-final-card p {
    text-align: center !important;
  }
}


/* TRM 8.9.75 - generated archive source-category pairing */


/* TRM 8.9.81 - Header sticky admin option */
body.trm-header-sticky-enabled .trm-site-header {
  position: sticky !important;
  top: 0 !important;
  z-index: 1000 !important;
}
body.admin-bar.trm-header-sticky-enabled .trm-site-header {
  top: 32px !important;
}
@media (max-width: 782px) {
  body.admin-bar.trm-header-sticky-enabled .trm-site-header {
    top: 46px !important;
  }
}
body.trm-header-sticky-disabled .trm-site-header,
body.trm-header-sticky-disabled .trm-page > .trm-site-header,
body.trm-header-sticky-disabled .trm-home-v5 > .trm-site-header,
body.trm-header-sticky-disabled .trm-products-page-v2 > .trm-site-header,
body.trm-header-sticky-disabled .trm-services-page-v1 > .trm-site-header,
body.trm-header-sticky-disabled .trm-product-detail-page > .trm-site-header,
body.trm-header-sticky-disabled .trm-vamino-detail-page > .trm-site-header,
body.trm-header-sticky-disabled .trm-static-legacy-shell > .trm-site-header,
body.trm-header-sticky-disabled .trm-404-final-shell > .trm-site-header {
  position: relative !important;
  top: auto !important;
}


/* TRM 8.9.82 - Sticky header setting hard override
   The setting now affects the rendered header class itself and these
   rules override every older sticky declaration in the stylesheet. */
html body.trm-header-sticky-disabled .trm-site-header,
html body.trm-header-sticky-disabled header.trm-site-header,
html body.trm-header-sticky-disabled .trm-site-header.trm-site-header-static,
html body .trm-site-header.trm-site-header-static {
  position: relative !important;
  top: auto !important;
  inset-block-start: auto !important;
  z-index: 1000 !important;
}

html body.trm-header-sticky-enabled .trm-site-header.trm-site-header-sticky {
  position: sticky !important;
  top: 0 !important;
  inset-block-start: 0 !important;
  z-index: 1000 !important;
}

html body.admin-bar.trm-header-sticky-enabled .trm-site-header.trm-site-header-sticky {
  top: 32px !important;
  inset-block-start: 32px !important;
}

@media (max-width: 782px) {
  html body.admin-bar.trm-header-sticky-enabled .trm-site-header.trm-site-header-sticky {
    top: 46px !important;
    inset-block-start: 46px !important;
  }
}

/* =========================================================
   TRM 8.9.83 - definitive sticky-header off + floating back-to-top
========================================================= */
html body.trm-header-sticky-disabled header.trm-site-header,
html body.trm-header-sticky-disabled .trm-site-header,
html body.trm-header-sticky-disabled .trm-site-header.trm-site-header-static,
html body.trm-header-sticky-disabled .trm-page > header.trm-site-header,
html body.trm-header-sticky-disabled .trm-page > .trm-site-header,
html body.trm-header-sticky-disabled .trm-static-legacy-shell > header.trm-site-header,
html body.trm-header-sticky-disabled .trm-static-legacy-shell > .trm-site-header,
html body.trm-header-sticky-disabled .trm-404-final-shell > header.trm-site-header,
html body.trm-header-sticky-disabled .trm-404-final-shell > .trm-site-header,
html body header.trm-site-header.trm-site-header-static,
html body .trm-site-header.trm-site-header-static,
html body header.trm-site-header[data-trm-sticky-header="0"],
html body .trm-site-header[data-trm-sticky-header="0"] {
  position: static !important;
  top: auto !important;
  inset-block-start: auto !important;
  transform: none !important;
  translate: none !important;
}

html body.trm-header-sticky-disabled.admin-bar header.trm-site-header,
html body.trm-header-sticky-disabled.admin-bar .trm-site-header,
html body.admin-bar header.trm-site-header[data-trm-sticky-header="0"],
html body.admin-bar .trm-site-header[data-trm-sticky-header="0"] {
  top: auto !important;
  inset-block-start: auto !important;
}

.trm-scroll-top {
  position: fixed;
  inset-inline-end: clamp(16px, 3.2vw, 28px);
  bottom: clamp(16px, 3.2vw, 28px);
  z-index: 999990;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-width: 50px;
  height: 50px;
  padding: 0 16px;
  border: 1px solid rgba(148, 163, 184, .24);
  border-radius: 999px;
  background:
    radial-gradient(circle at top right, rgba(4, 212, 190, .24), transparent 42%),
    linear-gradient(135deg, rgba(15, 23, 42, .94), rgba(2, 6, 23, .90));
  color: #f8fafc;
  box-shadow: 0 18px 50px rgba(0, 0, 0, .34), inset 0 1px 0 rgba(255, 255, 255, .08);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  cursor: pointer;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(16px) scale(.96);
  transition: opacity .22s ease, transform .22s ease, visibility .22s ease, border-color .22s ease;
}

.trm-scroll-top svg {
  width: 21px;
  height: 21px;
  fill: currentColor;
  flex: 0 0 auto;
}

.trm-scroll-top span {
  font-weight: 900;
  font-size: 13px;
  line-height: 1;
}

.trm-scroll-top.is-visible {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0) scale(1);
}

.trm-scroll-top:hover,
.trm-scroll-top:focus-visible {
  border-color: rgba(45, 212, 191, .52);
  transform: translateY(-2px) scale(1.01);
  outline: none;
}

@media (max-width: 640px) {
  .trm-scroll-top {
    width: 48px;
    min-width: 48px;
    height: 48px;
    padding: 0;
    border-radius: 18px;
    bottom: 18px;
    inset-inline-end: 18px;
  }
  .trm-scroll-top span {
    display: none;
  }
}


/* =========================================================
   TRM 8.9.86 - service CTA alignment, fixed-header offsets and 404 width
========================================================= */
html.trm-lang-en body :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta, .riz-mobile-cta, .riz-web-cta, .riz-api-cta, .riz-system-cta, .riz-game-cta),
html.trm-lang-en body :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta h2, .riz-mobile-cta h2, .riz-web-cta h2, .riz-api-cta h2, .riz-system-cta h2, .riz-game-cta h2, .riz-ai-cta p, .riz-mobile-cta p, .riz-web-cta p, .riz-api-cta p, .riz-system-cta p, .riz-game-cta p),
body.trm-lang-en :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta, .riz-mobile-cta, .riz-web-cta, .riz-api-cta, .riz-system-cta, .riz-game-cta),
body.trm-lang-en :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta h2, .riz-mobile-cta h2, .riz-web-cta h2, .riz-api-cta h2, .riz-system-cta h2, .riz-game-cta h2, .riz-ai-cta p, .riz-mobile-cta p, .riz-web-cta p, .riz-api-cta p, .riz-system-cta p, .riz-game-cta p) {
  direction: ltr !important;
  text-align: center !important;
}

html.trm-lang-en body :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta-actions, .riz-mobile-cta-actions, .riz-web-cta-actions, .riz-api-cta-actions, .riz-system-cta-actions, .riz-game-cta-actions),
body.trm-lang-en :is(.trm-legacy-service-detail-page, .trm-service-detail-block-page) :is(.riz-ai-cta-actions, .riz-mobile-cta-actions, .riz-web-cta-actions, .riz-api-cta-actions, .riz-system-cta-actions, .riz-game-cta-actions) {
  justify-content: center !important;
}

body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-static-legacy-main,
body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-static-legacy-main {
  padding-top: calc(var(--trm-runtime-header-height, 74px) + 8px) !important;
}
body.trm-header-sticky-disabled.trm-about-block-page .trm-static-legacy-main,
body.trm-header-sticky-disabled.trm-contact-block-page .trm-static-legacy-main {
  padding-top: 0 !important;
}

body.trm-404-final-page .trm-404-final-main > .trm-container,
body.trm-404-final-page .trm-404-final-main .trm-blog-inner,
body.trm-404-final-page .trm-404-final-main .trm-container.trm-blog-inner {
  width: min(1220px, calc(100vw - 32px)) !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  box-sizing: border-box !important;
}
body.trm-404-final-page .trm-404-final-card,
html.trm-theme-light body.trm-404-final-page .trm-404-final-card,
body.trm-theme-light.trm-404-final-page .trm-404-final-card,
html.trm-theme-dark body.trm-404-final-page .trm-404-final-card,
body.trm-theme-dark.trm-404-final-page .trm-404-final-card {
  width: 100% !important;
  max-width: 1220px !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}
@media (max-width: 780px) {
  body.trm-404-final-page .trm-404-final-main > .trm-container,
  body.trm-404-final-page .trm-404-final-main .trm-blog-inner,
  body.trm-404-final-page .trm-404-final-main .trm-container.trm-blog-inner {
    width: calc(100vw - 16px) !important;
    max-width: calc(100vw - 16px) !important;
  }
}


/* =========================================================
   TRM 8.9.87 - About/Contact sticky header gap belongs to hero card
   The top distance for About and Contact must be controlled by the first
   hero block itself, not by header/main wrappers. This keeps the visual
   spacing identical when the fixed-header option is enabled.
========================================================= */
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page {
  padding-top: 0 !important;
}
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page :where(.trm-static-legacy-main, .trm-block-page-content),
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page :where(.trm-static-legacy-main, .trm-block-page-content) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page.trm-legacy-about-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-about-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-about-section-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-contact-page.trm-legacy-contact-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-contact-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-contact-section-hero {
  margin-top: 0 !important;
  padding-top: calc(var(--trm-runtime-header-top, 0px) + var(--trm-runtime-header-height, 74px) + clamp(21px, 1.9vw, 30px)) !important;
}
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page :is(.trm-block-page-content > .trm-static-section-block.trm-legacy-about-hero, .trm-about-section-hero) > .riz-about-hero,
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page :is(.trm-block-page-content > .trm-static-section-block.trm-legacy-contact-hero, .trm-contact-section-hero) > .riz-contact-hero {
  margin-top: 0 !important;
}
@media (max-width: 782px) {
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-about-page.trm-legacy-about-hero,
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-about-hero,
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page .trm-about-section-hero,
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-static-block.riz-contact-page.trm-legacy-contact-hero,
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-block-page-content > .trm-static-section-block.trm-legacy-contact-hero,
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page .trm-contact-section-hero {
    padding-top: calc(var(--trm-runtime-header-top, 0px) + var(--trm-runtime-header-height, 74px) + 18px) !important;
  }
}


/* =========================================================
   TRM 8.9.88 - About/Contact fixed header gap, final fallback
   The actual gap is also enforced by JS with inline !important values,
   because these two block pages can render either raw hero sections or
   legacy section wrappers depending on saved block attributes.
========================================================= */
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page :is(.trm-static-legacy-main, .trm-block-page-content, .trm-about-section-hero, .trm-legacy-about-hero),
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page :is(.trm-static-legacy-main, .trm-block-page-content, .trm-contact-section-hero, .trm-legacy-contact-hero) {
  padding-top: 0 !important;
  margin-top: 0 !important;
}
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page :is(.trm-block-page-content > .riz-about-hero, .trm-block-page-content .riz-about-hero, .trm-about-section-hero > .riz-about-hero, .trm-legacy-about-hero > .riz-about-hero),
html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page :is(.trm-block-page-content > .riz-contact-hero, .trm-block-page-content .riz-contact-hero, .trm-contact-section-hero > .riz-contact-hero, .trm-legacy-contact-hero > .riz-contact-hero) {
  margin-top: calc(var(--trm-runtime-header-top, 0px) + var(--trm-runtime-header-height, 74px) + clamp(21px, 1.9vw, 30px)) !important;
}
@media (max-width: 782px) {
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-about-block-page :is(.trm-block-page-content > .riz-about-hero, .trm-block-page-content .riz-about-hero, .trm-about-section-hero > .riz-about-hero, .trm-legacy-about-hero > .riz-about-hero),
  html body.trm-header-sticky-enabled.trm-header-fixed-runtime.trm-contact-block-page :is(.trm-block-page-content > .riz-contact-hero, .trm-block-page-content .riz-contact-hero, .trm-contact-section-hero > .riz-contact-hero, .trm-legacy-contact-hero > .riz-contact-hero) {
    margin-top: calc(var(--trm-runtime-header-top, 0px) + var(--trm-runtime-header-height, 74px) + 18px) !important;
  }
}


/* =========================================================
   TRM 8.9.89 - English home hero mobile/tablet tag alignment
   فقط Hero صفحه اصلی انگلیسی در موبایل/تبلت: باکس متن چپ‌چین شود،
   کادر بزرگ زیر badge حذف شود و تگ‌های اعتماد به چپ بروند.
========================================================= */
@media (max-width: 1080px) {
  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-home-product-main,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-home-product-main,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-home-product-main,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-home-product-main,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-home-product-main,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-home-product-main {
    direction: ltr !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-home-product-copy {
    direction: ltr !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker {
    direction: ltr !important;
    justify-content: flex-start !important;
    align-items: center !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker span {
    direction: ltr !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-hero-kicker small {
    direction: ltr !important;
    justify-content: flex-start !important;
    text-align: left !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    min-height: 0 !important;
    border-radius: 0 !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-trust-row,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-trust-row,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-trust-row,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-trust-row,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-trust-row,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-trust-row {
    direction: ltr !important;
    justify-content: flex-start !important;
    text-align: left !important;
  }

  html.trm-lang-en body.trm-home-block-page .trm-home-product-style-hero .trm-trust-row span,
  body.trm-lang-en.trm-home-block-page .trm-home-product-style-hero .trm-trust-row span,
  html[dir="ltr"] body.trm-home-block-page .trm-home-product-style-hero .trm-trust-row span,
  body[dir="ltr"].trm-home-block-page .trm-home-product-style-hero .trm-trust-row span,
  html.trm-lang-en body .trm-home-block-page .trm-home-product-style-hero .trm-trust-row span,
  body.trm-lang-en .trm-home-block-page .trm-home-product-style-hero .trm-trust-row span {
    direction: ltr !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
}


/* =========================================================
   TRM 8.9.90 - root fix for nested bilingual chips/tags + light scroll top
   مشکل ریشه‌ای: بعضی تگ‌ها یک wrapper بیرونی و یک span داخلی data-trm دارند.
   هر دو span استایل چیپ می‌گرفتند و باکس دوبل ساخته می‌شد. در این نسخه
   wrapper فقط نقش نگهدارنده دارد و خود متن دو‌زبانه فقط یک باکس می‌گیرد.
========================================================= */

/* Wrapperهای اضافه داخل تگ‌ها و badgeهای دوزبانه نباید باکس بسازند. */
.trm-hero-kicker > span:has(> [data-trm-fa][data-trm-en]),
.trm-hero-kicker > small:has(> [data-trm-fa][data-trm-en]),
.trm-tags > span:has(> [data-trm-fa][data-trm-en]),
.trm-team-tags > span:has(> [data-trm-fa][data-trm-en]),
.trm-static-tags > span:has(> [data-trm-fa][data-trm-en]),
.trm-vamino-hero-tags > span:has(> [data-trm-fa][data-trm-en]),
.riz-contact-member-skills > span:has(> [data-trm-fa][data-trm-en]) {
  display: contents !important;
  padding: 0 !important;
  margin: 0 !important;
  min-height: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* متن دوم Hero که داخل small بود، بعد از حذف wrapper باید استایل small را بگیرد، نه badge اصلی را. */
.trm-hero-kicker > small > [data-trm-fa][data-trm-en] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
  color: var(--trm-soft) !important;
  background: rgba(15, 23, 42, .50) !important;
  border: 1px solid rgba(148, 163, 184, .16) !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

html.trm-theme-light body .trm-hero-kicker > small > [data-trm-fa][data-trm-en],
body.trm-theme-light .trm-hero-kicker > small > [data-trm-fa][data-trm-en] {
  color: var(--trm-c-text) !important;
  background: var(--trm-c-chip) !important;
  border-color: var(--trm-c-border) !important;
}

/* در موبایل/تبلت انگلیسی، تگ‌های Hero صفحه اصلی همچنان چپ‌چین بمانند اما فقط یک باکس داشته باشند. */
@media (max-width: 1080px) {
  html.trm-lang-en body :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-hero-kicker > :is(span, small) > [data-trm-fa][data-trm-en],
  body.trm-lang-en :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-hero-kicker > :is(span, small) > [data-trm-fa][data-trm-en],
  html[dir="ltr"] body :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-hero-kicker > :is(span, small) > [data-trm-fa][data-trm-en] {
    direction: ltr !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }

  html.trm-lang-en body :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-tags > span > [data-trm-fa][data-trm-en],
  body.trm-lang-en :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-tags > span > [data-trm-fa][data-trm-en],
  html[dir="ltr"] body :is(.trm-home-product-style-hero, .trm-home-block-page) .trm-tags > span > [data-trm-fa][data-trm-en] {
    direction: ltr !important;
    text-align: left !important;
    justify-content: flex-start !important;
  }
}

/* اگر مرورگر :has را پشتیبانی نکرد، حداقل span داخلی را بدون باکس اضافه نگه می‌داریم تا باکس دوبل کمتر دیده شود. */
@supports not selector(:has(*)) {
  .trm-tags > span > [data-trm-fa][data-trm-en],
  .trm-team-tags > span > [data-trm-fa][data-trm-en],
  .trm-static-tags > span > [data-trm-fa][data-trm-en],
  .trm-vamino-hero-tags > span > [data-trm-fa][data-trm-en],
  .riz-contact-member-skills > span > [data-trm-fa][data-trm-en] {
    display: contents !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
  }
}

/* دکمه برگشت به بالا در تم روشن */
html.trm-theme-light body .trm-scroll-top,
body.trm-theme-light .trm-scroll-top {
  color: #0f172a !important;
  border-color: rgba(15, 23, 42, .14) !important;
  background:
    radial-gradient(circle at top right, rgba(4, 143, 156, .18), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, .96), rgba(239, 245, 252, .92)) !important;
  box-shadow: 0 18px 46px rgba(15, 23, 42, .16), inset 0 1px 0 rgba(255, 255, 255, .90) !important;
}

html.trm-theme-light body .trm-scroll-top:hover,
html.trm-theme-light body .trm-scroll-top:focus-visible,
body.trm-theme-light .trm-scroll-top:hover,
body.trm-theme-light .trm-scroll-top:focus-visible {
  color: #0f172a !important;
  border-color: rgba(7, 143, 156, .34) !important;
  background:
    radial-gradient(circle at top right, rgba(4, 143, 156, .24), transparent 42%),
    linear-gradient(135deg, rgba(255, 255, 255, 1), rgba(226, 239, 248, .96)) !important;
  box-shadow: 0 22px 54px rgba(15, 23, 42, .20), inset 0 1px 0 rgba(255, 255, 255, .92) !important;
}


/* =========================================================
   TRM 8.9.92 - Restore chips + clean floating section titles
   - برگرداندن استایل تگ‌ها به حالت قبلی و جلوگیری از باکس دوبل
   - عنوان/توضیح بلوک‌ها دیگر از استایل تگ استفاده نمی‌کنند
   - استایل شناور بدون کادر سخت برای section headingها
========================================================= */

/* 1) Nested bilingual chip root fix: outer wrapper must not create a second box. */
:is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) > span:has(> [data-trm-fa][data-trm-en]) {
  display: contents !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-width: 0 !important;
  min-height: 0 !important;
}

:is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) > span > [data-trm-fa][data-trm-en] {
  min-width: 0 !important;
  max-width: 100% !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  word-break: normal !important;
  box-sizing: border-box !important;
  text-decoration: none !important;
}

/* Product/detail chip rows should never overflow horizontally. */
:is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

:is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) span {
  max-width: 100% !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html.trm-lang-en :is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) {
  direction: ltr !important;
  text-align: left !important;
}

html.trm-lang-en :is(
  .trm-tags,
  .trm-team-tags,
  .trm-static-tags,
  .trm-detail-tags,
  .trm-vamino-hero-tags,
  .riz-ai-tags,
  .riz-mobile-tags,
  .riz-web-tags,
  .riz-api-tags,
  .riz-system-tags,
  .riz-game-tags,
  .riz-about-tags,
  .riz-contact-tags,
  .riz-ai-project-tags,
  .riz-mobile-project-tags,
  .riz-web-project-tags,
  .riz-api-project-tags,
  .riz-system-project-tags,
  .riz-game-project-tags,
  .riz-contact-member-skills
) span {
  direction: ltr !important;
  text-align: left !important;
}

/* 2) Home hero kicker: only one visual pill. Keep the original beautiful badge style. */
.trm-hero-kicker > span:has(> [data-trm-fa][data-trm-en]),
.trm-hero-kicker > small:has(> [data-trm-fa][data-trm-en]) {
  display: contents !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  min-height: 0 !important;
}

.trm-hero-kicker > span > [data-trm-fa][data-trm-en] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
  color: #ecfeff !important;
  background: rgba(4, 212, 190, .12) !important;
  border: 1px solid rgba(4, 212, 190, .28) !important;
  font-weight: 900 !important;
  box-shadow: none !important;
}

.trm-hero-kicker > small > [data-trm-fa][data-trm-en] {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-height: 36px !important;
  padding: 7px 14px !important;
  border-radius: 999px !important;
  font-size: 12.5px !important;
  line-height: 1.8 !important;
  color: var(--trm-soft) !important;
  background: rgba(15, 23, 42, .50) !important;
  border: 1px solid rgba(148, 163, 184, .16) !important;
  font-weight: 750 !important;
  box-shadow: none !important;
}

html.trm-theme-light .trm-hero-kicker > span > [data-trm-fa][data-trm-en] {
  color: #075985 !important;
  background: rgba(14, 165, 233, .10) !important;
  border-color: rgba(14, 165, 233, .22) !important;
}
html.trm-theme-light .trm-hero-kicker > small > [data-trm-fa][data-trm-en] {
  color: var(--trm-c-text) !important;
  background: var(--trm-c-chip) !important;
  border-color: var(--trm-c-border) !important;
}

@media (max-width: 1080px) {
  html.trm-lang-en .trm-home-product-style-hero .trm-hero-kicker,
  html.trm-lang-en .trm-home-block-page .trm-hero-kicker {
    justify-content: flex-start !important;
    text-align: left !important;
    direction: ltr !important;
  }
  html.trm-lang-en .trm-home-product-style-hero .trm-hero-kicker > :is(span, small) > [data-trm-fa][data-trm-en],
  html.trm-lang-en .trm-home-block-page .trm-hero-kicker > :is(span, small) > [data-trm-fa][data-trm-en] {
    justify-content: flex-start !important;
    text-align: left !important;
    direction: ltr !important;
  }
}

/* =========================================================
   TRM 8.9.93 - Section headings restored to previous UI
   عنوان و توضیح بلوک‌ها عمداً به استایل قبلی افزونه برگشتند.
   Only chip/duplicate-box safeguards from the previous patch remain.
========================================================= */

/* =========================================================
   v9.0.19 — corrected team-card visual direction
   هدف:
   - ۵ عضو تیم: ردیف اول ۳ کارت، ردیف دوم ۲ کارت وسط‌چین.
   - فارسی: جایگاه ۱ از سمت راست شروع شود.
   - انگلیسی: جایگاه ۱ از سمت چپ شروع شود.
   نکته مهم: زبان سایت با کلاس html.trm-lang-en / html.trm-lang-fa کنترل می‌شود؛
   بنابراین فقط به کلاس سروری trm-team-grid-fa/en تکیه نمی‌کنیم.
========================================================= */
.trm-team-grid {
  --trm-team-layout-gap: 18px;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--trm-team-layout-gap) !important;
  align-items: stretch !important;
  justify-content: center !important;
  grid-template-columns: none !important;
  grid-auto-flow: unset !important;
  direction: ltr !important;
  flex-direction: row !important;
}

.trm-team-grid > .trm-team-card {
  flex: 0 1 calc((100% - (var(--trm-team-layout-gap) * 2)) / 3) !important;
  max-width: calc((100% - (var(--trm-team-layout-gap) * 2)) / 3) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
}

/* فارسی: آیتم ۱ از راست شروع می‌شود، ولی متن داخل کارت فارسی/RTL می‌ماند. */
html:not(.trm-lang-en) body .trm-team-grid,
html.trm-lang-fa body .trm-team-grid,
body.trm-lang-fa .trm-team-grid,
.trm-team-grid-fa {
  direction: rtl !important;
  flex-direction: row !important;
}

html:not(.trm-lang-en) body .trm-team-grid > .trm-team-card,
html.trm-lang-fa body .trm-team-grid > .trm-team-card,
body.trm-lang-fa .trm-team-grid > .trm-team-card,
.trm-team-grid-fa > .trm-team-card {
  direction: rtl !important;
  text-align: right !important;
}

html:not(.trm-lang-en) body .trm-team-grid > .trm-team-card p,
html.trm-lang-fa body .trm-team-grid > .trm-team-card p,
body.trm-lang-fa .trm-team-grid > .trm-team-card p,
.trm-team-grid-fa > .trm-team-card p {
  text-align: right !important;
}

/* انگلیسی: آیتم ۱ از چپ شروع می‌شود، حتی اگر گرید ابتدا با کلاس FA رندر شده باشد. */
html.trm-lang-en body .trm-team-grid,
body.trm-lang-en .trm-team-grid,
.trm-team-grid-en {
  direction: ltr !important;
  flex-direction: row !important;
}

html.trm-lang-en body .trm-team-grid > .trm-team-card,
body.trm-lang-en .trm-team-grid > .trm-team-card,
.trm-team-grid-en > .trm-team-card {
  direction: ltr !important;
  text-align: left !important;
}

html.trm-lang-en body .trm-team-grid > .trm-team-card p,
body.trm-lang-en .trm-team-grid > .trm-team-card p,
.trm-team-grid-en > .trm-team-card p {
  text-align: left !important;
}

.trm-team-grid > .trm-team-card .trm-tags,
.trm-team-grid > .trm-team-card .trm-team-tags {
  justify-content: flex-start !important;
}

/* محافظت از گریدهای قدیمی صفحه تماس، اگر هنوز از HTML قدیمی استفاده شوند. */
body .riz-contact-page .riz-contact-member-grid,
body .riz-contact-page .riz-contact-team-grid {
  --trm-legacy-team-gap: 16px;
  display: flex !important;
  flex-wrap: wrap !important;
  gap: var(--trm-legacy-team-gap) !important;
  align-items: stretch !important;
  justify-content: center !important;
  grid-template-columns: none !important;
  grid-auto-flow: unset !important;
  direction: rtl !important;
  flex-direction: row !important;
}

body .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
  flex: 0 1 calc((100% - (var(--trm-legacy-team-gap) * 2)) / 3) !important;
  max-width: calc((100% - (var(--trm-legacy-team-gap) * 2)) / 3) !important;
  min-width: 0 !important;
  box-sizing: border-box !important;
  direction: rtl !important;
  text-align: right !important;
}

body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
  text-align: center !important;
}

html.trm-lang-en body .riz-contact-page .riz-contact-member-grid,
html.trm-lang-en body .riz-contact-page .riz-contact-team-grid,
body.trm-lang-en .riz-contact-page .riz-contact-member-grid,
body.trm-lang-en .riz-contact-page .riz-contact-team-grid {
  direction: ltr !important;
  flex-direction: row !important;
}

html.trm-lang-en body .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
html.trm-lang-en body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card,
body.trm-lang-en .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
body.trm-lang-en .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
  direction: ltr !important;
  text-align: left !important;
}

html.trm-lang-en body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card,
body.trm-lang-en .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
  text-align: center !important;
}

@media (max-width: 1080px) {
  .trm-team-grid > .trm-team-card,
  body .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
  body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
    flex-basis: calc((100% - var(--trm-team-layout-gap, 18px)) / 2) !important;
    max-width: calc((100% - var(--trm-team-layout-gap, 18px)) / 2) !important;
  }

  body .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
  body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
    flex-basis: calc((100% - var(--trm-legacy-team-gap, 16px)) / 2) !important;
    max-width: calc((100% - var(--trm-legacy-team-gap, 16px)) / 2) !important;
  }
}

@media (max-width: 640px) {
  .trm-team-grid > .trm-team-card,
  body .riz-contact-page .riz-contact-member-grid > .riz-contact-member-card,
  body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
    flex-basis: 100% !important;
    max-width: 100% !important;
  }
}



/* =========================================================
   v9.0.21 hard override — requested visual order
   Persian/RTL: order 1 starts from the right. English/LTR: order 1 starts from the left.
========================================================= */
html:not(.trm-lang-en) body .trm-team-grid,
html.trm-lang-fa body .trm-team-grid,
body.trm-lang-fa .trm-team-grid,
.trm-team-grid-fa {
  direction: rtl !important;
  flex-direction: row !important;
}

html.trm-lang-en body .trm-team-grid,
body.trm-lang-en .trm-team-grid,
.trm-team-grid-en {
  direction: ltr !important;
  flex-direction: row !important;
}

html:not(.trm-lang-en) body :is(.riz-contact-member-grid, .riz-contact-team-grid),
html.trm-lang-fa body :is(.riz-contact-member-grid, .riz-contact-team-grid),
body.trm-lang-fa :is(.riz-contact-member-grid, .riz-contact-team-grid) {
  direction: rtl !important;
  flex-direction: row !important;
}

html.trm-lang-en body :is(.riz-contact-member-grid, .riz-contact-team-grid),
body.trm-lang-en :is(.riz-contact-member-grid, .riz-contact-team-grid) {
  direction: ltr !important;
  flex-direction: row !important;
}


/* =========================================================
   v9.0.21 contact page grid correction
   - Contact intro UX/DEV/AI/GROW must be 4 cards in one row on desktop.
   - Contact social/messenger block must be 6 icons in one row on desktop.
   - Keep real team member cards separate from the intro feature cards.
========================================================= */
body .riz-contact-page .riz-contact-team-grid {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  justify-content: initial !important;
  direction: rtl !important;
  flex-direction: initial !important;
  grid-auto-flow: row !important;
}

body .riz-contact-page .riz-contact-team-grid > .riz-contact-team-card {
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  flex: initial !important;
  flex-basis: auto !important;
  box-sizing: border-box !important;
  text-align: center !important;
}

html.trm-lang-en body .riz-contact-page .riz-contact-team-grid,
body.trm-lang-en .riz-contact-page .riz-contact-team-grid {
  direction: ltr !important;
}

body .riz-contact-page .riz-contact-actions,
body .riz-contact-page .trm-contact-social-grid-7,
.trm-contact-social-section .trm-contact-social-grid-7 {
  display: grid !important;
  grid-template-columns: repeat(7, minmax(0, 1fr)) !important;
  gap: 14px !important;
  align-items: stretch !important;
  margin-top: 26px !important;
}

body .riz-contact-page .riz-contact-action {
  min-height: 150px !important;
  padding: 18px 10px !important;
}

body .riz-contact-page .riz-contact-action-icon,
.trm-contact-social-section .trm-contact-social-icon {
  width: 58px !important;
  height: 58px !important;
  border-radius: 18px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
}

body .riz-contact-page .riz-contact-action-icon img,
.trm-contact-social-section .trm-contact-social-icon img {
  width: 36px !important;
  height: 36px !important;
  object-fit: contain !important;
  display: block !important;
}

body .riz-contact-page .riz-contact-action-fallback,
.trm-contact-social-section .trm-contact-social-fallback {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 36px !important;
  height: 36px !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
  color: #ffffff !important;
}

.trm-contact-social-section .trm-contact-social-link {
  min-height: 150px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  gap: 10px !important;
}

@media (max-width: 1100px) {
  body .riz-contact-page .riz-contact-actions,
  body .riz-contact-page .trm-contact-social-grid-7,
  .trm-contact-social-section .trm-contact-social-grid-7 {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 920px) {
  body .riz-contact-page .riz-contact-team-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 640px) {
  body .riz-contact-page .riz-contact-team-grid,
  body .riz-contact-page .riz-contact-actions,
  body .riz-contact-page .trm-contact-social-grid-7,
  .trm-contact-social-section .trm-contact-social-grid-7 {
    grid-template-columns: 1fr !important;
  }
}
