/* Final surface mapping for the full NetPardaz V2 rollout. */
.np-v2-skin .site-main { min-width: 0; }

.np-v2-skin .np-v2-header__inner {
  min-height: 76px;
  justify-content: space-between;
}

.np-v2-skin .np-v2-primary-nav { justify-content: center; }
.np-v2-skin .np-v2-primary-menu a { font-weight: 500; }
.np-v2-skin .np-v2-header__actions :where(a, button) { white-space: nowrap; }
.np-v2-skin .np-v2-account-link {
	box-sizing: border-box;
	height: 42px;
	min-height: 42px;
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 7px 10px;
	border: 1px solid transparent;
	border-radius: 6px;
	color: var(--np-ink);
	background: transparent;
	text-decoration: none;
	font: inherit;
	/* main.min.css (تم والد) روی .btn مقدار 900!important می‌گذارد */
	font-weight: 500 !important;
	cursor: pointer;
	transition: color var(--np-duration), background var(--np-duration), border-color var(--np-duration);
}
.np-v2-skin .np-v2-account-link svg { width: 18px; min-width: 18px; height: 18px; flex: 0 0 18px; color: var(--np-primary); transition: color var(--np-duration); }
.np-v2-skin .np-v2-account-link:hover {
	color: var(--np-primary-strong);
	background: var(--np-primary-soft);
	border-color: rgb(0 112 99 / 12%);
	box-shadow: none;
	transform: none;
}
.np-v2-skin .np-v2-account-link:hover svg { color: var(--np-primary); transform: none; }
.np-v2-skin .np-v2-account-link:focus-visible { outline: 3px solid rgb(0 112 99 / 18%); outline-offset: 3px; }
.np-v2-skin .np-v2-search-link svg { width: 19px; height: 19px; }

.np-v2-skin .np-menu-toggle {
  display: none !important;
  width: auto;
  min-height: 42px;
  padding: 8px 12px;
  gap: 7px;
  place-items: center;
  grid-template-columns: auto auto;
  color: var(--np-primary-strong);
  border: 1px solid var(--np-line);
  border-radius: 6px;
  background: #fff;
  font: inherit;
  font-weight: 500;
  cursor: pointer;
}
.np-v2-skin .np-menu-toggle svg { width: 18px; height: 18px; }

.np-v2-skin .np-v2-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding-bottom: 18px;
  border-bottom: 1px solid var(--np-line);
}
.np-v2-skin .np-v2-drawer__brand img { width: 132px; height: 48px; object-fit: contain; }
.np-v2-skin .np-v2-drawer__head button {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--np-line);
  border-radius: 6px;
  color: var(--np-primary);
  background: #fff;
  cursor: pointer;
}
.np-v2-skin .np-v2-drawer__search { display: grid; gap: 8px; margin: 24px 0; }
.np-v2-skin .np-v2-drawer__search label { color: var(--np-muted); font-size: 12px; font-weight: 500; }
.np-v2-skin .np-v2-drawer__search > div { display: grid; grid-template-columns: minmax(0, 1fr) 112px; gap: 8px; }
.np-v2-skin .np-v2-drawer__search input {
  width: 100%;
  min-width: 0;
  height: 52px;
  padding: 0 14px;
  border: 1px solid var(--np-line);
  border-radius: 7px;
  color: var(--np-ink);
  background: #fff;
  font: inherit;
}
.np-v2-skin .np-v2-drawer__search input::placeholder { color: var(--np-muted); opacity: .78; }
.np-v2-skin .np-v2-drawer__search button {
  min-width: 0;
  min-height: 52px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 0 14px;
  border: 0;
  border-radius: 7px;
  color: #fff;
  background: var(--np-primary);
  font: inherit;
  font-weight: 700;
  white-space: nowrap;
  cursor: pointer;
}
.np-v2-skin .np-v2-drawer__search button svg { width: 17px; height: 17px; }
.np-v2-skin .np-v2-drawer__nav { display: grid; gap: 5px; }
.np-v2-skin .np-v2-drawer__nav a {
  display: grid;
  grid-template-columns: 36px 1fr auto;
  align-items: center;
  gap: 10px;
  min-height: 54px;
  padding: 8px 10px;
  border: 1px solid transparent;
  border-radius: 6px;
  color: var(--np-ink);
  text-decoration: none;
  font-weight: 500;
}
.np-v2-skin .np-v2-drawer__nav a::after { content: "←"; color: var(--np-muted); }
.np-v2-skin .np-v2-drawer__nav a:hover { border-color: rgba(0, 112, 99, .18); background: var(--np-primary-soft); }
.np-v2-skin .np-v2-drawer__nav svg { width: 19px; color: var(--np-primary); }
.np-v2-skin .np-v2-drawer__actions { display: grid; gap: 8px; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--np-line); }

.np-v2-skin .np-v2-mega__grid { grid-template-columns: minmax(210px, .75fr) minmax(0, 1.5fr) minmax(220px, .7fr); }
.np-v2-skin .np-v2-mega__intro {
  position: relative;
  overflow: hidden;
  min-height: 330px;
  display: flex;
  flex-direction: column;
  padding: 22px;
  border-radius: 8px;
  color: #effaf7;
  background: linear-gradient(145deg, var(--np-primary), #00907e);
}
.np-v2-skin .np-v2-mega__intro::before {
  content: "";
  position: absolute;
  top: -86px;
  left: -70px;
  width: 210px;
  aspect-ratio: 1;
  border: 1px solid rgba(87, 221, 189, .17);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(87, 221, 189, .035), 0 0 0 68px rgba(87, 221, 189, .025);
}
.np-v2-skin .np-v2-mega__intro > * { position: relative; }
.np-v2-skin .np-v2-mega__intro > span { color: #75b4a5; font: 700 9px Arial, sans-serif; letter-spacing: .13em; }
.np-v2-skin .np-v2-mega__intro > div { margin-block: auto; }
.np-v2-skin .np-v2-mega__intro h2 { margin: 0 0 10px; color: #fff; font-size: 24px; line-height: 1.3; }
.np-v2-skin .np-v2-mega__intro p { margin: 0; color: #a8c7bf; font-size: 11px; }
.np-v2-skin .np-v2-mega__intro > a { display: flex; align-items: center; justify-content: space-between; color: #75f3d9; text-decoration: none; font-size: 12px; font-weight: 500; }

/* Home */
.np-v2-skin .npv2-hero h1 span { display: block; color: var(--npv2-primary); }
.np-v2-skin .npv2-hero-visual::before {
  content: "";
  position: absolute;
  width: 90%;
  aspect-ratio: 1;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(0, 123, 110, .18), rgba(0, 123, 110, .025) 54%, transparent 70%);
}
.np-v2-skin .npv2-hero-visual img { width: 100%; max-height: 470px; mix-blend-mode: multiply; filter: none; }
.np-v2-skin .npv2-hero-label { display: grid; gap: 2px; }
.np-v2-skin .npv2-hero-label span { color: var(--npv2-primary); font: 800 9px Arial, sans-serif; letter-spacing: .12em; }
.np-v2-skin .npv2-hero-label strong { font: 700 11px Arial, sans-serif; }
.np-v2-skin .npv2-text-link { align-self: center; }
.np-v2-skin .npv2-categories {
  padding-top: clamp(34px, 3.2vw, 52px);
  padding-bottom: clamp(68px, 6vw, 92px);
}
.np-v2-skin .npv2-categories .npv2-section-head {
  align-items: center;
  gap: 32px;
  margin-bottom: 28px;
}
.np-v2-skin .npv2-categories .npv2-section-head h2 {
  margin: 0;
  color: var(--npv2-primary);
  font-size: clamp(30px, 3vw, 44px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.018em;
  white-space: nowrap;
  text-wrap: nowrap;
}
.np-v2-skin .npv2-categories .npv2-section-head > a {
  padding: 7px 0;
  border-bottom: 1px solid color-mix(in srgb, var(--npv2-primary) 28%, transparent);
  font-size: 13px;
  font-weight: 500;
}
.np-v2-skin .npv2-category-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 14px;
}
.np-v2-skin .npv2-category-card {
  min-height: 248px;
  padding: 21px 22px 19px;
  display: grid;
  grid-template-rows: auto 1fr auto;
  align-content: start;
  border-radius: 11px;
  background: linear-gradient(145deg, #fff 0%, #f5faf8 100%);
}
.np-v2-skin .npv2-category-card--advisor {
  background: linear-gradient(145deg, #fff 0%, #eaf7f3 100%);
}
.np-v2-skin .npv2-category-index {
  font-size: 10px;
  font-weight: 700;
  line-height: 1.45;
  letter-spacing: .01em;
}
.np-v2-skin .npv2-category-card > svg {
  width: 40px;
  height: 40px;
  margin: 0 0 13px;
  color: var(--npv2-primary);
  stroke-width: 1.45;
}
.np-v2-skin .npv2-category-card h3 {
  margin: 0 0 6px;
  overflow: hidden;
  color: var(--npv2-primary);
  font-size: clamp(17px, 1.35vw, 20px);
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: -.01em;
  white-space: nowrap;
  text-overflow: ellipsis;
  text-wrap: nowrap;
}
.np-v2-skin .npv2-category-card p {
  margin: 0;
  color: var(--npv2-muted);
  font-size: 13px;
  line-height: 1.75;
}
.np-v2-skin .npv2-category-card small {
  align-self: end;
  margin-top: 14px;
  font-size: 11px;
  font-weight: 500;
}
.np-v2-skin .npv2-category-card--data-center-tour,
.np-v2-skin .npv2-category-card--data-center-tour .npv2-category-index,
.np-v2-skin .npv2-category-card--data-center-tour h3,
.np-v2-skin .npv2-category-card--data-center-tour p,
.np-v2-skin .npv2-category-card--data-center-tour small {
  font-family: inherit;
  font-weight: 400;
}

@media (max-width: 1000px) {
  .np-v2-skin .npv2-category-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
  .np-v2-skin .npv2-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-v2-skin .npv2-category-card--data-center-tour { order: 99; }
  .np-v2-skin .npv2-categories .npv2-section-head { gap: 14px; margin-bottom: 22px; }
  .np-v2-skin .npv2-categories .npv2-section-head h2 { font-size: 30px; }
  .np-v2-skin .npv2-category-card { min-height: 220px; padding: 20px; }
  .np-v2-skin .npv2-category-card > svg { margin-block: 16px 11px; }
  .np-v2-skin .npv2-category-card h3 { font-size: 19px; }
}

.np-v2-skin .npv2-solutions { background: #fff; }
.np-v2-skin .npv2-solutions .npv2-section-head p,
.np-v2-skin .npv2-procurement-flow .npv2-section-head p { max-width: 720px; margin: 8px 0 0; color: var(--npv2-muted); font-size: 14px; }
.np-v2-skin .npv2-solution-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.np-v2-skin .npv2-solution-grid > a { min-height: 320px; padding: 20px; display: flex; flex-direction: column; color: var(--npv2-ink); background: linear-gradient(155deg, #fff, #f5faf8); border: 1px solid var(--npv2-line); border-radius: 10px; text-decoration: none; transition: transform .22s ease, border-color .22s ease, box-shadow .22s ease; }
.np-v2-skin .npv2-solution-grid > a:hover { transform: translateY(-4px); border-color: rgba(0, 112, 99, .32); box-shadow: var(--npv2-shadow); }
.np-v2-skin .npv2-solution-grid > a > span { color: var(--npv2-green); font: 800 9px/1.4 ui-monospace, monospace; letter-spacing: .1em; }
.np-v2-skin .npv2-solution-grid svg { width: 48px; height: 48px; margin: 46px 0 24px; color: var(--npv2-green); stroke-width: 1.35; }
.np-v2-skin .npv2-solution-grid h3 { margin: 0 0 8px; font-size: 22px; }
.np-v2-skin .npv2-solution-grid p { margin: 0; color: var(--npv2-muted); font-size: 13px; line-height: 1.8; }
.np-v2-skin .npv2-solution-grid b { margin-top: auto; padding-top: 20px; color: var(--npv2-green); font-size: 12px; }

.np-v2-skin .npv2-procurement-flow { overflow: hidden; background: #eef5f3; }
.np-v2-skin .npv2-flow-grid { position: relative; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; list-style: none; }
.np-v2-skin .npv2-flow-grid::before { content: ""; position: absolute; top: 55px; right: 11%; left: 11%; height: 1px; background: linear-gradient(90deg, transparent, rgba(0, 112, 99, .28), transparent); }
.np-v2-skin .npv2-flow-grid li { position: relative; min-height: 240px; padding: 18px; background: rgba(255, 255, 255, .78); border: 1px solid var(--npv2-line); border-radius: 9px; }
.np-v2-skin .npv2-flow-grid li > span { display: block; color: var(--npv2-green); font: 800 10px/1.4 ui-monospace, monospace; }
.np-v2-skin .npv2-flow-grid svg { width: 38px; height: 38px; margin: 28px 0 18px; color: var(--npv2-green); }
.np-v2-skin .npv2-flow-grid h3 { margin: 0 0 8px; font-size: 18px; }
.np-v2-skin .npv2-flow-grid p { margin: 0; color: var(--npv2-muted); font-size: 12px; line-height: 1.8; }

.np-v2-skin .npv2-security-showcase {
  overflow: hidden;
  color: #fff;
  background:
    linear-gradient(rgba(255, 255, 255, .09) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, .09) 1px, transparent 1px),
    radial-gradient(circle at 72% 34%, rgba(121, 255, 224, .24), transparent 31%),
    linear-gradient(145deg, var(--np-primary), #00907e);
  background-size: 48px 48px, 48px 48px, 100% 100%, 100% 100%;
}
.np-v2-skin .npv2-security-grid { display: grid; grid-template-columns: .84fr 1.16fr; gap: clamp(34px, 7vw, 100px); align-items: center; }
.np-v2-skin .npv2-security-copy h2 { margin: 18px 0; color: #fff; font-size: clamp(38px, 5.2vw, 76px); line-height: 1.04; }
.np-v2-skin .npv2-security-copy > p { color: rgba(255, 255, 255, .76); font-size: 16px; }
.np-v2-skin .npv2-security-proof { display: grid; grid-template-columns: repeat(3, 1fr); margin-top: 32px; border-top: 1px solid rgba(87, 221, 189, .14); }
.np-v2-skin .npv2-security-proof span { padding: 16px 10px; border-left: 1px solid rgba(87, 221, 189, .14); }
.np-v2-skin .npv2-security-proof span:last-child { border-left: 0; }
.np-v2-skin .npv2-security-proof b,
.np-v2-skin .npv2-security-proof small { display: block; }
.np-v2-skin .npv2-security-proof b { color: #70e8cb; font: 700 13px Arial, sans-serif; }
.np-v2-skin .npv2-security-proof small { margin-top: 4px; color: #718b84; font-size: 10px; }
.np-v2-skin .npv2-security-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.np-v2-skin .npv2-security-cards > a {
  min-height: 390px;
  display: flex;
  flex-direction: column;
  padding: 24px;
  border: 1px solid rgba(87, 221, 189, .17);
  border-radius: 9px;
  color: #eef8f5;
  background: rgba(0, 112, 99, .92);
  text-decoration: none;
  transition: transform .25s ease, border-color .25s ease;
}
.np-v2-skin .npv2-security-cards > a:hover { transform: translateY(-5px); border-color: rgba(87, 221, 189, .42); }
.np-v2-skin .npv2-security-cards span { color: #63867d; font: 700 9px Arial, sans-serif; letter-spacing: .12em; }
.np-v2-skin .npv2-security-cards svg { width: 58px; height: 58px; margin: 58px 0 24px; color: #61e5c5; stroke-width: 1.2; }
.np-v2-skin .npv2-security-cards h3 { color: #fff; font-size: 27px; line-height: 1.25; }
.np-v2-skin .npv2-security-cards p { color: #8da49e; }
.np-v2-skin .npv2-security-cards b { margin-top: auto; color: #75f3d9; font-size: 12px; }

.np-v2-skin .npv2-editorial-grid .npv2-story:nth-child(n+5) { display: none; }
.np-v2-skin .npv2-contact-routes { color: #fff; background: linear-gradient(145deg, var(--np-primary), #00907e); }
.np-v2-skin .npv2-contact-shell { display: grid; grid-template-columns: minmax(280px, .82fr) minmax(0, 1.18fr); gap: clamp(28px, 6vw, 80px); align-items: center; }
.np-v2-skin .npv2-contact-intro h2 { margin: 18px 0; color: #fff; font-size: clamp(38px, 5vw, 68px); line-height: 1.08; }
.np-v2-skin .npv2-contact-intro > p { color: rgba(255, 255, 255, .78); line-height: 1.9; }
.np-v2-skin .npv2-contact-intro > div { margin-top: 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-top: 1px solid rgba(112, 232, 203, .15); }
.np-v2-skin .npv2-contact-intro > div a { padding: 16px 8px; display: grid; gap: 4px; color: #eaf6f2; text-decoration: none; border-inline-end: 1px solid rgba(112, 232, 203, .15); }
.np-v2-skin .npv2-contact-intro > div a:last-child { border-inline-end: 0; }
.np-v2-skin .npv2-contact-intro small { color: rgba(255, 255, 255, .66); font: 700 9px/1.4 ui-monospace, monospace; }
.np-v2-skin .npv2-contact-intro b { color: #fff; font-size: 13px; }
.np-v2-skin .npv2-contact-options { display: grid; gap: 9px; }
.np-v2-skin .npv2-contact-options > a { min-height: 128px; padding: 16px; display: grid; grid-template-columns: 40px 54px minmax(0, 1fr) auto; align-items: center; gap: 14px; color: #edf8f4; background: rgba(255, 255, 255, .035); border: 1px solid rgba(112, 232, 203, .14); border-radius: 8px; text-decoration: none; }
.np-v2-skin .npv2-contact-options > a:hover { background: rgba(112, 232, 203, .07); border-color: rgba(112, 232, 203, .35); }
.np-v2-skin .npv2-contact-options > a > span { color: rgba(255, 255, 255, .58); font: 700 8px/1.4 ui-monospace, monospace; writing-mode: vertical-rl; }
.np-v2-skin .npv2-contact-options svg { width: 42px; height: 42px; color: #d2fff5; stroke-width: 1.3; }
.np-v2-skin .npv2-contact-options h3 { margin: 0 0 5px; color: #fff; font-size: 20px; }
.np-v2-skin .npv2-contact-options p { margin: 0; color: rgba(255, 255, 255, .72); font-size: 12px; }
.np-v2-skin .npv2-contact-options > a > b { color: #fff; font-size: 11px; }
.np-v2-skin .npv2-faq > .container > div:first-child p { color: var(--npv2-muted); }
.np-v2-skin .npv2-cta-card .npv2-button-ghost { color: #fff; border-color: rgba(255, 255, 255, .28); background: transparent; }

/* Shared white-glass treatment for large green surfaces. */
.np-v2-skin .npv2-light-glass {
  --npv2-glass-bg: rgba(255, 255, 255, .9);
  --npv2-glass-line: rgba(0, 112, 99, .14);
  --npv2-glass-shadow: 0 24px 70px rgba(12, 43, 46, .09);
  color: var(--npv2-ink);
}

.np-v2-skin .np-v2-mega__intro.npv2-light-glass {
  color: var(--npv2-ink);
  background: linear-gradient(145deg, rgba(255, 255, 255, .98), rgba(238, 247, 244, .9));
  border: 1px solid var(--npv2-glass-line);
  box-shadow: 0 16px 42px rgba(12, 43, 46, .08);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.np-v2-skin .np-v2-mega__intro.npv2-light-glass::before {
  border-color: rgba(0, 112, 99, .13);
  box-shadow: 0 0 0 34px rgba(0, 112, 99, .035), 0 0 0 68px rgba(0, 112, 99, .022);
}
.np-v2-skin .np-v2-mega__intro.npv2-light-glass > span { color: var(--npv2-primary); }
.np-v2-skin .np-v2-mega__intro.npv2-light-glass h2 { color: var(--npv2-ink); }
.np-v2-skin .np-v2-mega__intro.npv2-light-glass p { color: var(--npv2-muted); }
.np-v2-skin .np-v2-mega__intro.npv2-light-glass > a { color: var(--npv2-primary); }

.np-v2-skin .npv2-security-showcase.npv2-light-glass {
  color: var(--npv2-ink);
  background:
    linear-gradient(rgba(0, 112, 99, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 112, 99, .045) 1px, transparent 1px),
    radial-gradient(circle at 72% 34%, rgba(0, 112, 99, .13), transparent 33%),
    linear-gradient(145deg, #f0f8f5, #fff 62%, #f5faf8);
  background-size: 48px 48px, 48px 48px, 100% 100%, 100% 100%;
}
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-copy h2 { color: var(--npv2-ink); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-copy > p { color: var(--npv2-muted); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-proof { border-color: var(--npv2-glass-line); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-proof span { border-color: var(--npv2-glass-line); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-proof b { color: var(--npv2-primary); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-proof small { color: var(--npv2-muted); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards > a {
  color: var(--npv2-ink);
  background: var(--npv2-glass-bg);
  border-color: var(--npv2-glass-line);
  box-shadow: var(--npv2-glass-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards > a:hover { background: #fff; border-color: rgba(0, 112, 99, .34); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards span { color: rgba(0, 112, 99, .72); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards svg { color: var(--npv2-primary); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards h3 { color: var(--npv2-ink); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards p { color: var(--npv2-muted); }
.np-v2-skin .npv2-security-showcase.npv2-light-glass .npv2-security-cards b { color: var(--npv2-primary); }

.np-v2-skin .npv2-contact-routes.npv2-light-glass {
  color: var(--npv2-ink);
  background: linear-gradient(145deg, #f2f8f6, #fff 60%, #f5faf8);
}
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro h2 { color: var(--npv2-ink); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro > p { color: var(--npv2-muted); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro > div { border-color: var(--npv2-glass-line); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro > div a { color: var(--npv2-ink); border-color: var(--npv2-glass-line); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro small { color: var(--npv2-muted); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-intro b { color: var(--npv2-primary); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options > a {
  color: var(--npv2-ink);
  background: var(--npv2-glass-bg);
  border-color: var(--npv2-glass-line);
  box-shadow: 0 14px 38px rgba(12, 43, 46, .065);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options > a:hover { background: #fff; border-color: rgba(0, 112, 99, .34); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options > a > span { color: rgba(0, 112, 99, .64); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options svg { color: var(--npv2-primary); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options h3 { color: var(--npv2-ink); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options p { color: var(--npv2-muted); }
.np-v2-skin .npv2-contact-routes.npv2-light-glass .npv2-contact-options > a > b { color: var(--npv2-primary); }

.np-v2-skin .npv2-cta-card.npv2-light-glass {
  color: var(--npv2-ink);
  background: var(--npv2-glass-bg);
  border: 1px solid var(--npv2-glass-line);
  box-shadow: var(--npv2-glass-shadow);
  -webkit-backdrop-filter: blur(18px);
  backdrop-filter: blur(18px);
}
.np-v2-skin .npv2-cta-card.npv2-light-glass .npv2-kicker { color: var(--npv2-primary); }
.np-v2-skin .npv2-cta-card.npv2-light-glass h2 { color: var(--npv2-ink); }
.np-v2-skin .npv2-cta-card.npv2-light-glass p { color: var(--npv2-muted); }
.np-v2-skin .npv2-cta-card.npv2-light-glass .npv2-button-light { color: #fff; background: var(--npv2-primary); }
.np-v2-skin .npv2-cta-card.npv2-light-glass .npv2-button-ghost { color: var(--npv2-ink); background: var(--npv2-paper, #f4f8f7); border-color: var(--npv2-line); }
.np-v2-skin .npv2-cta-card.npv2-light-glass .npv2-button-ghost:hover { background: var(--npv2-primary-soft); border-color: rgba(0, 112, 99, .25); }

.np-v2-skin .npv2-shop-support.npv2-light-glass {
  color: var(--npv2-ink);
  background: linear-gradient(145deg, #f1f8f5, #fff 64%, #f5faf8);
  border-block: 1px solid var(--npv2-glass-line);
}
.np-v2-skin .npv2-shop-support.npv2-light-glass h2 { color: var(--npv2-ink); }
.np-v2-skin .npv2-shop-support.npv2-light-glass p { color: var(--npv2-muted); }
.np-v2-skin .npv2-shop-support.npv2-light-glass li { background: var(--npv2-glass-bg); border-color: var(--npv2-glass-line); box-shadow: 0 12px 32px rgba(12, 43, 46, .06); }
.np-v2-skin .npv2-shop-support.npv2-light-glass li svg { color: var(--npv2-primary); }
.np-v2-skin .npv2-shop-support.npv2-light-glass li b { color: var(--npv2-ink); }
.np-v2-skin .npv2-shop-support.npv2-light-glass li small { color: var(--npv2-muted); }

/* Parent page templates mapped onto V2 tokens without changing business logic. */
.np-v2-skin :is(.np-page-hero, .np-archive-hero, .page-hero) { padding: clamp(64px, 8vw, 112px) 0 28px; background: radial-gradient(circle at 15% 0, rgba(0, 112, 99, .15), transparent 34%), #edf5f3; }
.np-v2-skin :is(.np-page-hero-card, .np-archive-hero-card) {
  min-height: 300px;
  padding: clamp(28px, 5vw, 58px);
  overflow: hidden;
  border: 1px solid var(--np-line);
  border-radius: 12px;
  background: rgba(255, 255, 255, .94);
  box-shadow: var(--np-shadow-sm);
}
.np-v2-skin :is(.np-page-hero-card, .np-archive-hero-card) h1 { margin: 14px 0; color: var(--np-ink); font-size: clamp(40px, 6vw, 78px); line-height: 1.06; font-weight: 500; }
.np-v2-skin .np-page-kicker { color: var(--np-primary); background: transparent; border: 0; border-radius: 0; font: 800 11px Arial, sans-serif; letter-spacing: .1em; }
.np-v2-skin .np-page-content,
.np-v2-skin .page-content,
.np-v2-skin .woocommerce-wrap {
  padding: clamp(24px, 5vw, 60px);
  border: 1px solid var(--np-line);
  border-radius: 11px;
  background: #fff;
  box-shadow: var(--np-shadow-sm);
}
.np-v2-skin .np-page-content :is(h2, h3, h4) { color: var(--np-ink) !important; font-weight: 500; }
.np-v2-skin .np-page-content p { color: var(--np-muted); line-height: 2; }
.np-v2-skin .np-page-content :is(img, iframe, video) { max-width: 100%; border-radius: 8px; }
.np-v2-skin .np-page-content :is(table, .wp-block-table) { max-width: 100%; overflow-x: auto; }
.np-v2-skin .np-page-content table { width: 100%; border-collapse: collapse; }
.np-v2-skin .np-page-content :is(th, td) { padding: 12px; border: 1px solid var(--np-line); }

/* One form system for contact, sales, consultation, inquiry, HR and support. */
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper {
  width: 100%;
  max-width: min(820px, 100%);
  margin-inline: auto;
  color: var(--np-ink);
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_fields {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  align-items: start !important;
  gap: 18px 16px !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gfield {
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  align-self: start !important;
  grid-column: auto !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gfield:is(.gfield--type-textarea, .gfield--type-fileupload, .gfield--type-checkbox, .gfield--type-radio, .gfield--type-consent, .gfield--type-section, .gfield--width-full) {
  grid-column: 1 / -1 !important;
}
/* Keep the final unpaired control of each active public form on a complete row. */
.np-v2-skin :is(#gform_wrapper_4, #gform_wrapper_7, #gform_wrapper_8) .gfield[id$="_5"],
.np-v2-skin #gform_wrapper_10 .gfield[id$="_6"],
.np-v2-skin #gform_wrapper_6 .gfield[id$="_7"] {
  grid-column: 1 / -1 !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) :is(.gfield_label, legend.gfield_label) {
  min-height: 27px;
  margin: 0 0 8px !important;
  padding: 0 !important;
  display: flex !important;
  align-items: center;
  flex-wrap: wrap;
  gap: 5px;
  color: var(--np-ink) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gfield_required_text {
  color: transparent;
  font-size: 0;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gfield_required_text::after {
  content: "الزامی";
  padding: 3px 7px;
  display: inline-flex;
  color: #9d2d24;
  background: #fff1ef;
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  line-height: 1.2;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper :is(input:not([type="submit"]):not([type="button"]):not([type="checkbox"]):not([type="radio"]):not([type="file"]):not([type="hidden"]), select, textarea) {
  width: 100% !important;
  max-width: 100% !important;
  min-height: 52px !important;
  padding: 12px 14px !important;
  color: var(--np-ink) !important;
  background: #fff !important;
  border: 1px solid var(--np-line) !important;
  border-radius: 6px !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: 15px !important;
  font-weight: 300 !important;
  line-height: 1.6 !important;
  outline: none !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper textarea {
  min-height: 130px !important;
  height: 130px !important;
  resize: vertical;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper :is(input, select, textarea):focus {
  border-color: var(--np-primary) !important;
  box-shadow: 0 0 0 4px rgba(0, 112, 99, .09) !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) :is(.gfield_description, .gform_fileupload_rules) {
  margin-top: 7px !important;
  padding: 0 !important;
  color: var(--np-muted) !important;
  font-size: 12px !important;
  font-weight: 300 !important;
  line-height: 1.7 !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) input[type="file"] {
  width: 100% !important;
  min-height: 64px;
  padding: 9px !important;
  color: var(--np-muted);
  background: #f8fbfa !important;
  border: 1px dashed rgba(0, 112, 99, .3) !important;
  border-radius: 6px !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) input[type="file"]::file-selector-button {
  min-height: 42px;
  margin-inline-end: 10px;
  padding: 8px 14px;
  color: var(--np-primary-strong);
  background: #e7f5f2;
  border: 0;
  border-radius: 6px;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.4;
  cursor: pointer;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) :is(.gfield_checkbox, .gfield_radio) {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gchoice {
  min-width: 0;
  min-height: 52px;
  margin: 0 !important;
  padding: 11px 13px !important;
  display: flex !important;
  align-items: center;
  gap: 10px;
  color: var(--np-ink);
  background: #f8fbfa !important;
  border: 1px solid var(--np-line) !important;
  border-radius: 6px !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gchoice:has(input:checked) {
  color: var(--np-primary-strong);
  background: #edf8f5 !important;
  border-color: var(--np-primary) !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gchoice :is(input[type="checkbox"], input[type="radio"]) {
  flex: 0 0 auto;
  width: 20px;
  height: 20px;
  margin: 0;
  accent-color: var(--np-primary);
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gchoice label {
  margin: 0 !important;
  color: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  line-height: 1.6 !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) :is(.validation_message, .gfield_validation_message) {
  margin-top: 7px !important;
  padding: 9px 11px !important;
  color: #9d2d24 !important;
  background: #fff5f3;
  border: 0 !important;
  border-radius: 6px;
  font-size: 12px !important;
  line-height: 1.7 !important;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_footer {
  margin-top: 18px !important;
  padding-top: 16px !important;
  display: flex !important;
  justify-content: stretch !important;
  border-top: 1px solid var(--np-line);
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper :is(.gform_button, button[type="submit"], input[type="submit"]) {
  width: 100% !important;
  min-height: 54px !important;
  margin: 0 !important;
  padding: 12px 22px !important;
  color: #fff !important;
  background: var(--np-primary) !important;
  border: 0 !important;
  border-radius: 7px !important;
  box-shadow: 0 14px 30px rgba(0, 112, 99, .16) !important;
  font-family: inherit !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  cursor: pointer;
}
.np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper :is(.gform_button, button[type="submit"], input[type="submit"]):hover {
  background: var(--np-primary-strong) !important;
}

/* Consultant form: compact project brief instead of a wide, half-empty card. */
.np-v2-skin .np-page-shell-consultant .np-page-content {
  padding: 0;
  overflow: hidden;
  border-radius: 13px;
}
.np-v2-skin .np-consult-form-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, .55fr);
  grid-template-areas: "form intro";
  min-height: 610px;
  direction: ltr;
}
.np-v2-skin .np-consult-form-intro {
  position: relative;
  grid-area: intro;
  min-width: 0;
  padding: clamp(28px, 4vw, 46px);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  direction: rtl;
  color: #fff;
  background: linear-gradient(155deg, var(--np-primary) 0%, #008979 62%, #00a18d 100%);
}
.np-v2-skin .np-consult-form-intro::before {
  content: "";
  position: absolute;
  top: -96px;
  left: -82px;
  width: 290px;
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, .16);
  border-radius: 50%;
  box-shadow: 0 0 0 46px rgba(255, 255, 255, .055), 0 0 0 92px rgba(255, 255, 255, .025);
}
.np-v2-skin .np-consult-form-intro > * { position: relative; }
.np-v2-skin .np-consult-form-intro > span,
.np-v2-skin .np-consult-form-main > header > span { color: #d1fff4; font: 800 10px/1.4 ui-monospace, monospace; letter-spacing: .11em; }
.np-v2-skin .np-consult-form-intro h2 { margin: 16px 0 12px; color: #fff !important; font-size: clamp(30px, 3.2vw, 43px); line-height: 1.35; }
.np-v2-skin .np-consult-form-intro p { margin: 0; color: rgba(255, 255, 255, .78) !important; font-size: 14px; line-height: 2; }
.np-v2-skin .np-consult-form-points { margin-top: 28px; display: grid; gap: 8px; }
.np-v2-skin .np-consult-form-points b { min-height: 40px; padding: 8px 11px; display: flex; align-items: center; gap: 9px; color: #fff; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .14); border-radius: 6px; font-size: 11px; }
.np-v2-skin .np-consult-form-points b::before { content: "✓"; width: 20px; height: 20px; display: grid; place-items: center; color: var(--np-primary); background: #fff; border-radius: 50%; font: 900 11px/1 Arial, sans-serif; }
.np-v2-skin .np-consult-form-main { grid-area: form; min-width: 0; padding: clamp(28px, 3vw, 36px); direction: rtl; background: #fff; }
.np-v2-skin .np-consult-form-main > header { margin-bottom: 18px; padding-bottom: 14px; border-bottom: 1px solid var(--np-line); }
.np-v2-skin .np-consult-form-main > header > span { color: var(--np-primary); }
.np-v2-skin .np-consult-form-main > header h2 { margin: 8px 0 5px; color: var(--np-ink) !important; font-size: clamp(25px, 3vw, 34px); }
.np-v2-skin .np-consult-form-main > header p { margin: 0; color: var(--np-muted); font-size: 12px; line-height: 1.9; }
.np-v2-skin .np-consult-form-main .np-local-page-form,
.np-v2-skin .np-consult-form-main .gform_wrapper { width: 100%; max-width: none; }
.np-v2-skin .np-consult-form-main .gform_fields { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; gap: 18px 16px; }
.np-v2-skin .np-consult-form-main .gfield:is([id$="_1"], [id$="_2"], [id$="_3"], [id$="_4"]) { grid-column: span 1 !important; }
.np-v2-skin .np-consult-form-main .gfield:is([id$="_5"], [id$="_6"]) { grid-column: 1 / -1 !important; }
.np-v2-skin .np-consult-form-main .gfield_required_text { color: transparent; font-size: 0; }
.np-v2-skin .np-consult-form-main .gfield_required_text::after { content: "الزامی"; margin-inline-start: 6px; padding: 3px 6px; display: inline-flex; color: #9d2d24; background: #fff1ef; border-radius: 999px; font-size: 9px; line-height: 1.2; }

.np-v2-skin .np-contact-map-link { display: inline-flex; min-height: 44px; align-items: center; justify-content: center; margin: 14px; padding: 10px 18px; border-radius: 8px; background: var(--np-primary, #007063); color: #fff; font-weight: 800; text-decoration: none; }
.np-v2-skin .np-consult-form-main .gfield--type-checkbox { margin: 0 !important; padding: 0 !important; border: 0 !important; }
.np-v2-skin .np-consult-form-main .gfield--type-checkbox .ginput_container_checkbox { width: 100%; }
.np-v2-skin .np-consult-form-main .gfield_checkbox { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px !important; }
.np-v2-skin .np-consult-form-main .gchoice { position: relative; min-width: 0; min-height: 0 !important; margin: 0 !important; padding: 0 !important; display: block !important; background: transparent !important; border: 0 !important; border-radius: 0 !important; }
.np-v2-skin .np-consult-form-main .gchoice input[type="checkbox"] { position: absolute !important; z-index: 2; top: 50% !important; right: 15px !important; width: 20px !important; height: 20px !important; margin: 0 !important; appearance: none; opacity: 1; border: 1.5px solid #9db6b1 !important; border-radius: 6px !important; background: #fff !important; box-shadow: none !important; cursor: pointer; transform: translateY(-50%); }
.np-v2-skin .np-consult-form-main .gchoice label { min-height: 52px; margin: 0 !important; padding: 12px 46px 12px 14px !important; display: flex !important; align-items: center; color: var(--np-ink); background: #f8fbfa; border: 1px solid var(--np-line); border-radius: 6px; font-size: 13px !important; font-weight: 500 !important; line-height: 1.5; cursor: pointer; transition: border-color .2s ease, background .2s ease, box-shadow .2s ease; }
.np-v2-skin .np-consult-form-main .gchoice label::after { content: "✓"; position: absolute; right: 19px; top: 50%; color: #fff; font: 900 13px/1 Arial, sans-serif; opacity: 0; transform: translateY(-50%) scale(.7); transition: opacity .16s ease, transform .16s ease; }
.np-v2-skin .np-consult-form-main .gchoice input[type="checkbox"]:focus-visible + label { border-color: var(--np-primary); box-shadow: 0 0 0 4px rgba(0, 112, 99, .09); }
.np-v2-skin .np-consult-form-main .gchoice input[type="checkbox"]:checked + label { color: var(--np-primary-strong); background: #edf8f5; border-color: var(--np-primary); }
.np-v2-skin .np-consult-form-main .gchoice input[type="checkbox"]:checked { border-color: var(--np-primary) !important; background: var(--np-primary) !important; }
.np-v2-skin .np-consult-form-main .gchoice input[type="checkbox"]:checked + label::after { opacity: 1; transform: translateY(-50%) scale(1); }
.np-v2-skin .np-consult-form-main textarea { height: 120px !important; min-height: 120px !important; }
.np-v2-skin .np-consult-form-main .gform_footer { margin-top: 16px; padding-top: 16px; justify-content: stretch; border-top: 1px solid var(--np-line); }
.np-v2-skin .np-consult-form-main :is(.gform_button, input[type="submit"], button[type="submit"]) { width: 100%; min-height: 54px; border-radius: 7px !important; }

@media (max-width: 900px) {
  .np-v2-skin .np-consult-form-layout { grid-template-columns: 1fr; grid-template-areas: "intro" "form"; min-height: 0; }
  .np-v2-skin .np-consult-form-intro { min-height: 330px; }
  .np-v2-skin .np-consult-form-points { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 640px) {
  .np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_fields { grid-template-columns: 1fr !important; gap: 16px !important; }
  .np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gfield { grid-column: 1 / -1 !important; }
  .np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) :is(.gfield_checkbox, .gfield_radio) { grid-template-columns: 1fr; }
  .np-v2-skin :is(.np-page-content, .np-contact-form-panel, .np-career-form-panel) .gform_wrapper :is(.gform_button, button[type="submit"], input[type="submit"]) { min-height: 52px !important; }
  .np-v2-skin .np-page-shell-consultant .np-page-content { border-radius: 9px; }
  .np-v2-skin .np-consult-form-intro { min-height: 300px; padding: 26px 20px; }
  .np-v2-skin .np-consult-form-main { padding: 26px 20px; }
  .np-v2-skin .np-consult-form-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 5px; }
  .np-v2-skin .np-consult-form-points b { min-height: 48px; padding: 6px 5px; justify-content: center; gap: 4px; font-size: 9px; text-align: center; }
  .np-v2-skin .np-consult-form-points b::before { width: 16px; height: 16px; font-size: 9px; }
  .np-v2-skin .np-consult-form-main .gform_fields { grid-template-columns: 1fr !important; }
  .np-v2-skin .np-consult-form-main .gfield { grid-column: 1 / -1 !important; }
  .np-v2-skin .np-consult-form-main .gfield_checkbox { grid-template-columns: 1fr; }
}

/* Applicant resume builder: editable data and a safe, live preview. */
.np-resume-builder-section { padding-top: 14px; }
.np-resume-builder-head {
  margin-bottom: 20px;
  padding: 0 4px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
  align-items: end;
  gap: 24px;
}
.np-resume-builder-head span { color: var(--np-primary); font: 800 10px/1.5 ui-monospace, monospace; letter-spacing: .08em; }
.np-resume-builder-head h2 { max-width: 680px; margin: 8px 0 0; color: var(--np-ink); font-size: clamp(28px, 4vw, 44px); line-height: 1.35; }
.np-resume-builder-head p { margin: 0; color: var(--np-muted); font-size: 13px; line-height: 1.9; }
.np-resume-builder {
  padding: 16px;
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(340px, .9fr);
  gap: 16px;
  align-items: start;
  background: #edf6f4;
  border: 1px solid rgba(0, 112, 99, .14);
  border-radius: 14px;
  box-shadow: 0 26px 70px rgba(0, 66, 58, .09);
}
.np-resume-editor,
.np-resume-preview { min-width: 0; padding: clamp(22px, 3vw, 32px); background: #fff; border: 1px solid var(--np-line); border-radius: 10px; }
.np-resume-editor__head,
.np-resume-preview > header { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; }
.np-resume-editor__head small,
.np-resume-preview > header span { color: var(--np-primary); font-size: 10px; font-weight: 800; }
.np-resume-editor__head h3,
.np-resume-preview > header h3 { margin: 5px 0 0; color: var(--np-ink); font-size: clamp(22px, 3vw, 30px); line-height: 1.45; }
.np-resume-editor__head > svg,
.np-resume-preview > header > svg { width: 42px; height: 42px; padding: 10px; color: var(--np-primary); background: #eaf7f4; border-radius: 6px; }
.np-resume-editor__grid { margin-top: 22px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.np-resume-editor label { min-width: 0; display: grid; gap: 8px; color: var(--np-ink); font-size: 12px; font-weight: 600; }
.np-resume-editor__wide { grid-column: 1 / -1; }
.np-resume-editor :is(input, textarea) {
  width: 100%;
  max-width: 100%;
  min-height: 50px;
  padding: 12px 14px;
  color: var(--np-ink);
  background: #fbfdfc;
  border: 1px solid var(--np-line);
  border-radius: 6px;
  box-shadow: none;
  font-family: inherit;
  font-size: 14px;
  font-weight: 300;
  line-height: 1.7;
  outline: none;
}
.np-resume-editor textarea { min-height: 94px; resize: vertical; }
.np-resume-editor :is(input, textarea):focus { border-color: var(--np-primary); box-shadow: 0 0 0 4px rgba(0, 112, 99, .09); }
.np-resume-editor__actions { margin-top: 18px; padding-top: 18px; display: flex; gap: 10px; border-top: 1px solid var(--np-line); }
body.np-v2-skin .np-resume-editor__actions button {
  min-height: 50px;
  padding: 11px 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  color: var(--np-primary-strong);
  background: #fff;
  border: 1px solid rgba(0, 112, 99, .24);
  border-radius: 6px;
  box-shadow: none;
  font-family: inherit;
  font-size: 12px;
  font-weight: 800;
  line-height: 1.5;
  cursor: pointer;
}
body.np-v2-skin .np-resume-editor__actions .np-resume-apply { flex: 1; color: #fff; background: var(--np-primary); border-color: var(--np-primary); }
.np-resume-editor__actions button svg { width: 18px; height: 18px; }
.np-resume-status { min-height: 22px; margin: 10px 0 0; color: var(--np-primary); font-size: 11px; line-height: 1.8; }
.np-resume-preview { position: sticky; top: calc(var(--np-header-height, 86px) + 18px); overflow: hidden; background: linear-gradient(160deg, #fff 0%, #f8fcfb 100%); }
.np-resume-preview::before { content: ""; position: absolute; top: -90px; left: -70px; width: 240px; aspect-ratio: 1; border: 1px solid rgba(0, 112, 99, .1); border-radius: 50%; box-shadow: 0 0 0 38px rgba(0, 112, 99, .03), 0 0 0 76px rgba(0, 112, 99, .018); }
.np-resume-preview > * { position: relative; }
.np-resume-preview > header p { margin: 4px 0 0; color: var(--np-primary); font-size: 13px; }
.np-resume-preview__contact { margin: 20px 0; padding: 12px 0; display: flex; flex-wrap: wrap; gap: 8px 20px; color: var(--np-muted); border-block: 1px solid var(--np-line); font-size: 11px; direction: ltr; text-align: left; }
.np-resume-preview section + section { margin-top: 18px; }
.np-resume-preview h4 { margin: 0 0 7px; color: var(--np-primary-strong); font-size: 12px; }
.np-resume-preview section p { min-height: 24px; margin: 0; color: var(--np-muted); font-size: 12px; font-weight: 300; line-height: 1.9; white-space: pre-line; }
.np-resume-preview__skills { display: flex; flex-wrap: wrap; gap: 7px; }
.np-resume-preview__skills span { padding: 6px 9px; color: var(--np-primary-strong); background: #eaf7f4; border: 1px solid rgba(0, 112, 99, .12); border-radius: 999px; font-size: 10px; font-weight: 600; }

@media (max-width: 900px) {
  .np-resume-builder-head { grid-template-columns: 1fr; gap: 10px; }
  .np-resume-builder { grid-template-columns: 1fr; }
  .np-resume-preview { position: relative; top: auto; }
}

@media (max-width: 560px) {
  .np-resume-builder { margin-inline: -4px; padding: 8px; border-radius: 10px; }
  .np-resume-editor,
  .np-resume-preview { padding: 20px 16px; border-radius: 8px; }
  .np-resume-editor__grid { grid-template-columns: 1fr; }
  .np-resume-editor__wide { grid-column: auto; }
  .np-resume-editor__actions { flex-direction: column; }
  body.np-v2-skin .np-resume-editor__actions button { width: 100%; }
}

@media print {
  body.np-resume-printing * { visibility: hidden !important; }
  body.np-resume-printing .np-resume-preview,
  body.np-resume-printing .np-resume-preview * { visibility: visible !important; }
  body.np-resume-printing .np-resume-preview { position: absolute; inset: 0; width: 100%; min-height: 100%; border: 0; box-shadow: none; }
}

/* Footer from parent theme, visually normalized to V2. */
.np-v2-skin .np-premium-footer { margin-top: 34px; color: #fff; border-top: 1px solid rgba(255, 255, 255, .2); background: linear-gradient(145deg, var(--np-primary), #00907e); }
.np-v2-skin .np-footer-cta { transform: translateY(-34px); gap: 20px; border: 1px solid rgba(0, 112, 99, .18); border-radius: 11px; background: #fff; box-shadow: 0 24px 64px rgba(0, 83, 73, .16); backdrop-filter: none; }
.np-v2-skin .np-footer-cta span { color: var(--np-primary) !important; }
.np-v2-skin .np-footer-cta h2 { color: var(--np-ink) !important; }
.np-v2-skin .np-footer-cta p { color: var(--np-muted) !important; }
.np-v2-skin .np-footer-cta .btn.secondary { color: var(--np-primary-strong); background: #fff; border-color: rgba(0, 112, 99, .24); }
.np-v2-skin .np-footer-cta .btn.secondary:hover { color: #fff; background: var(--np-primary); border-color: var(--np-primary); }
.np-v2-skin .np-footer-grid :is(h2, h3, strong, b) { color: #f2fbf8; }
.np-v2-skin .np-footer-grid :is(p, a, small, span) { color: rgba(255, 255, 255, .76); }
.np-v2-skin .np-footer-grid a:hover { color: #fff; }

.np-v2-footer { position: relative; isolation: isolate; margin-top: 52px; overflow: hidden; color: var(--np-ink); background: #fff; border-top: 3px solid var(--np-primary); }
.np-v2-footer::before { content: ""; position: absolute; z-index: -1; inset: 0; opacity: 1; background-image: radial-gradient(circle at 12% 0%, rgba(0, 112, 99, .09), transparent 31%), linear-gradient(rgba(0, 112, 99, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 112, 99, .035) 1px, transparent 1px); background-size: auto, 48px 48px, 48px 48px; -webkit-mask-image: linear-gradient(120deg, #000, transparent 72%); mask-image: linear-gradient(120deg, #000, transparent 72%); pointer-events: none; }
.np-v2-footer__cta { position: relative; margin-top: 24px; padding: clamp(22px, 3vw, 30px); display: flex; align-items: center; justify-content: space-between; gap: 24px; overflow: hidden; color: var(--np-ink); background: linear-gradient(135deg, rgba(240, 250, 247, .98), #fff 72%); border: 1px solid rgba(0, 112, 99, .15); border-radius: 11px; box-shadow: 0 18px 48px rgba(0, 83, 73, .09); }
.np-v2-footer__cta::after {
  content: "";
  position: absolute;
  inset-block: 18px;
  inset-inline-start: 0;
  width: 4px;
  background: linear-gradient(180deg, rgba(0, 112, 99, .28) 0%, #00b399 32%, #007063 55%, #31d3b9 76%, rgba(0, 112, 99, .28) 100%);
  background-size: 100% 240%;
  border-radius: 999px;
  box-shadow: 0 0 14px rgba(0, 112, 99, .32);
  animation: npv2-green-rail-flow 2.4s ease-in-out infinite;
}
@keyframes npv2-green-rail-flow {
  0%, 100% { background-position: 50% 0%; opacity: .62; }
  50% { background-position: 50% 100%; opacity: 1; }
}
.np-v2-footer__cta > div:first-child { max-width: 680px; }
.np-v2-footer__cta span { color: var(--np-primary); font: 800 9px/1.4 ui-monospace, monospace; letter-spacing: .12em; }
.np-v2-footer__cta h2 { margin: 7px 0; font-size: clamp(25px, 3vw, 34px); line-height: 1.45; }
.np-v2-footer__cta p { margin: 0; color: var(--np-muted); }
.np-v2-footer__cta > div:last-child { display: flex; flex-wrap: wrap; gap: 8px; }
.np-v2-footer__grid { padding: 38px 0 28px; display: grid; grid-template-columns: 1.2fr .72fr .82fr 1.05fr; grid-template-areas: "brand products hardware contact"; gap: 0; }
.np-v2-footer__grid > :is(section, nav) { min-width: 0; padding: 8px 24px; border-inline-start: 1px solid var(--np-line); }
.np-v2-footer__grid > :first-child { padding-inline-start: 0; border-inline-start: 0; }
.np-v2-footer__grid > .np-v2-footer__brand { grid-area: brand; color: var(--np-primary-strong); }
.np-v2-footer__nav--products { grid-area: products; }
.np-v2-footer__nav--hardware { grid-area: hardware; }
.np-v2-footer__contact { grid-area: contact; }
.np-v2-footer__grid h3 { margin: 0 0 13px; color: var(--np-ink) !important; font-size: 14px; }
.np-v2-footer__grid > .np-v2-footer__brand :is(h2, h3, strong, b) { color: var(--np-primary-strong) !important; }
.np-v2-footer__grid nav { display: flex; flex-direction: column; gap: 3px; }
.np-v2-footer__grid nav > a { padding: 5px 0; color: var(--np-muted); text-decoration: none; font-size: 12px; transition: color var(--np-duration), transform var(--np-duration); }
.np-v2-footer__grid nav > a:hover { color: var(--np-primary); transform: translateX(-3px); }
.np-v2-footer__brand > a { display: inline-flex; align-items: center; justify-content: center; width: fit-content; min-height: 48px; padding: 4px 0; }
.np-v2-footer__brand img { width: 136px; height: 40px; object-fit: contain; object-position: center; }
.np-v2-footer__brand p { max-width: 350px; color: var(--np-primary-strong); font-size: 12px; line-height: 1.9; }
.np-v2-footer__brand > div { display: flex; flex-wrap: wrap; gap: 7px; }
.np-v2-footer__brand > div span { padding: 6px 9px; display: inline-flex; align-items: center; gap: 6px; color: var(--np-primary-strong); background: var(--np-primary-soft); border: 1px solid rgba(0, 112, 99, .12); border-radius: 999px; font-size: 10px; }
.np-v2-footer__brand svg { width: 14px; color: var(--np-primary); }
.np-v2-footer__contact { display: flex; flex-direction: column; gap: 7px; }
.np-v2-footer__contact > a { padding: 8px 10px; display: grid; grid-template-columns: 28px minmax(0, 1fr); align-items: center; gap: 8px; color: var(--np-ink); background: rgba(240, 250, 247, .72); border: 1px solid rgba(0, 112, 99, .11); border-radius: 6px; text-decoration: none; transition: background var(--np-duration), transform var(--np-duration), border-color var(--np-duration); }
.np-v2-footer__contact > a:hover { background: var(--np-primary-soft); border-color: rgba(0, 112, 99, .22); transform: translateY(-2px); }
.np-v2-footer__contact svg { width: 16px; color: var(--np-primary); }
.np-v2-footer__contact span { min-width: 0; display: grid; gap: 2px; }
.np-v2-footer__contact b { overflow: hidden; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.np-v2-footer__contact small { color: var(--np-muted); font-size: 9px; }
.np-v2-footer__bottom { min-height: 54px; padding: 10px 0 14px; display: flex; align-items: center; justify-content: space-between; gap: 20px; border-top: 1px solid var(--np-line); }
.np-v2-footer__bottom p { margin: 0; color: var(--np-muted); font-size: 11px; }
.np-v2-footer__bottom nav { display: flex; flex-wrap: wrap; gap: 4px; }
.np-v2-footer__bottom nav :where(a, button) { padding: 7px 9px; color: var(--np-muted); background: transparent; border: 0; font: inherit; font-size: 10px; text-decoration: none; cursor: pointer; }
.np-v2-footer__bottom nav :where(a, button):hover { color: var(--np-primary); }

/* Search and not-found inherited from the parent. */
.np-v2-skin .np-empty-state { max-width: 760px; margin-inline: auto; padding: clamp(34px, 6vw, 70px); text-align: center; border: 1px solid var(--np-line); border-radius: 11px; background: #fff; box-shadow: var(--np-shadow-sm); }

.np-v2-skin .mobile-app-nav { border: 1px solid var(--np-line); border-radius: 9px; background: rgba(255, 255, 255, .96); box-shadow: var(--np-shadow); backdrop-filter: blur(18px); }
.np-v2-skin .mobile-app-nav a { border-radius: 6px; color: var(--np-muted); }
.np-v2-skin .mobile-app-nav .is-active a { color: var(--np-primary-strong); background: var(--np-primary-soft); }

@media (max-width: 1024px) {
  .np-v2-skin .npv2-security-grid { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-security-copy { max-width: 720px; }
  .np-v2-skin .npv2-solution-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-v2-skin .npv2-flow-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-v2-skin .npv2-flow-grid::before { display: none; }
  .np-v2-skin .npv2-contact-shell { grid-template-columns: 1fr; }
  .np-v2-footer__grid {
    padding-top: 42px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    grid-template-areas:
      "products hardware contact"
      "brand brand brand";
    gap: 28px 0;
  }
  .np-v2-footer__grid > .np-v2-footer__brand {
    width: 100%;
    max-width: 680px;
    margin-inline: auto;
    padding: 28px 0 0;
    border-top: 1px solid var(--np-line);
    border-inline-start: 0;
    text-align: center;
  }
  .np-v2-footer__brand > a { margin-inline: auto; }
  .np-v2-footer__brand p { margin-inline: auto; }
  .np-v2-footer__brand > div { justify-content: center; }
  .np-v2-footer__cta { align-items: flex-start; flex-direction: column; }
}

@media (max-width: 1024px) {
  .np-v2-skin .np-v2-header__actions { margin-inline-start: auto; }
  .np-v2-skin .np-menu-toggle { display: inline-grid !important; }
  .np-v2-skin .np-v2-header__actions > :not(.np-menu-toggle) { display: none; }
  .np-v2-skin .np-mobile-drawer__panel { inset-inline: auto 0; transform: translateX(105%); }
  html[dir="ltr"] .np-v2-skin .np-mobile-drawer__panel { inset-inline: 0 auto; transform: translateX(-105%); }
}

@media (max-width: 720px) {
  .np-v2-skin .npv2-security-cards { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-security-cards > a { min-height: 320px; }
  .np-v2-skin .npv2-security-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .np-v2-skin .npv2-security-proof span { min-width: 0; padding-inline: 6px; border-left: 1px solid rgba(87, 221, 189, .14); border-bottom: 0; }
  .np-v2-skin .npv2-security-proof span:last-child { border-left: 0; }
  .np-v2-skin .npv2-security-proof b,
  .np-v2-skin .npv2-security-proof small { white-space: nowrap; }
  .np-v2-skin .npv2-security-proof b { font-size: clamp(11px, 3.2vw, 13px); }
  .np-v2-skin .npv2-security-proof small { font-size: clamp(8px, 2.5vw, 10px); }
  .np-v2-skin .npv2-editorial-grid .npv2-story:nth-child(n+5) { display: none; }
  .np-v2-skin .npv2-solution-grid,
  .np-v2-skin .npv2-flow-grid { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-solution-grid > a { min-height: 260px; }
  .np-v2-skin .npv2-contact-intro > div { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-contact-intro > div a { border-inline-end: 0; border-bottom: 1px solid rgba(112, 232, 203, .15); }
  .np-v2-skin .npv2-contact-options > a { grid-template-columns: 28px 42px minmax(0, 1fr); }
  .np-v2-skin .npv2-contact-options > a > b { grid-column: 3; }
  .np-v2-footer { margin-top: 36px; }
  .np-v2-footer__cta { margin-top: 16px; padding: 20px; gap: 18px; border-radius: 9px; }
  .np-v2-footer__cta h2 { font-size: 25px; }
  .np-v2-footer__cta > div:last-child { width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-v2-footer__cta > div:last-child .np-btn { min-width: 0; padding-inline: 10px; }
  .np-v2-footer__grid {
    padding: 34px 0 22px;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "products hardware"
      "contact contact"
      "brand brand";
    gap: 26px 0;
  }
  .np-v2-footer__grid > :is(section, nav) { padding: 0 16px; }
  .np-v2-footer__grid > :nth-child(odd) { padding-inline-start: 0; border-inline-start: 0; }
  .np-v2-footer__grid > :is(.np-v2-footer__brand, .np-v2-footer__contact) { border-inline-start: 0; }
  .np-v2-footer__brand { text-align: center; }
  .np-v2-footer__brand > a { margin-inline: auto; }
  .np-v2-footer__brand p { margin-inline: auto; }
  .np-v2-footer__brand > div { justify-content: center; }
  .np-v2-footer__grid nav > a { padding: 5px 0; }
  .np-v2-footer__contact {
    padding: 24px 0 0 !important;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-top: 1px solid var(--np-line);
  }
  .np-v2-footer__contact h3 { grid-column: 1 / -1; }
  .np-v2-footer__brand { padding-top: 24px !important; }
  .np-v2-footer__bottom { padding: 14px 0 92px; align-items: flex-start; flex-direction: column; }
  .np-v2-skin :is(.np-page-hero-card, .np-archive-hero-card) { min-height: 230px; border-radius: 9px; }
  .np-v2-skin .np-footer-cta { margin-bottom: 4px; padding: 20px; gap: 16px; transform: translateY(-24px); border-radius: 9px; }
  .np-v2-skin .np-footer-cta span { margin-bottom: 5px; font-size: 10px; }
  .np-v2-skin .np-footer-cta h2 { margin-bottom: 6px; font-size: 21px; line-height: 1.45; }
  .np-v2-skin .np-footer-cta p { font-size: 12px; line-height: 1.9; }
  .np-v2-skin .np-footer-cta-actions { gap: 8px; }
  .np-v2-skin .np-footer-cta-actions .btn { min-height: 48px; }
}

@media (max-width: 420px) {
  .np-v2-footer__cta > div:last-child { grid-template-columns: 1fr; }
  .np-v2-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .np-v2-footer__grid > :is(section, nav) { padding-inline: 12px; }
  .np-v2-footer__grid > .np-v2-footer__brand { padding-inline: 0; }
  .np-v2-footer__grid > nav { padding-top: 18px; border-top: 1px solid var(--np-line); }
  .np-v2-footer__contact { padding: 18px 0 0 !important; display: grid; grid-template-columns: 1fr; border-top: 1px solid var(--np-line); }
  .np-v2-footer__contact h3 { grid-column: 1 / -1; }
  .np-v2-footer__contact > a { min-height: 58px; padding: 8px 10px; grid-template-columns: 28px minmax(0, 1fr); justify-items: initial; text-align: start; }
  .np-v2-footer__contact b { max-width: 100%; font-size: 10px; }
  .np-v2-footer__contact small { font-size: 8px; }
  .np-v2-footer__bottom { gap: 8px; }
}

@media (prefers-reduced-motion: reduce) {
  .np-v2-footer__contact > a,
  .np-v2-utility-head > button { transition: none !important; }
  body:not(.wp-admin) .site-header,
  .np-v2-mobile-tabs { transition: none !important; }
}

@media (max-width: 480px) {
  .np-v2-skin .np-mobile-drawer__panel { width: 100%; }
  .np-v2-skin .npv2-product-search { border-radius: 8px; }
  .np-v2-skin .npv2-product-search button { border-radius: 6px; }
}

/* Final responsive header sizing matrix: prevent menu/action collisions at every viewport. */
@media (min-width: 1240.01px) {
  body.np-v2-skin .site-header .np-v2-header__inner { gap: 10px; }
  body.np-v2-skin .site-header .np-v2-brand { flex: 0 0 150px; min-width: 150px; }
  body.np-v2-skin .site-header .np-v2-brand img { max-width: 140px; }
  body.np-v2-skin .site-header .np-v2-primary-menu { gap: 2px; }
  body.np-v2-skin .site-header .np-v2-primary-menu :where(a, .nav-link) { padding-inline: 8px; font-size: 14px; }
  body.np-v2-skin .site-header .np-v2-header__actions { gap: 6px; }
}

@media (min-width: 1160.01px) and (max-width: 1240px) {
  body.np-v2-skin .site-header .np-v2-header__inner { gap: 8px; }
  body.np-v2-skin .site-header .np-v2-brand { flex: 0 0 132px; min-width: 132px; }
  body.np-v2-skin .site-header .np-v2-brand img { max-width: 126px; }
  body.np-v2-skin .site-header .np-v2-primary-menu { gap: 0; }
  body.np-v2-skin .site-header .np-v2-primary-menu :where(a, .nav-link) { padding-inline: 6px; font-size: 13px; }
  body.np-v2-skin .site-header .np-v2-header__actions { gap: 6px; }
  body.np-v2-skin .site-header .np-v2-shop-link.btn { padding-inline: 10px !important; font-size: 12px !important; }
}

@media (max-width: 1160px) {
  body.np-v2-skin .site-header .np-v2-primary-nav { display: none !important; }
  body.np-v2-skin .site-header .np-menu-toggle { display: inline-grid !important; }
  body.np-v2-skin .site-header .np-v2-header__inner { min-height: 68px; gap: 12px; }
  body.np-v2-skin .site-header .np-v2-brand { flex: 1 1 auto; min-width: 0; margin-inline-end: auto; }
  body.np-v2-skin .site-header .np-v2-brand img { width: 100%; max-width: 136px; }
  body.np-v2-skin .site-header :is(.np-v2-mega, .mega-hub) { display: none !important; }
  body.np-v2-skin .site-header .np-v2-header__actions > :not(.np-menu-toggle):not(.np-v2-account-link) { display: none !important; }
  body:not(.wp-admin).np-v2-skin .site-header .np-v2-header__actions > .np-v2-account-link.btn { display: flex !important; }
}

@media (max-width: 480px) {
  body.np-v2-skin .site-header .np-v2-header__inner { gap: 8px; }
  body.np-v2-skin .site-header .np-v2-brand img { max-width: 120px; }
  body:not(.wp-admin).np-v2-skin .site-header .np-v2-header__actions > .np-v2-account-link.btn { min-height: 42px; padding-inline: 10px !important; font-size: 12px !important; }
  body.np-v2-skin .site-header .np-menu-toggle { min-height: 42px; padding-inline: 10px; }
}

@media (max-width: 360px) {
  body:not(.wp-admin).np-v2-skin .site-header .np-v2-header__actions > .np-v2-account-link.btn span { display: none !important; }
  body.np-v2-skin .site-header .np-v2-brand img { max-width: 128px; }
}

/* Contact page: use the V2 icon language and real Kalameh design-system weights. */
body.np-v2-skin .np-contact-redesign-section {
  font-family: "KalamehNP", Tahoma, Arial, sans-serif;
  font-weight: 300;
}

body.np-v2-skin .np-contact-board {
  align-items: stretch;
}

body.np-v2-skin .np-contact-board-head {
  display: grid;
  align-content: center;
  padding-inline: clamp(8px, 2vw, 24px);
}

body.np-v2-skin .np-contact-board-grid > a {
  grid-template-rows: 42px minmax(58px, auto) minmax(48px, auto);
  align-content: center;
  justify-items: center;
  text-align: center;
}

body.np-v2-skin .np-contact-board-grid > a > :is(i, svg) {
  justify-self: center;
}

body.np-v2-skin .np-contact-board-grid > a > strong {
  min-height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  line-height: 1.65;
}

body.np-v2-skin .np-contact-board-grid > a > span {
  min-height: 48px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
}

body.np-v2-skin .np-contact-board-grid > a > :is(i, svg) {
  box-sizing: border-box;
  width: 42px;
  min-width: 42px;
  height: 42px;
  padding: 10px;
  display: block;
  color: #fff !important;
  stroke: currentColor;
  background: linear-gradient(135deg, var(--np-primary), var(--np-primary-strong));
  border-radius: 7px;
}

body.np-v2-skin .np-contact-redesign-section :is(
  .np-contact-methods,
  .np-contact-flow,
  .np-contact-form-badge,
  .np-contact-modal
) svg {
  stroke: currentColor;
}

body.np-v2-skin .np-contact-methods :is(i, svg) {
  box-sizing: border-box;
  width: 44px;
  min-width: 44px;
  height: 44px;
  padding: 11px;
  color: #fff !important;
  background: linear-gradient(135deg, var(--np-primary), var(--np-primary-strong));
  border-radius: 7px;
}

body.np-v2-skin .np-contact-flow :is(i, svg),
body.np-v2-skin .np-contact-form-badge :is(i, svg) {
  width: 18px;
  height: 18px;
  padding: 0;
  color: var(--np-primary);
  background: none;
}

body.np-v2-skin .np-contact-form-badge :is(i, svg) {
  color: var(--np-accent);
}

body.np-v2-skin .np-contact-board-head h2,
body.np-v2-skin .np-contact-info-panel h2,
body.np-v2-skin .np-contact-form-heading h2,
body.np-v2-skin .np-contact-review-panel h2,
body.np-v2-skin .np-contact-modal-head h2 {
  font-weight: 500;
}

body.np-v2-skin .np-contact-board-grid strong,
body.np-v2-skin .np-contact-sla b,
body.np-v2-skin .np-contact-methods b,
body.np-v2-skin .np-contact-form-heading > span,
body.np-v2-skin .np-contact-form-badge,
body.np-v2-skin .np-contact-flow span,
body.np-v2-skin .np-contact-form-panel .gform_wrapper :is(input[type="submit"], .gform_button),
body.np-v2-skin .np-contact-modal-phone,
body.np-v2-skin .np-native-review-summary :is(strong, a),
body.np-v2-skin .np-native-review-card header strong,
body.np-v2-skin .np-native-google-mark {
  font-weight: 800;
}

body.np-v2-skin .np-contact-form-panel .gform_wrapper :is(.gfield_label, legend),
body.np-v2-skin .np-contact-form-panel .gform_wrapper .gfield_required {
  font-weight: 500 !important;
}

/* Contact response hub: a calm, human support signal instead of a network schematic. */
body.np-v2-skin .np-contact-hero-console {
  gap: 11px;
  padding: 16px;
  border: 1px solid rgba(0, 112, 99, .13) !important;
  border-radius: 15px !important;
  background: rgba(248, 252, 251, .92) !important;
  box-shadow: 0 26px 70px rgba(7, 59, 53, .11) !important;
}

body.np-v2-skin .np-contact-motion {
  position: relative;
  isolation: isolate;
  min-height: 230px;
  margin: 0 0 2px;
  padding: 58px 22px 22px;
  display: grid;
  place-items: center;
  overflow: hidden;
  color: var(--np-ink);
  background:
    radial-gradient(circle at 18% 22%, rgba(210, 171, 103, .20), transparent 24%),
    radial-gradient(circle at 82% 76%, rgba(0, 112, 99, .15), transparent 28%),
    linear-gradient(rgba(0, 112, 99, .055) 1px, transparent 1px),
    linear-gradient(90deg, rgba(0, 112, 99, .055) 1px, transparent 1px),
    linear-gradient(145deg, #fbfefd, #edf7f4);
  background-size: auto, auto, 38px 38px, 38px 38px, auto;
  border: 1px solid rgba(0, 112, 99, .14);
  border-radius: 12px;
  box-shadow: inset 0 1px 0 #fff, 0 18px 42px rgba(0, 79, 69, .10);
}

body.np-v2-skin .np-contact-motion::before {
  position: absolute;
  z-index: 2;
  top: 18px;
  right: 20px;
  content: "مرکز پاسخ‌گویی";
  color: var(--np-primary-strong);
  font-size: 11px;
  font-weight: 800;
}

body.np-v2-skin .np-contact-motion::after {
  position: absolute;
  z-index: 2;
  top: 14px;
  left: 18px;
  padding: 6px 11px 6px 22px;
  content: "فعال";
  color: var(--np-primary-strong);
  background: rgba(255,255,255,.86);
  border: 1px solid rgba(0,112,99,.14);
  border-radius: 999px;
  font-size: 9px;
  font-weight: 800;
  box-shadow: 0 7px 18px rgba(0, 79, 69, .07);
}

body.np-v2-skin .np-contact-motion .np-brand-motion {
  position: relative;
  z-index: 1;
  width: 100%;
  min-height: 154px;
  display: grid;
  place-items: center;
}

body.np-v2-skin .np-contact-motion .np-brand-motion::before {
  position: relative;
  z-index: 3;
  width: 92px;
  height: 92px;
  content: "\f590";
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(145deg, var(--np-primary), #009783);
  border: 8px solid rgba(255,255,255,.88);
  border-radius: 15px;
  box-shadow: 0 20px 38px rgba(0,112,99,.20), 0 0 0 1px rgba(0,112,99,.12);
  font-family: "Font Awesome 5 Free";
  font-size: 34px;
  font-weight: 900;
  line-height: 1;
  transform: rotate(-3deg);
}

body.np-v2-skin .np-contact-motion .np-brand-motion::after {
  position: absolute;
  right: 50%;
  bottom: 0;
  min-width: min(310px, 88%);
  padding: 9px 16px;
  content: "فروش   •   فنی   •   پشتیبانی";
  color: var(--np-primary-strong);
  background: rgba(255,255,255,.88);
  border: 1px solid rgba(0,112,99,.13);
  border-radius: 999px;
  box-shadow: 0 10px 26px rgba(0,79,69,.08);
  font-size: 10px;
  font-weight: 800;
  text-align: center;
  transform: translateX(50%);
}

body.np-v2-skin .np-contact-motion::after {
  background-image: radial-gradient(circle at 10px 50%, #20a68f 0 3px, transparent 4px);
}

body.np-v2-skin .np-contact-motion .np-brand-motion > svg {
  display: none;
}

body.np-v2-skin .np-contact-hero-console > a {
  position: relative;
  min-height: 76px;
  padding: 12px 14px;
  grid-template-columns: 44px minmax(0, 1fr) 22px;
  grid-template-rows: auto auto;
  gap: 2px 11px;
  color: var(--np-ink);
  background: linear-gradient(135deg, #fff, #f6faf9) !important;
  border: 1px solid #dce8e5 !important;
  border-radius: 8px;
  box-shadow: 0 8px 22px rgba(8, 54, 49, .045) !important;
  transition: transform var(--np-duration), border-color var(--np-duration), box-shadow var(--np-duration), background var(--np-duration);
}

body.np-v2-skin .np-contact-hero-console > a:hover {
  background: #fff !important;
  border-color: rgba(0,112,99,.34) !important;
  box-shadow: 0 14px 30px rgba(0,112,99,.10) !important;
  transform: translateY(-2px);
}

body.np-v2-skin .np-contact-hero-console > a > :is(i, svg) {
  box-sizing: border-box;
  grid-column: 1;
  grid-row: 1 / 3;
  width: 42px;
  height: 42px;
  padding: 10px;
  align-self: center;
  color: #fff;
  background: linear-gradient(145deg, var(--np-primary), #00927f);
  border-radius: 6px;
  box-shadow: 0 8px 18px rgba(0,112,99,.17);
}

body.np-v2-skin .np-contact-hero-console > a > strong {
  grid-column: 2;
  grid-row: 1;
  align-self: end;
  color: var(--np-ink);
  font-size: 13px;
  font-weight: 800;
}

body.np-v2-skin .np-contact-hero-console > a > span {
  grid-column: 2;
  grid-row: 2;
  color: var(--np-muted);
  font-size: 10px;
  font-weight: 300;
}

body.np-v2-skin .np-contact-hero-console > a::after {
  grid-column: 3;
  grid-row: 1 / 3;
  align-self: center;
  content: "←";
  color: var(--np-primary);
  font-size: 16px;
  font-weight: 800;
}

html body.np-v2-skin .np-contact-redesign-section .np-contact-form-panel .gform_wrapper input.gform_button.button[type="submit"] {
  font-family: "KalamehNP", Tahoma, Arial, sans-serif !important;
  font-weight: 800 !important;
}

body.np-v2-skin .np-contact-board-grid span,
body.np-v2-skin .np-contact-sla small,
body.np-v2-skin .np-contact-methods span,
body.np-v2-skin .np-contact-info-panel p,
body.np-v2-skin .np-contact-form-panel .gform_wrapper,
body.np-v2-skin .np-contact-form-panel .gform_wrapper :is(input, textarea, select),
body.np-v2-skin .np-contact-review-head p,
body.np-v2-skin .np-native-review-summary > span:not(.np-native-review-stars),
body.np-v2-skin .np-native-review-card p {
  font-weight: 300;
}

/* Keep the contact-hero introduction on one readable desktop line. */
@media (min-width: 1120px) {
  body.np-v2-skin .np-page-contacts .np-page-hero-card {
	grid-template-columns: minmax(0, 1.25fr) minmax(360px, .75fr);
    gap: clamp(24px, 3vw, 40px);
  }

  body.np-v2-skin .np-contact-hero-copy > p {
    max-width: none;
    font-size: clamp(14px, 1.15vw, 16px);
    white-space: nowrap;
  }
}

@media (min-width: 901px) and (max-width: 1119px) {
  body.np-v2-skin .np-page-contacts .np-page-hero-card {
    grid-template-columns: 1fr;
  }

  body.np-v2-skin .np-contact-hero-copy > p {
    max-width: none;
    font-size: 13px;
    white-space: nowrap;
  }
}

@media (max-width: 620px) {
  body.np-v2-skin .np-contact-hero-console { padding: 11px; border-radius: 11px !important; }
  body.np-v2-skin .np-contact-motion { min-height: 205px; padding: 34px 10px 10px; border-radius: 9px; }
  body.np-v2-skin .np-contact-hero-console > a { min-height: 72px; padding: 10px 11px; }
}

/* Article hero: balanced two-line desktop titles with protected copy spacing. */
@media (min-width: 821px) {
  body.np-v2-skin .npv2-article-hero-grid {
    grid-template-columns: minmax(0, 1.25fr) minmax(320px, .75fr);
    gap: clamp(36px, 4vw, 56px);
  }
}

body.np-v2-skin .npv2-article-heading h1 {
  max-width: 100%;
  margin: 0 0 clamp(22px, 2.2vw, 30px);
  font-size: clamp(38px, 3.6vw, 50px);
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
  overflow-wrap: normal;
  text-wrap: balance;
}

body.np-v2-skin .npv2-article-heading > p {
  max-width: 680px;
  margin: 0 0 24px;
  font-size: clamp(16px, 1.35vw, 19px);
  line-height: 2;
}

@media (max-width: 820px) {
  body.np-v2-skin .npv2-article-heading h1 {
    margin-bottom: 20px;
    font-size: clamp(32px, 7.4vw, 42px);
    line-height: 1.35;
    letter-spacing: -.015em;
  }

  body.np-v2-skin .npv2-article-heading > p {
    margin-bottom: 20px;
    font-size: 16px;
    line-height: 1.9;
  }
}

/* Home hero: keep the main proposition on two deliberate desktop lines. */
@media (min-width: 1100px) {
  body.home.np-v2-skin .npv2-hero-grid {
    grid-template-columns: minmax(0, 700px) minmax(340px, 520px);
    gap: 40px;
  }

  body.home.np-v2-skin .npv2-hero h1 {
    max-width: 760px;
    margin-bottom: 26px;
    font-size: clamp(30px, 2.6vw, 37px);
    line-height: 1.22;
    letter-spacing: -.025em;
    white-space: normal;
  }

  body.home.np-v2-skin .npv2-hero h1 > span {
    display: block;
  }

  body.home.np-v2-skin .npv2-hero-visual {
    min-height: 470px;
  }
}

@media (min-width: 821px) and (max-width: 1099px) {
  body.home.np-v2-skin .npv2-hero-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(280px, .65fr);
    gap: 32px;
  }

  body.home.np-v2-skin .npv2-hero h1 {
    font-size: clamp(28px, 3.2vw, 34px);
    line-height: 1.28;
    letter-spacing: -.02em;
  }
}

/* Home / مرکز دانش — متن روی کاور کارت مقاله می‌نشیند.
   بدون تصویر شاخص: پس‌زمینهٔ سبز برند و عنوان سفید (تا کاورها اضافه شوند). */
.np-v2-skin .npv2-story {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 340px;
  border-color: transparent;
  background: var(--npv2-primary);
  isolation: isolate;
}
.np-v2-skin .npv2-story-media {
  position: absolute;
  inset: 0;
  z-index: 0;
  height: auto;
  background: transparent;
}
.np-v2-skin .npv2-story-featured .npv2-story-media { height: auto; }
.np-v2-skin .npv2-story-media::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgb(4 40 36 / 88%) 0%, rgb(4 40 36 / 62%) 38%, rgb(4 40 36 / 12%) 72%, transparent 100%);
}
.np-v2-skin .npv2-story--noimage .npv2-story-media::after { display: none; }
.np-v2-skin .npv2-story > div {
  position: relative;
  z-index: 1;
  padding: 26px 24px 24px;
}
.np-v2-skin .npv2-story time { color: rgb(255 255 255 / 78%); }
.np-v2-skin .npv2-story h3 a,
.np-v2-skin .npv2-story p,
.np-v2-skin .npv2-story .npv2-text-link { color: #fff; }
.np-v2-skin .npv2-story p { color: rgb(255 255 255 / 86%); }
.np-v2-skin .npv2-story h3 a:hover,
.np-v2-skin .npv2-story .npv2-text-link:hover { color: rgb(255 255 255 / 80%); }

/* مرکز دانش: چهار کارت هم‌اندازه (کارت شاخص دیگر بزرگ‌تر نیست) */
.np-v2-skin .npv2-editorial-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.np-v2-skin .npv2-story-featured { grid-row: auto; min-height: 340px; }
.np-v2-skin .npv2-story-featured h3 { font-size: 20px; }

/* Home editorial cards: keep every card on the same typographic rhythm. */
body.home.np-v2-skin .npv2-story time { display: none; }
body.home.np-v2-skin .npv2-story > div {
  width: 100%;
  padding: 30px 24px 24px;
}
body.home.np-v2-skin .npv2-story h3,
body.home.np-v2-skin .npv2-story-featured h3 {
  min-height: 3.1em;
  margin: 0 0 10px;
  overflow: hidden;
  display: -webkit-box;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
body.home.np-v2-skin .npv2-story p {
  display: none;
}
body.home.np-v2-skin .npv2-story .npv2-text-link {
  display: block;
  margin-top: 0;
}
@media (max-width: 1100px) {
  .np-v2-skin .npv2-editorial-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .np-v2-skin .npv2-editorial-grid { grid-template-columns: 1fr; }
}

/* شبکه تأمین: لوگوها با رنگ اصلی خودشان می‌آیند، بدون تینت .npv2-logo-ink */
.np-v2-skin .npv2-logo-grid--brands .npv2-logo-ink { background: transparent; }
.np-v2-skin .npv2-logo-grid--brands .npv2-logo-ink img {
  background: transparent;
  filter: none;
  mix-blend-mode: normal;
}

/* بخش «پوشش کامل نیازها» به سبک «جدیدترین محصولات»:
   تصویر بزرگ که از لبهٔ چپ صفحه بیرون می‌زند، محتوا سمت راست. */
.np-v2-skin .npv2-capabilities { overflow: hidden; }
.np-v2-skin .npv2-tabpanel {
  align-items: center;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 430px);
}
.np-v2-skin .npv2-tabpanel .npv2-cap-body { order: 1; }
.np-v2-skin .npv2-tabpanel .npv2-cap-media {
  order: 2;
  position: relative;
  margin-inline-end: calc(50% - 50vw);
}
.np-v2-skin .npv2-tabpanel .npv2-cap-media img { width: 100%; max-width: none; height: auto; }
@media (max-width: 900px) {
  .np-v2-skin .npv2-tabpanel { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-tabpanel .npv2-cap-media { margin-inline-end: 0; }
}

@media (max-width: 600px) {
  .np-v2-skin .npv2-capabilities .npv2-cap-points::before {
    inset-inline-start: 10px;
  }
}

/* «محصولات منتخب»: همان کارت فشردهٔ بخش جدیدترین محصولات (فقط در صفحهٔ اصلی،
   کارت کاتالوگ در فروشگاه دست‌نخورده می‌ماند). */
.np-v2-skin .npv2-products .npv2-product-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}
.np-v2-skin .npv2-products .npv2-product-card {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid rgb(0 112 99 / 12%);
  border-radius: 9px;
  background: #fff;
  box-shadow: none;
}
.np-v2-skin .npv2-products .npv2-product-card:hover {
  border-color: rgb(0 112 99 / 32%);
  box-shadow: 0 10px 26px rgb(0 112 99 / 10%);
}
.np-v2-skin .npv2-products .npv2-product-card__media {
  flex: 0 0 auto;
  width: 104px;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: transparent;
  border: 0;
}
.np-v2-skin .npv2-products .npv2-product-card__media img {
  /* !important چون قوانین کارت کاتالوگ در تم والد ابعاد را تحمیل می‌کنند */
  width: 104px !important;
  height: 74px !important;
  max-width: none !important;
  /* The legacy square assets contain large white margins; cover crops those
     margins while preserving the hardware itself in the centered safe area. */
  object-fit: cover;
  object-position: center;
  border-radius: 6px;
}
.np-v2-skin .npv2-products .npv2-product-badge,
.np-v2-skin .npv2-products .npv2-card-tools,
.np-v2-skin .npv2-products .npv2-product-card__brand,
.np-v2-skin .npv2-products .npv2-product-card__status,
.np-v2-skin .npv2-products .npv2-product-card__actions { display: none; }
.np-v2-skin .npv2-products .npv2-product-card__body {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 6px;
  padding: 0;
  text-align: end;
}
.np-v2-skin .npv2-products .npv2-product-card h3 { margin: 0; font-size: 14px; line-height: 1.6; }
.np-v2-skin .npv2-products .npv2-part-number {
  display: flex;
  gap: 6px;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--npv2-muted);
  font-size: 12.5px;
}
/* مثل کارت مرجع، فقط خود Part Number می‌آید و برچسبش حذف می‌شود */
.np-v2-skin .npv2-products .npv2-part-number span { display: none; }
.np-v2-skin .npv2-products .npv2-part-number strong { color: inherit; font-size: inherit; font-weight: 500; }
@media (max-width: 1100px) {
  .np-v2-skin .npv2-products .npv2-product-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .np-v2-skin .npv2-products .npv2-product-grid { grid-template-columns: 1fr; }

  .np-v2-skin .npv2-products .npv2-product-card__media,
  .np-v2-skin .npv2-products .npv2-product-card__media img {
    width: 92px !important;
  }

  .np-v2-skin .npv2-products .npv2-product-card__media img { height: 66px !important; }
}

/* QA 2026-08-30: keep the three newest-product thumbnails visually equal and
   large enough to read in a quick exhibition/demo scan. */
.np-v2-skin .npv2-newest-thumb {
  flex-basis: 136px;
  width: 136px;
  height: 94px;
  padding: 5px;
  background: #f8fbfa;
}
.np-v2-skin .npv2-newest-thumb img {
  width: 126px !important;
  height: 84px !important;
  padding: 0;
  object-fit: cover;
  object-position: center;
}
@media (max-width: 520px) {
  .np-v2-skin .npv2-newest-thumb { flex-basis: 104px; width: 104px; height: 74px; padding: 4px; }
  .np-v2-skin .npv2-newest-thumb img { width: 96px !important; height: 66px !important; }
}

/* تیتر هیرو: طلایی و کمی ضخیم‌تر (وزن پایه ۳۰۰ بود) */
.np-v2-skin .npv2-hero h1 { color: #cfae80 !important; font-weight: 500; }

/* هیرو: دو لایهٔ جدا روی هم — شیشه پشت، نشان طلایی جلو.
   هر دو با multiply ترکیب می‌شوند تا پس‌زمینهٔ سفید رندر دیده نشود. */
.np-v2-skin .npv2-hero-mark {
  /* بدون z-index/isolation: وگرنه stacking context می‌سازد و multiply لایه‌ها
     دیگر به پس‌زمینهٔ هیرو نمی‌رسد و کادر سفید تصویر دیده می‌شود. */
  position: relative;
  width: 100%;
  max-width: 720px;   /* هیرو بزرگ‌تر شد */
  aspect-ratio: 640 / 620;
  margin-inline: auto;
}
.np-v2-skin .npv2-hero-visual .npv2-hero-mark img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-height: none;
  object-fit: contain;
  mix-blend-mode: multiply;
  filter: none;
  will-change: transform;
}
.np-v2-skin .npv2-hero-mark__glass { animation: npv2-mark-glass 11s ease-in-out infinite; }
.np-v2-skin .npv2-hero-mark__gold { animation: npv2-mark-gold 9s ease-in-out infinite; }

@keyframes npv2-mark-glass {
  0%, 100% { transform: translate3d(0, 0, 0) rotate(0deg); }
  50%      { transform: translate3d(-4px, 8px, 0) rotate(-.7deg); }
}
@keyframes npv2-mark-gold {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  50%      { transform: translate3d(5px, -9px, 0) scale(1.018); }
}

@media (prefers-reduced-motion: reduce) {
  .np-v2-skin .npv2-hero-mark__glass,
  .np-v2-skin .npv2-hero-mark__gold { animation: none; }
}

/* Homepage hero: keep the full canvas pure white on every viewport. */
.np-v2-skin .npv2-hero {
  background: #fff;
}

/* Mobile: keep the complete hero canvas behind the glass/gold mark pure white. */
@media (max-width: 600px) {
  body.home.np-v2-skin .npv2-hero {
    background: #fff !important;
  }

  body.home.np-v2-skin .npv2-hero-visual::before {
    display: none;
    background: none;
  }
}

/* نوار CTA فوتر: زمینهٔ سبز، تیتر طلایی، بقیهٔ متن سفید */
.np-v2-skin .np-v2-footer__cta {
  border-radius: var(--npv2-radius, 13px);
  background: linear-gradient(120deg, #0a5a51 0%, #007063 55%, #04463f 100%);
  border-color: transparent;
}
.np-v2-skin .np-v2-footer__cta h2 { color: #fff !important; }
.np-v2-skin .np-v2-footer__cta > div > span { color: rgb(255 255 255 / 72%); }
.np-v2-skin .np-v2-footer__cta p { color: rgb(255 255 255 / 88%); }
.np-v2-skin .np-v2-footer__cta .np-btn--primary,
.np-v2-skin .np-v2-footer__cta .np-btn--primary * {
  background: #fff !important;
  color: #04463f !important;
  border-color: #fff !important;
}
.np-v2-skin .np-v2-footer__cta .np-btn--outline {
  color: #fff !important;
  border-color: rgb(255 255 255 / 55%) !important;
  background: transparent !important;
}
.np-v2-skin .np-v2-footer__cta .np-btn--outline:hover { background: rgb(255 255 255 / 12%) !important; }

/* حلقه‌های تزئینی هیرو حذف شدند (۲۰۲۶-۰۸-۱۸) — مارک‌آپ `.npv2-orbit` هم از
   front-page.php و page-home-x2.php برداشته شد. خطِ دورِ بزرگِ `.npv2-hero:after`
   هم پایین‌تر خنثی شده است. */
.np-v2-skin .npv2-hero::after { display: none; }

/* این کی‌فریم مشترک است: حلقه‌های هیرو حذف شدند ولی `.npv2-reach-globe`
   («شبکه تأمین») هنوز روی همین انیمیشن می‌چرخد — حذفش نکن. */
@keyframes npv2-orbit-spin {
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}

/* شعاع دکمه‌های کل سایت از این توکنِ تم والد می‌آید و در `global-ui.css` با
   `!important` اعمال می‌شود. تغییر همین متغیر تنها راه تمیزِ کم‌کردن گردی
   دکمه‌هاست؛ قانون‌های موضعی با specificity کمتر بی‌صدا بازنویسی می‌شوند. */
body.np-v2-skin,
.np-v2-skin { --np-button-radius: 8px; }

/* دکمه‌های کل سایت: از حالت قرصی (999px) به گوشهٔ ملایم.
   `!important` لازم است چون قوانین پایه هم 999px را مستقیم می‌نویسند. */
.np-v2-skin :is(
  .btn,
  .np-btn,
  .npv2-button,
  .npv2-en-button,
  .icon-btn,
  .button,
  .wp-element-button,
  button,
  input[type="submit"],
  input[type="button"]
) {
  border-radius: 8px !important;
}

/* استثناها: کنترل‌های دایره‌ای که باید گرد بمانند. */
.np-v2-skin :is(
  .np-modal-close,
  .npv2-carousel-nav button,
  [class*="swiper-button"],
  .np-to-top
) {
  border-radius: 50% !important;
}

/* ---------------------------------------------------------------------------
   هیرو — صفحهٔ سفیدِ هم‌شکل نشان (occluder)
   حلقه‌های چرخان با z-index زیر نشان‌اند، ولی چون هر دو تصویرِ نشان با
   `mix-blend-mode: multiply` ترکیب می‌شوند، خط سبز از پشت شیشه دیده می‌شد و
   انگار روی لوگو کشیده شده بود. این صفحه (بدون blend) بین حلقه‌ها و تصاویر
   می‌نشیند و آن‌ها را واقعاً می‌پوشاند. سفید است چون پس‌زمینهٔ هیرو در ستون
   تصویر سفید است، پس خروجی multiply دقیقاً مثل قبل می‌ماند.
   شکل صفحه از پوستهٔ محدبِ همان دو تصویر ساخته شده (np-hero-plate.webp).
--------------------------------------------------------------------------- */
.np-v2-skin .npv2-hero-mark::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  background: url(../images/np-hero-plate.webp) center / contain no-repeat;
  pointer-events: none;
}
.np-v2-skin .npv2-hero-visual .npv2-hero-mark img { z-index: 2; }

/* ---------------------------------------------------------------------------
   بخش «ارتباطی فراتر از مرزها»: کره سمت چپ، فهرست متن سمت راست (قبلاً برعکس بود).
   حلقه‌های دور کره هم مثل هیرو با conic-gradient + mask ساخته می‌شوند (نه border)
   و پشت کره می‌چرخند.
--------------------------------------------------------------------------- */
.np-v2-skin .npv2-reach-layout {
  grid-template-columns: .85fr 1.15fr;
  grid-template-areas: "head head" "list globe";
}
.np-v2-skin .npv2-reach-list li {
  padding-inline-start: 18px;
  padding-inline-end: 0;
  border-inline-start: 3px solid rgb(255 255 255 / 78%);
  border-inline-end: 0;
  text-align: start;
}
.np-v2-skin .npv2-reach-list li:last-child { border-inline-start: 0; }
.np-v2-skin .npv2-reach-list strong {
  color: #fff;
  font-size: 18px;
  font-weight: 850;
  text-shadow: 0 2px 8px rgb(0 0 0 / 32%);
}
.np-v2-skin .npv2-reach-list span {
  color: rgb(255 255 255 / 88%);
  font-weight: 650;
}

.np-v2-skin .npv2-reach-globe > .npv2-globe { position: relative; z-index: 1; }
.np-v2-skin .npv2-reach-globe::before,
.np-v2-skin .npv2-reach-globe::after {
  inset: auto;
  top: 50%;
  left: 50%;
  translate: -50% -50%;
  aspect-ratio: 1;
  z-index: 0;
  border: 0;
  border-radius: 50%;
  background: conic-gradient(from 0deg, rgb(255 255 255 / 55%) 0 90%, transparent 90% 100%);
  -webkit-mask: radial-gradient(closest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
  mask: radial-gradient(closest-side, transparent calc(100% - 1.5px), #000 calc(100% - 1.5px));
  animation: npv2-orbit-spin 26s linear infinite;
}
/* اندازه بر مبنای خودِ کره (۵۶۰px) نه ستون گرید، وگرنه حلقه‌ها غول‌آسا می‌شوند. */
.np-v2-skin .npv2-reach-globe::before { width: min(112%, 627px); opacity: .55; }
.np-v2-skin .npv2-reach-globe::after {
  width: min(86%, 482px);
  opacity: .38;
  animation-duration: 17s;
  animation-direction: reverse;
}

@media (max-width: 820px) {
  .np-v2-skin .npv2-reach-layout {
    grid-template-columns: 1fr;
    grid-template-areas: "head" "globe" "list";
  }
  .np-v2-skin .npv2-reach-globe > .npv2-globe { width: min(85%, 476px); }
  .np-v2-skin .npv2-reach-list {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    gap: 0;
  }
  .np-v2-skin .npv2-reach-list li {
    min-width: 0;
    padding: 4px 3px;
    border-inline-start: 3px solid rgb(255 255 255 / 72%);
    text-align: center;
  }
  .np-v2-skin .npv2-reach-list li:last-child { border-inline-start: 0; }
  .np-v2-skin .npv2-reach-list strong { font-size: clamp(12px, 3.4vw, 15px); line-height: 1.45; white-space: nowrap; }
  .np-v2-skin .npv2-reach-list span { font-size: 10px; letter-spacing: .02em; white-space: nowrap; }
  .np-v2-skin .npv2-pin--secondary { width: 17px; height: 17px; }
  .np-v2-skin .npv2-pin--primary { width: 21px; height: 21px; }
}

@media (prefers-reduced-motion: reduce) {
  .np-v2-skin .npv2-reach-globe::before,
  .np-v2-skin .npv2-reach-globe::after { animation: none; }
}



/* هدر — «عضویت» و «ورود» مطابق تصویر مرجع: دو دکمهٔ متنی هم‌اندازه، بدون آیکون.
   عضویت پُر و سبز، ورود سفید با کادر نازک.

   چرا `!important` و چرا این‌قدر سلکتور بلند: باندل تولیدشدهٔ
   `uploads/np-pagespeed/main.min.css` روی `.btn` با `!important` می‌نویسد
   (پس‌زمینه، کادر و شعاع). سلکتور کوتاه‌تر بی‌صدا بازنویسی می‌شود. */
body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-signup-link,
body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-account-link {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  height: 42px !important;
  min-height: 42px !important;
  max-height: 42px !important;
  padding-inline: 22px !important;
  border-radius: 8px !important;
  font-size: 14px !important;
  line-height: 1;
  white-space: nowrap;
  box-shadow: none !important;
  transform: none !important;
}

body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-signup-link {
  border: 1px solid var(--np-primary) !important;
  background: var(--np-primary) !important;
  color: #fff !important;
}

/* دکمهٔ «ورود» عمداً کلاس `.btn` ندارد (header.php) تا قانونِ
   `global-ui.css` روی `:is(.btn, …)` با `!important` رنگش را سبز نکند. */
body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-login-btn {
  border: 1px solid var(--np-line) !important;
  background: #fff !important;
  color: var(--np-ink) !important;
  cursor: pointer;
  font-family: inherit;
  font-weight: 500;
}

body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-signup-link:is(:hover, :focus-visible) {
  background: var(--np-primary-strong) !important;
  border-color: var(--np-primary-strong) !important;
}

body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-login-btn:is(:hover, :focus-visible) {
  border-color: var(--np-primary) !important;
  color: var(--np-primary) !important;
  background: #fff !important;
}

/* برچسب‌ها همیشه دیده شوند — قانون قدیمی زیر ۳۶۰px فقط آیکون می‌گذاشت. */
body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-signup-link span,
body.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions .np-v2-account-link span { display: inline !important; }

/* بخش «پوشش کامل نیازها» — تطبیق با Figma (۲۰۲۶-۰۸-۱۸).
   چیدمان (تصویر چپ / متن راست) از قبل درست بود؛ دو عنصر تزئینی سمت اشتباه
   می‌افتادند چون در `content.css` روی inline-END نوشته شده‌اند و در RTL
   یعنی سمت چپ. هر دو به inline-START (راست) منتقل شدند. */
.np-v2-skin .npv2-cap-rule {
  margin-inline-start: 0;
  margin-inline-end: auto;
}

.np-v2-skin .npv2-cap-points {
  position: relative;
  padding-inline-start: 22px;
  padding-inline-end: 0;
  border-inline-end: 0;
  border-inline-start: 2px solid var(--np-primary);
}

/* سرِ خط عمودی در Figma یک شکستگی مورب دارد. */
.np-v2-skin .npv2-cap-points::before {
  content: "";
  position: absolute;
  inset-block-start: -22px;
  inset-inline-start: -2px;
  width: 26px;
  height: 26px;
  border-inline-start: 2px solid var(--np-primary);
  transform-origin: bottom right;
  rotate: -32deg;
}

/* ---------------------------------------------------------------------------
   «پوشش کامل نیازها» — بازبینی ۲۰۲۶-۰۸-۱۸
   ۱) تصویر کامل و نصف عرض سمت چپ (full-bleed قبلی تصویر را از لبه می‌برید).
   ۲) تیتر راست‌چین با فاصلهٔ بیشتر تا محتوا.
   ۳) خط عمودی کنار فهرست با فایل `cap-rule-line.svg` جایگزین شد.
--------------------------------------------------------------------------- */
.np-v2-skin .npv2-tabpanel {
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
}
.np-v2-skin .npv2-tabpanel .npv2-cap-media {
  margin-inline-end: 0;
  display: flex;
  justify-content: center;
}
.np-v2-skin .npv2-tabpanel .npv2-cap-media img {
  width: 100%;
  max-width: 100%;
  height: auto;
  object-fit: contain;
}

.np-v2-skin .npv2-cap-head {
  margin-block-end: 50px;
  text-align: start;
}
.np-v2-skin .npv2-capabilities .npv2-tablist {
  justify-content: flex-start;
  margin-block-end: 48px;
}

@media (max-width: 768px) {
  .np-v2-skin .npv2-cap-head {
    margin-block-start: 100px;
  }
}

/* خط تزئینی کنار فهرست: به‌جای border + شکستگیِ ساخته‌شده با CSS، همان SVG.
   فایل برای LTR کشیده شده (خط چپ، شکستگی رو به راست)، پس در RTL آینه می‌شود
   تا مثل قبل خط سمت راست و شکستگی رو به متن باشد. */
.np-v2-skin .npv2-cap-points {
  position: relative;
  padding-inline-start: 54px;
  padding-inline-end: 0;
  border-inline-start: 0;
  border-inline-end: 0;
}
.np-v2-skin .npv2-cap-points::before {
  content: "";
  position: absolute;
  inset-block: -46px 4px;
  inset-inline-start: 0;
  width: 120px;
  height: auto;
  border: 0;
  rotate: none;
  transform: scaleX(-1);
  transform-origin: center;
  background: url(../images/cap-rule-line.svg) no-repeat left top / auto 100%;
  pointer-events: none;
}

/* خط‌چین بالای متن به دایره تبدیل شد (قبلاً سه خط کوتاه بود). */
.np-v2-skin .npv2-cap-rule {
  width: 52px;
  height: 8px;
  border-radius: 0;
  background: radial-gradient(circle at 4px 50%, var(--np-primary) 0 4px, transparent 4.5px) repeat-x;
  background-size: 18px 8px;
}

/* ---------------------------------------------------------------------------
   باند مشاوره (سکشن ۴ صفحهٔ اصلی) — کارت سبز تمام‌عرض، متن راست، دکمه چپ.
   عمداً کلاس `.btn`/`.npv2-button` نگرفته تا قفل رنگ/شعاع دکمه‌های سایت
   رویش نیفتد (همان الگوی `np-v2-login-btn`).
--------------------------------------------------------------------------- */
.np-v2-skin .npv2-consult-band { padding-block: clamp(18px, 2.5vw, 30px); }

.np-v2-skin .npv2-consult-band .npv2-consult-card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(24px, 4vw, 64px);
  padding: clamp(24px, 2.8vw, 40px) clamp(24px, 3vw, 52px);
  border-radius: 20px;
  background: linear-gradient(90deg, #04564d 0%, #076258 26%, #0a7064 58%, #06584f 100%);
  color: #fff;
}

/* حلقه‌های محوِ پس‌زمینه، هم‌خانوادهٔ بقیهٔ سکشن‌ها. */
.np-v2-skin .npv2-consult-band .npv2-consult-card::before {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block-start: 50%;
  inset-inline-start: 12%;
  width: 620px;
  aspect-ratio: 1;
  translate: 0 -50%;
  border-radius: 50%;
  border: 1px solid rgb(255 255 255 / 9%);
  box-shadow: 0 0 0 1px rgb(255 255 255 / 5%) inset;
  pointer-events: none;
}
.np-v2-skin .npv2-consult-band .npv2-consult-card::after {
  content: "";
  position: absolute;
  z-index: -1;
  inset-block-start: 50%;
  inset-inline-start: 20%;
  width: 420px;
  aspect-ratio: 1;
  translate: 0 -50%;
  border-radius: 50%;
  border: 1px solid rgb(255 255 255 / 7%);
  pointer-events: none;
}

.np-v2-skin .npv2-consult-band .npv2-consult-copy { text-align: start; }
.np-v2-skin .npv2-consult-band .npv2-consult-card h2 {
  margin: 0 0 12px;
  color: #fff !important;   /* main.min.css تیترها را با !important سبز می‌کند */
  font-size: clamp(20px, 2.1vw, 30px);
  font-weight: 800;
  line-height: 1.5;
}
.np-v2-skin .npv2-consult-band .npv2-consult-card p {
  margin: 0;
  max-width: 78ch;
  color: rgb(255 255 255 / 84%);
  font-size: clamp(14px, 1.25vw, 17px);
  line-height: 1.95;
}

.np-v2-skin .npv2-consult-band .npv2-consult-btn {
  justify-self: start;
  padding: 14px 30px;
  border: 1px solid rgb(255 255 255 / 72%);
  border-radius: 8px;
  background: transparent;
  color: #fff;
  font: 700 15px Kalameh, inherit;
  white-space: nowrap;
  cursor: pointer;
  transition: background var(--np-duration, .2s), border-color var(--np-duration, .2s);
}
.np-v2-skin .npv2-consult-band .npv2-consult-btn:hover { background: rgb(255 255 255 / 12%); border-color: #fff; }
.np-v2-skin .npv2-consult-band .npv2-consult-btn:focus-visible { outline: 2px solid #fff; outline-offset: 3px; }

@media (max-width: 720px) {
  .np-v2-skin .npv2-consult-band .npv2-consult-card {
    grid-template-columns: 1fr;
    gap: 22px;
  }
}

/* «جدیدترین محصولات»: سرِ بخش راست‌چین شود. `content.css` روی `end` است که در
   RTL یعنی چپ، برای همین تیتر سمت چپ می‌افتاد. */
.np-v2-skin .npv2-newest-head { text-align: start; }
.np-v2-skin .npv2-newest-head h2,
.np-v2-skin .npv2-newest-head p { text-align: start; }

/* تصویر تازهٔ «جدیدترین محصولات» سوژه‌اش سمت چپ کادر است، پس full-bleed قبلی
   کل سرور را از لبهٔ صفحه بیرون می‌انداخت. بلید برداشته شد و سفیدیِ سمت راستِ
   عکس با object-fit بریده می‌شود تا سرور بزرگ و کامل دیده شود. */
.np-v2-skin .npv2-newest-media { margin-inline-end: 0; }
.np-v2-skin .npv2-newest-media img {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 11;
  object-fit: cover;
  object-position: 6% 50%;
}

/* ---------------------------------------------------------------------------
   فوتر (۲۰۲۶-۰۸-۱۸) — بازنویسی طبق طرح: بلوک برند سمت راست، پنل روشنِ چهار
   ستونهٔ لینک‌ها سمت چپ، و ردیف پایین با نماد اعتماد (چپ) و آیکون‌های
   اجتماعی (راست). کلاس‌ها تازه‌اند (`npv2-foot*`) تا با استایل‌های
   `np-v2-footer__*` تم والد قاطی نشوند.
--------------------------------------------------------------------------- */
.np-v2-skin .npv2-foot {
  display: grid;
  grid-template-columns: minmax(230px, 300px) minmax(0, 1fr);
  align-items: start;
  gap: clamp(28px, 4vw, 72px);
  padding-block: clamp(34px, 4vw, 60px);
}

.np-v2-skin .npv2-foot-brand {
  display: grid;
  justify-items: start;
  gap: 18px;
  text-align: start;
}
.np-v2-skin .npv2-foot-logo img { width: 168px; height: auto; }
.np-v2-skin .npv2-foot-phone,
.np-v2-skin .npv2-foot-mail {
  color: var(--np-ink, #12312d);
  font-size: 17px;
  text-decoration: none;
  transition: color var(--np-duration, .2s);
}
.np-v2-skin .npv2-foot-phone:hover,
.np-v2-skin .npv2-foot-mail:hover { color: var(--np-primary, #007063); }
.np-v2-skin .npv2-foot-address {
  margin: 0;
  max-width: 30ch;
  color: var(--np-ink, #12312d);
  font-size: 15px;
  line-height: 2;
}

.np-v2-skin .npv2-foot-panel {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  padding: clamp(22px, 2.4vw, 36px) clamp(10px, 1.4vw, 20px);
  border-radius: 18px;
  background: #f5f8fa;
}
.np-v2-skin .npv2-foot-panel nav {
  display: grid;
  align-content: start;
  gap: 14px;
  padding-inline: clamp(12px, 1.6vw, 26px);
  border-inline-start: 1px solid rgb(0 112 99 / 14%);
}
.np-v2-skin .npv2-foot-panel nav:first-child { border-inline-start: 0; }
.np-v2-skin .npv2-foot-panel h3 {
  margin: 0 0 6px;
  color: var(--np-primary, #007063) !important;
  font-size: 16px;
  font-weight: 800;
}
.np-v2-skin .npv2-foot-panel a {
  color: var(--np-ink, #12312d);
  font-size: 15px;
  text-decoration: none;
  transition: color var(--np-duration, .2s);
}
.np-v2-skin .npv2-foot-panel a:hover { color: var(--np-primary, #007063); }

.np-v2-skin .npv2-foot-bottom {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-block: 22px 30px;
  border-block-start: 1px solid rgb(0 112 99 / 12%);
}
.np-v2-skin .npv2-foot-social { display: flex; gap: 10px; }
.np-v2-skin .npv2-foot-social a {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 8px;
  color: var(--np-muted, #5b6b68);
  transition: color var(--np-duration, .2s), background var(--np-duration, .2s);
}
.np-v2-skin .npv2-foot-social a:hover { color: var(--np-primary, #007063); background: rgb(0 112 99 / 8%); }
.np-v2-skin .npv2-foot-social svg { width: 20px; height: 20px; }

.np-v2-skin .npv2-foot-copy { margin: 0; color: var(--np-muted, #5b6b68); font-size: 13px; }

.np-v2-skin .npv2-foot-enamad { margin: 0; display: grid; justify-items: center; gap: 4px; color: inherit; text-decoration: none; }
.np-v2-skin .npv2-foot-enamad img { width: 62px; height: auto; }
.np-v2-skin .npv2-foot-enamad span { color: var(--np-muted, #5b6b68); font-size: 10px; }

@media (max-width: 1000px) {
  .np-v2-skin .npv2-foot { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-foot-panel { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 26px 0; }
  .np-v2-skin .npv2-foot-panel nav:nth-child(3) { border-inline-start: 0; }
}
@media (max-width: 620px) {
  .np-v2-skin .npv2-foot-panel { grid-template-columns: 1fr; gap: 24px; }
  .np-v2-skin .npv2-foot-panel nav { border-inline-start: 0; }
  .np-v2-skin .npv2-foot-bottom { flex-wrap: wrap; justify-content: center; text-align: center; }
}

/* تصویر «جدیدترین محصولات» تا لبهٔ چپ صفحه کشیده شود و بزرگ‌تر باشد.
   حاشیهٔ منفی دقیقاً به اندازهٔ فاصلهٔ container تا لبه است (`--np-container-max`
   برابر 1180px)، نه `calc(50% - 50vw)` که چون ۵۰٪ به ستون گرید برمی‌گردد
   بیش از حد بیرون می‌زد و کل سرور را از کادر می‌انداخت. */
.np-v2-skin .npv2-newest-layout { grid-template-columns: minmax(300px, 390px) 1fr; }
.np-v2-skin .npv2-newest-media {
  margin-inline-end: calc(-1 * max(0px, (100vw - 1180px) / 2));
}
.np-v2-skin .npv2-newest-media img {
  aspect-ratio: 16 / 10;
  object-fit: cover;
  object-position: 4% 50%;
}

@media (max-width: 900px) {
  .np-v2-skin .npv2-newest-layout {
    grid-template-columns: minmax(280px, 320px) minmax(0, 1fr);
    gap: clamp(16px, 3vw, 24px);
  }
  .np-v2-skin .npv2-newest-media { margin-inline-end: 0; }
  .np-v2-skin .npv2-newest-media img {
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: left center;
  }
}

@media (max-width: 560px) {
  .np-v2-skin .npv2-newest-layout { grid-template-columns: 1fr; }
  .np-v2-skin .npv2-newest-media img { aspect-ratio: 16 / 10; }
}

/* پس‌زمینهٔ صفحه صریحاً سفید. بدون این، هر صفحه‌ای که سکشن‌هایش پس‌زمینهٔ خودشان
   را ندارند (مثل /blog/) روی سیستمِ dark-mode با بومِ مشکی مرورگر رندر می‌شد.
   body → canvas منتشر می‌شود چون html پس‌زمینه ندارد. */
html { background-color: #fff; }
body.np-v2-skin { background-color: #fff !important; }
.np-v2-skin main.site-main, .np-v2-skin .npv2-main { background-color: #fff; }

/* --------------------------------------------------------------------------
   Homepage capabilities — one-viewport responsive composition (2026-08-20)
   Keeps the approved copy and supplied product assets, while tightening the
   rhythm so the complete active tab is visible without collisions.
---------------------------------------------------------------------------- */
.np-v2-skin .npv2-capabilities {
  min-height: 0;
  display: grid;
  align-items: center;
  padding-block: clamp(32px, 4.5vh, 54px);
  background: #fff;
}
.np-v2-skin .npv2-capabilities > .container { width: min(calc(100% - (2 * var(--np-page-gutter))), 1180px); }
.np-v2-skin .npv2-cap-head { margin: 0 0 clamp(18px, 2.8vh, 30px); }
.np-v2-skin .npv2-cap-head h2 {
  margin: 0;
  font-size: clamp(28px, 3.4vw, 46px);
  line-height: 1.25;
  letter-spacing: -.02em;
}
.np-v2-skin .npv2-capabilities .npv2-tablist {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, max-content));
  justify-content: flex-start;
  gap: 8px;
  margin: 0 0 clamp(18px, 2.8vh, 30px);
}
.np-v2-skin .npv2-capabilities .npv2-tab {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 9px 18px;
  border: 1px solid transparent;
  border-radius: 8px;
  font-size: 14px;
  line-height: 1.35;
  white-space: nowrap;
}
.np-v2-skin .npv2-capabilities .npv2-tab[aria-selected="true"] {
  color: var(--np-ink);
  border-color: rgb(0 112 99 / 12%);
  background: #fff;
  box-shadow: 0 8px 24px rgb(0 112 99 / 10%);
}
.np-v2-skin .npv2-capabilities .npv2-tabpanel.active:not([hidden]) { display: grid; }
.np-v2-skin .npv2-capabilities .npv2-tabpanel {
  grid-template-columns: minmax(0, 1.08fr) minmax(340px, .92fr);
  align-items: center;
  gap: clamp(30px, 5vw, 72px);
  min-height: 0;
}
.np-v2-skin .npv2-capabilities .npv2-cap-body { align-self: center; }
.np-v2-skin .npv2-capabilities .npv2-cap-rule { margin-block-end: clamp(12px, 1.8vh, 18px); }
.np-v2-skin .npv2-capabilities .npv2-cap-body p {
  max-width: 620px;
  margin: 0 0 clamp(18px, 2.5vh, 26px);
  color: var(--npv2-muted);
  font-size: clamp(15px, 1.28vw, 17px);
  line-height: 1.9;
  text-align: start;
}
.np-v2-skin .npv2-capabilities .npv2-cap-points {
  display: grid;
  gap: clamp(10px, 1.6vh, 16px);
  padding-inline-start: 48px;
}
.np-v2-skin .npv2-capabilities .npv2-cap-points::before {
  inset-block: -24px -12px;
  inset-inline-start: -14px;
  width: 108px;
}
.np-v2-skin .npv2-capabilities .npv2-cap-points li { margin: 0; }
.np-v2-skin .npv2-capabilities .npv2-cap-points strong {
  margin-block-end: 2px;
  font-size: clamp(14px, 1.22vw, 16px);
  line-height: 1.55;
}
.np-v2-skin .npv2-capabilities .npv2-cap-points span {
  display: block;
  font-size: clamp(12px, 1.05vw, 14px);
  line-height: 1.65;
}
.np-v2-skin .npv2-capabilities .npv2-cap-media { min-width: 0; }
.np-v2-skin .npv2-capabilities .npv2-cap-media img {
  width: min(100%, 560px);
  max-height: clamp(300px, 48vh, 450px);
  object-fit: contain;
}

@media (max-width: 960px) and (min-width: 701px) {
  .np-v2-skin .npv2-capabilities { min-height: 0; padding-block: clamp(28px, 4vh, 42px); }
  .np-v2-skin .npv2-cap-head { margin-block-start: 0; }
  .np-v2-skin .npv2-cap-head h2 { font-size: clamp(26px, 4vw, 36px); }
  .np-v2-skin .npv2-capabilities .npv2-tabpanel {
    grid-template-columns: minmax(0, 1fr) minmax(290px, .9fr);
    gap: clamp(24px, 4vw, 40px);
    min-height: clamp(350px, 48vh, 430px);
  }
  .np-v2-skin .npv2-capabilities .npv2-cap-body p { font-size: 14.5px; line-height: 1.78; }
  .np-v2-skin .npv2-capabilities .npv2-cap-media img { max-height: clamp(280px, 42vh, 390px); }
  .np-v2-skin .npv2-capabilities .npv2-cap-points { gap: 9px; padding-inline-start: 42px; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points::before { width: 96px; }
}

@media (max-width: 700px) {
  .np-v2-skin .npv2-capabilities {
    min-height: 0;
    padding-block: clamp(24px, 4vh, 36px);
  }
  .np-v2-skin .npv2-capabilities > .container { width: min(calc(100% - 30px), 560px); }
  .np-v2-skin .npv2-cap-head { margin-block-start: 0; margin-block-end: 16px; text-align: center; }
  .np-v2-skin .npv2-cap-head h2 { font-size: clamp(24px, 7vw, 32px); line-height: 1.35; }
  .np-v2-skin .npv2-capabilities .npv2-tablist {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 5px;
    margin-block-end: 14px;
  }
  .np-v2-skin .npv2-capabilities .npv2-tab {
    min-width: 0;
    min-height: 40px;
    padding: 7px 5px;
    font-size: clamp(11px, 3.1vw, 13px);
    white-space: normal;
    text-align: center;
  }
  .np-v2-skin .npv2-capabilities .npv2-tabpanel {
    grid-template-columns: 1fr;
    gap: 12px;
    min-height: 0;
  }
  .np-v2-skin .npv2-capabilities .npv2-tabpanel .npv2-cap-media { order: 1; }
  .np-v2-skin .npv2-capabilities .npv2-tabpanel .npv2-cap-body { order: 2; }
  .np-v2-skin .npv2-capabilities .npv2-cap-media img {
    width: min(100%, 520px);
    max-height: clamp(180px, 28vh, 260px);
    margin-inline: auto;
  }
  .np-v2-skin .npv2-capabilities .npv2-cap-rule { display: none; }
  .np-v2-skin .npv2-capabilities .npv2-cap-body p {
    max-width: none;
    margin-block-end: 14px;
    font-size: clamp(13px, 3.65vw, 15px);
    line-height: 1.72;
  }
  .np-v2-skin .npv2-capabilities .npv2-cap-points {
    gap: 0;
    padding: 0;
  }
  .np-v2-skin .npv2-capabilities .npv2-cap-points::before { display: none; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points li {
    padding-block: 8px;
    border-block-start: 1px solid rgb(0 112 99 / 13%);
  }
  .np-v2-skin .npv2-capabilities .npv2-cap-points strong { font-size: 14px; line-height: 1.45; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points span { font-size: 12px; line-height: 1.5; }
}

@media (max-height: 720px) and (max-width: 700px) {
  .np-v2-skin .npv2-capabilities { padding-block: 20px; }
  .np-v2-skin .npv2-cap-head { margin-block-end: 10px; }
  .np-v2-skin .npv2-cap-head h2 { font-size: 22px; }
  .np-v2-skin .npv2-capabilities .npv2-tablist { margin-block-end: 8px; }
  .np-v2-skin .npv2-capabilities .npv2-tab { min-height: 36px; }
  .np-v2-skin .npv2-capabilities .npv2-cap-media img { max-height: 110px; }
  .np-v2-skin .npv2-capabilities .npv2-cap-body p { margin-block-end: 8px; font-size: 12.5px; line-height: 1.55; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points li { padding-block: 5px; }
}

@media (max-height: 600px) and (min-width: 701px) {
  .np-v2-skin .npv2-capabilities { min-height: 0; padding-block: 18px; }
  .np-v2-skin .npv2-cap-head { margin-block-end: 8px; }
  .np-v2-skin .npv2-cap-head h2 { font-size: 25px; }
  .np-v2-skin .npv2-capabilities .npv2-tablist { margin-block-end: 8px; }
  .np-v2-skin .npv2-capabilities .npv2-tab { min-height: 36px; padding-block: 6px; }
  .np-v2-skin .npv2-capabilities .npv2-tabpanel { min-height: 0; }
  .np-v2-skin .npv2-capabilities .npv2-cap-media img { max-height: 220px; }
  .np-v2-skin .npv2-capabilities .npv2-cap-body p { margin-block-end: 10px; font-size: 13px; line-height: 1.55; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; padding: 0; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points::before { display: none; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points strong { font-size: 12px; }
  .np-v2-skin .npv2-capabilities .npv2-cap-points span { font-size: 10.5px; }
}

/* Prevent intrinsic logo widths from expanding the homepage grid in the
   tablet/landscape range. */
.np-v2-skin .npv2-logo-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); }
@media (max-width: 900px) {
  .np-v2-skin .npv2-logo-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 600px) {
  .np-v2-skin .npv2-logo-grid { display: flex; }

  /* Homepage headings are centered on narrow screens while supporting copy
     and card metadata keep their existing RTL alignment. */
  body.home.np-v2-skin .npv2-main :is(h1, h2, h3),
  body.home.np-v2-skin .np-v2-footer__cta h2 {
    text-align: center;
  }

  body.home.np-v2-skin .npv2-hero .npv2-hero-copy > p {
    text-align: center !important;
  }
}

/* Compact mobile header requested for the homepage review. The hamburger
   retains its aria-label and drawer behavior while its visible text is hidden. */
@media (max-width: 1160px) {
  body.np-v2-skin .site-header .np-v2-header__actions .np-menu-toggle {
    width: 44px;
    min-width: 44px;
    padding-inline: 0;
    grid-template-columns: 1fr;
  }
  body.np-v2-skin .site-header .np-v2-header__actions .np-menu-toggle > span {
    display: none !important;
  }
}

/* Hide guest auth CTAs for every collapsed-header breakpoint, including
   landscape phones and compact tablets where the hamburger is already active. */
@media (max-width: 1160px) {
  body.home.np-v2-skin .site-header .np-v2-header__inner .np-v2-header__actions > :is(.np-v2-signup-link, .np-v2-login-btn) {
    display: none !important;
  }
}

/* Homepage DL360 showcase: match the supplied horizontal product-card reference. */
body.home.np-v2-skin .npv2-newest-list {
  gap: 22px;
}

body.home.np-v2-skin .npv2-newest-card {
  min-height: 150px;
  padding: 14px 18px;
  border: 0;
  border-radius: 20px;
  background: #fff;
  box-shadow: 0 12px 30px rgb(38 52 70 / 12%);
}

body.home.np-v2-skin .npv2-newest-card:hover {
  border-color: transparent;
  box-shadow: 0 15px 34px rgb(38 52 70 / 16%);
}

body.home.np-v2-skin .npv2-newest-copy {
  align-items: center;
  justify-content: center;
  gap: 9px;
  text-align: center;
}

body.home.np-v2-skin .npv2-newest-copy strong {
  color: #33445d;
  font-size: clamp(16px, 1.45vw, 20px);
  font-weight: 800;
  line-height: 1.35;
}

body.home.np-v2-skin .npv2-newest-copy span {
  color: #60718e;
  font-size: clamp(14px, 1.25vw, 17px);
  font-weight: 500;
  line-height: 1.45;
}

body.home.np-v2-skin .npv2-newest-thumb {
  flex: 0 0 136px;
  width: 136px;
  height: 122px;
  padding: 8px;
  border-radius: 12px;
  background: #f6f8fb;
}

body.home.np-v2-skin .npv2-newest-thumb img {
  width: 120px !important;
  height: 106px !important;
  padding: 0;
  border-radius: 0;
  mix-blend-mode: multiply;
  object-fit: contain;
}

body.home.np-v2-skin .npv2-newest-cta .npv2-button {
  min-height: 48px;
  padding: 11px 24px;
  border-color: #d8dee8;
  border-radius: 11px;
  color: #6a7588;
  font-weight: 800;
}

@media (max-width: 760px) {
  body.home.np-v2-skin .npv2-newest-layout {
    display: block;
  }

  body.home.np-v2-skin .npv2-newest-media {
    display: block;
    width: min(100%, 500px);
    margin: 0 auto 24px;
  }

  body.home.np-v2-skin .npv2-newest-media img {
    display: block;
    width: 100%;
    height: auto;
    aspect-ratio: auto;
    object-fit: contain;
    object-position: center;
  }

  body.home.np-v2-skin .npv2-newest-list {
    width: min(100%, 500px);
    margin-inline: auto;
    gap: 34px;
  }

  body.home.np-v2-skin .npv2-newest-card {
    min-height: 178px;
    padding: 14px 18px;
  }

  body.home.np-v2-skin .npv2-newest-thumb {
    flex-basis: 150px;
    width: 150px;
    height: 150px;
    padding: 10px;
  }

  body.home.np-v2-skin .npv2-newest-thumb img {
    width: 130px !important;
    height: 130px !important;
  }

  body.home.np-v2-skin .npv2-newest-copy strong {
    font-size: 18px;
  }

  body.home.np-v2-skin .npv2-newest-copy span {
    font-size: 16px;
  }

  body.home.np-v2-skin .npv2-newest-cta {
    margin-block-start: 6px;
  }
}

@media (max-width: 520px) {
  body.home.np-v2-skin .npv2-newest-list {
    gap: 24px;
  }

  body.home.np-v2-skin .npv2-newest-card {
    min-height: 136px;
    gap: 12px;
    padding: 12px 14px;
    border-radius: 17px;
  }

  body.home.np-v2-skin .npv2-newest-thumb {
    flex-basis: 112px;
    width: 112px;
    height: 112px;
    padding: 8px;
    border-radius: 10px;
  }

  body.home.np-v2-skin .npv2-newest-thumb img {
    width: 96px !important;
    height: 96px !important;
  }

  body.home.np-v2-skin .npv2-newest-copy strong {
    font-size: clamp(14px, 4.2vw, 17px);
  }

  body.home.np-v2-skin .npv2-newest-copy span {
    font-size: clamp(12px, 3.7vw, 15px);
  }

  body.home.np-v2-skin .npv2-newest-cta .npv2-button {
    min-height: 44px;
    padding-inline: 18px;
    font-size: 14px;
  }
}

/* Keep every homepage section subtitle centered beneath its heading. */
body.home.np-v2-skin main .npv2-section h2 + p {
  margin-inline: auto;
  text-align: center !important;
  text-align-last: center;
}

/* Homepage hero: remove the decorative green halo so the canvas stays pure white. */
body.home.np-v2-skin .npv2-hero-visual::before {
  display: none;
  background: none;
}


/* Homepage final alignment: balanced category grid and Iran separator. */
body.home.np-v2-skin .npv2-category-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  width: 100%;
  margin-inline: auto;
}
body.home.np-v2-skin .npv2-reach-list li:last-child {
  border-inline-start: 3px solid rgb(255 255 255 / 78%);
}
@media (max-width: 767px) {
  body.home.np-v2-skin .npv2-category-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
@media (max-width: 900px) {
  body.home.np-v2-skin .npv2-reach-list li:last-child {
    border-inline-start-color: rgb(255 255 255 / 72%);
  }
}

/* Homepage compact rhythm — stable high-priority override for the statement
   hero. Kept here because this is the primary, cache-busted surface bundle. */
body.home.np-v2-skin #primary.npv2-main .npv2-hero.npv2-hero--statement {
  min-height: clamp(420px, 38vw, 540px) !important;
  padding: clamp(50px, 5vw, 72px) 0 clamp(58px, 6.2vw, 88px) !important;
}

@media (min-width: 821px) {
  body.home.np-v2-skin #primary.npv2-main .npv2-hero--statement .npv2-hero-visual {
    min-height: clamp(300px, 29vw, 420px) !important;
  }

  body.home.np-v2-skin #primary.npv2-main .npv2-hero--statement .npv2-hero-mark {
    width: min(100%, 470px) !important;
  }
}

@media (min-width: 601px) and (max-width: 820px) {
  body.home.np-v2-skin #primary.npv2-main .npv2-hero.npv2-hero--statement {
    min-height: 0 !important;
    padding: 36px 0 52px !important;
  }
}

@media (max-width: 600px) {
  body.home.np-v2-skin #primary.npv2-main .npv2-hero.npv2-hero--statement {
    min-height: 0 !important;
    padding: 20px 0 46px !important;
  }
}

/* One responsive vertical rhythm for every standard homepage section.
   Adjacent sections now use the same half-gap on both sides, so the visible
   boundary rhythm stays consistent from phone through wide desktop. */
body.home.np-v2-skin #primary.npv2-main {
  --np-home-section-pad: clamp(32px, 3.5vw, 46px);
}

body.home.np-v2-skin #primary.npv2-main > .npv2-section {
  padding-block: var(--np-home-section-pad) !important;
}

/* Reset the homepage consultation card offset. */
body.home.np-v2-skin #primary.npv2-main .npv2-consult-band .npv2-consult-card {
  top: auto;
  bottom: auto;
}

/* Align capability copy to the media baseline. */
@media (min-width: 701px) {
  body.home.np-v2-skin #primary.npv2-main .npv2-capabilities .npv2-cap-body {
    align-self: end;
  }
}

/* Keep the capability choices centered as one group and remove the decorative
   dotted rule so the content begins directly with useful copy on every device. */
body.home.np-v2-skin #primary.npv2-main .npv2-capabilities .npv2-tablist {
  justify-content: center;
}

body.home.np-v2-skin #primary.npv2-main .npv2-capabilities .npv2-cap-rule {
  display: none;
}
