@import url("/fonts/vazirmatn/vazirmatn-local.css");

* {
  box-sizing: border-box;
}

:root {
  --bg: #eef4ff;
  --card: #ffffff;
  --text: #0f172a;
  --muted: #64748b;

  --primary: #4f46e5;
  --primary-hover: #4338ca;
  --primary-soft: #eef2ff;

  --border: #dbe4f0;
  --input-bg: #ffffff;

  --success-bg: #dcfce7;
  --success-text: #166534;

  --error-bg: #fee2e2;
  --error-text: #991b1b;

  --warning-bg: #fff7ed;
  --warning-border: #fed7aa;
  --warning-text: #9a3412;

  --answer-bg: #f8fafc;

  --nm-text-soft: #334155;
  --nm-primary: #4f46e5;
  --nm-primary-dark: #3730a3;
  --nm-primary-hover: #4338ca;
  --nm-blue: #2563eb;
  --nm-blue-hover: #1d4ed8;
  --nm-primary-soft: #eef2ff;
  --nm-border-soft: rgba(99, 102, 241, 0.14);
  --nm-shadow-navbar: 0 10px 35px rgba(15, 23, 42, 0.045);
  --nm-shadow-button: 0 14px 30px rgba(79, 70, 229, 0.25);
}

body {
  margin: 0;
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
  background:
    radial-gradient(circle at top left, rgba(79, 70, 229, 0.16), transparent 32%),
    linear-gradient(180deg, #eef4ff 0%, #f8fbff 100%);
  color: var(--text);
}

a {
  text-decoration: none;
}

button,
input {
  font-family: inherit;
}

/* =========================
   Navbar
========================= */

.navbar,
.navbar * {
  box-sizing: border-box;
}

.navbar {
  width: 100%;
  height: 96px;
  position: sticky;
  top: 0;
  z-index: 5000;
  background: transparent;
  overflow: visible;
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    sans-serif;

  transform: translateY(0);
  transition: transform 0.28s ease;
  will-change: transform;
}

.navbar.navbar-hidden {
  transform: translateY(-120%);
}

.navbar::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  left: 385px;
  height: 96px;

  background: rgba(255, 255, 255, 0.90);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-bottom: 1px solid var(--nm-border-soft);
  border-bottom-left-radius: 999px;
  box-shadow: var(--nm-shadow-navbar);
  z-index: 0;
}

.navbar-container {
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0 48px 0 70px;

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 30px;

  position: relative;
  z-index: 2;
  overflow: visible;
}

.navbar-logo {
  width: 300px;
  height: 96px;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  flex-shrink: 0;
  overflow: visible;
  position: relative;
  z-index: 5;

  margin-left: 0;
}

.logo-img {
  width: 500px;
  height: auto;
  max-height: 155px;

  display: block;
  object-fit: contain;
  object-position: left center;

  transform: translateY(3px);
}

.navbar-menu {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
}

.nav-link {
  height: 44px;
  padding: 0 14px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;

  border-radius: 999px;
  color: var(--nm-text-soft);
  font-size: 15.5px;
  font-weight: 750;
  letter-spacing: -0.2px;
  white-space: nowrap;

  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.nav-link:hover {
  color: var(--nm-primary-dark);
  background: var(--nm-primary-soft);
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(79, 70, 229, 0.07);
}

.nav-icon {
  width: 15px;
  height: 15px;
  color: #7b8493;
  stroke-width: 2.35;

  transition:
    transform 0.22s ease,
    color 0.22s ease;
}

.nav-link:hover .nav-icon {
  color: var(--nm-primary);
  transform: rotate(180deg);
}

.language {
  margin-left: 6px;
  gap: 9px;
}

.flag-box {
  width: 31px;
  height: 21px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 6px;
  overflow: hidden;

  font-size: 13px;
  font-weight: 800;
  color: #334155;
  background: #f8fafc;

  box-shadow:
    0 0 0 1px rgba(17, 24, 39, 0.08),
    0 5px 12px rgba(17, 24, 39, 0.06);
}

.navbar-actions {
  display: flex;
  align-items: center;
  gap: 14px;
  flex-shrink: 0;
}

.btn {
  height: 46px;
  padding: 0 24px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 13px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.15px;
  white-space: nowrap;

  transition:
    transform 0.22s ease,
    box-shadow 0.22s ease,
    background-color 0.22s ease,
    border-color 0.22s ease;
}

.btn-login {
  color: var(--nm-primary-dark);
  background: rgba(255, 255, 255, 0.75);
  border: 1.5px solid rgba(79, 70, 229, 0.35);
}

.btn-login:hover {
  background: var(--nm-primary-soft);
  border-color: rgba(79, 70, 229, 0.55);
  transform: translateY(-1px);
  box-shadow: 0 10px 24px rgba(79, 70, 229, 0.12);
}

.btn-primary {
  color: #ffffff;
  background: linear-gradient(135deg, var(--nm-primary), var(--nm-blue));
  border: 1.5px solid rgba(79, 70, 229, 0.18);
  box-shadow: var(--nm-shadow-button);
}

.btn-primary:hover {
  background: linear-gradient(135deg, var(--nm-primary-hover), var(--nm-blue-hover));
  transform: translateY(-2px);
  box-shadow: 0 18px 40px rgba(79, 70, 229, 0.32);
}

.mobile-menu-btn {
  display: none;
  width: 44px;
  height: 44px;

  align-items: center;
  justify-content: center;

  border: 1px solid rgba(79, 70, 229, 0.14);
  background: rgba(255, 255, 255, 0.75);
  border-radius: 14px;
  cursor: pointer;
  flex-shrink: 0;
}

.mobile-menu-btn svg {
  width: 22px;
  height: 22px;
  color: var(--nm-primary-dark);
}

/* =========================
   Page / Main Layout
========================= */

.page {
  min-height: calc(100vh - 96px);
  padding: 92px 20px 60px;
}

.container {
  max-width: 980px;
  margin: 0 auto;
}

.card {
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid rgba(219, 228, 240, 0.85);
  border-radius: 24px;
  box-shadow: 0 20px 55px rgba(15, 23, 42, 0.08);
  padding: 24px;
  margin-bottom: 24px;
  backdrop-filter: blur(10px);
}

.search-card {
  position: relative;
  z-index: 1000;
}

.form {
  display: grid;
  grid-template-columns: 1fr 210px 190px 140px;
  gap: 12px;
  align-items: start;
}

input {
  height: 52px;
  border-radius: 14px;
  border: 1px solid var(--border);
  background: var(--input-bg);
  font-size: 16px;
  padding: 0 16px;
  outline: none;
  width: 100%;
  color: var(--text);
}

input::placeholder {
  color: #94a3b8;
}

input:focus {
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.12);
}

button {
  font-family: Arial, sans-serif;
}

#checkButton {
  height: 52px;
  border-radius: 14px;
  border: none;
  background: linear-gradient(135deg, var(--primary), #2563eb);
  color: white;
  cursor: pointer;
  font-weight: 700;
  font-size: 16px;
  padding: 0 16px;
  width: 100%;
  box-shadow: 0 12px 24px rgba(79, 70, 229, 0.25);
}

#checkButton:hover {
  background: linear-gradient(135deg, var(--primary-hover), #1d4ed8);
}

#checkButton:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

#checkButton.cancel-mode {
  background: linear-gradient(135deg, #dc2626, #b91c1c);
  box-shadow: 0 12px 24px rgba(220, 38, 38, 0.22);
}

#checkButton.cancel-mode:hover {
  background: linear-gradient(135deg, #b91c1c, #991b1b);
}

/* =========================
   Custom Selects
========================= */

.custom-select {
  position: relative;
  height: 52px;
  z-index: 2000;
}

.select-trigger {
  width: 100%;
  height: 52px;
  background: var(--input-bg);
  color: var(--text);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 0 14px;
  cursor: pointer;

  display: flex;
  align-items: center;
  justify-content: flex-start;

  text-align: left;
  appearance: none;
  -webkit-appearance: none;
}

.select-trigger:hover {
  background: #f8faff;
  border-color: #b9c7f8;
}

.select-trigger span:first-child {
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.select-trigger strong {
  font-size: 15px;
  line-height: 1.1;
  color: var(--text);
  font-weight: 700;
  letter-spacing: 0;
}

.select-trigger small {
  font-size: 12px;
  line-height: 1.2;
  color: var(--muted);
}

.select-menu {
  display: none;
  position: absolute;
  top: 60px;
  left: 0;
  right: 0;
  z-index: 6000;
  background: #ffffff;
  border: 1px solid var(--border);
  border-radius: 16px;
  padding: 8px;
  box-shadow: 0 18px 45px rgba(15, 23, 42, 0.16);
}

.custom-select.open .select-menu {
  display: grid;
  gap: 6px;
}

.select-option {
  width: 100%;
  min-height: 54px;
  height: auto;
  background: transparent;
  color: var(--text);
  border: none;
  border-radius: 12px;
  padding: 10px 12px;

  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  gap: 3px;

  cursor: pointer;
  text-align: left;
  font-weight: 400;
  appearance: none;
  -webkit-appearance: none;
}

.select-option:hover {
  background: #f4f7ff;
}

.select-option.active {
  background: var(--primary-soft);
}

.select-option strong {
  font-size: 15px;
  color: var(--text);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: 0;
}

.select-option small {
  font-size: 12px;
  color: var(--muted);
}

.select-option.active strong,
.select-option.active small {
  color: var(--primary);
}

/* =========================
   Info / Errors
========================= */

.info-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 16px;
}

.meta {
  color: var(--muted);
  font-size: 14px;
}

.info-row .meta {
  margin-top: 0;
}

.user-ip {
  direction: ltr;
  text-align: right;
  font-family: Consolas, monospace;
}

.error-box {
  display: none;
  background: var(--error-bg);
  color: var(--error-text);
  border: 1px solid #fecaca;
  border-radius: 16px;
  padding: 14px 16px;
  margin-top: 16px;
}

/* =========================
   Results
========================= */

.results-container {
  display: grid;
  gap: 18px;
  margin-top: 24px;
  position: relative;
  z-index: 1;
}

.result-group-title {
  color: var(--muted);
  font-size: 14px;
  font-weight: 700;
  margin: 8px 0 -6px;
}

.dns-result-card {
  position: relative;
  z-index: 1;
}

.result-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  margin-bottom: 18px;
}

.location {
  font-size: 18px;
  font-weight: 700;
}

.source-badge {
  display: inline-block;
  margin-top: 8px;
  padding: 5px 9px;
  border-radius: 999px;
  background: var(--primary-soft);
  color: var(--primary);
  font-size: 12px;
  font-weight: 700;
}

.status {
  padding: 7px 12px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
}

.status.success {
  background: var(--success-bg);
  color: var(--success-text);
}

.status.error {
  background: var(--error-bg);
  color: var(--error-text);
}

.answers {
  display: grid;
  gap: 10px;
}

.answer {
  background: var(--answer-bg);
  border: 1px solid var(--border);
  border-radius: 14px;
  padding: 14px 16px;
  word-break: break-word;
}

.answer-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.answer-value {
  font-family: Consolas, monospace;
  word-break: break-word;
}

.copy-button {
  border: 1px solid var(--border);
  background: #ffffff;
  color: var(--primary);
  border-radius: 10px;
  padding: 7px 10px;
  cursor: pointer;
  font-size: 13px;
  font-weight: 700;
  flex-shrink: 0;
}

.copy-button:hover {
  background: var(--primary-soft);
}

.copy-button.copied {
  background: var(--success-bg);
  color: var(--success-text);
  border-color: var(--success-bg);
}

.answer-warning {
  margin-top: 8px;
  background: var(--warning-bg);
  border: 1px solid var(--warning-border);
  color: var(--warning-text);
  border-radius: 12px;
  padding: 10px 12px;
  font-size: 13px;
  line-height: 1.5;
}

.empty {
  color: var(--muted);
  background: var(--answer-bg);
  border-radius: 14px;
  padding: 16px;
}

.stats {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 18px;
}

.stat {
  background: #f1f5f9;
  border-radius: 12px;
  padding: 10px 12px;
  color: #334155;
  font-size: 14px;
}

/* =========================
   Guide Section
========================= */

.guide-section {
  margin-top: 56px;
  margin-bottom: 40px;
}

.guide-card {
  background: rgba(255, 255, 255, 0.86);
  border: 1px solid rgba(219, 228, 240, 0.9);
  border-radius: 28px;
  padding: 34px;
  box-shadow: 0 22px 60px rgba(15, 23, 42, 0.07);
  backdrop-filter: blur(10px);
}

.guide-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;

  padding: 7px 12px;
  border-radius: 999px;

  background: var(--primary-soft);
  color: var(--primary);

  font-size: 13px;
  font-weight: 800;
  margin-bottom: 16px;
}

.guide-card h2 {
  margin: 0 0 14px;
  color: var(--text);
  font-size: 30px;
  line-height: 1.2;
  letter-spacing: -0.6px;
}

.guide-card > p {
  margin: 0 0 14px;
  color: var(--muted);
  font-size: 16px;
  line-height: 1.8;
}

.guide-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.guide-item {
  background: #f8fafc;
  border: 1px solid rgba(219, 228, 240, 0.95);
  border-radius: 18px;
  padding: 18px;
}

.guide-item h3 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 17px;
  line-height: 1.3;
}

.guide-item p {
  margin: 0;
  color: var(--muted);
  font-size: 14px;
  line-height: 1.7;
}

.guide-note {
  margin-top: 24px;
  padding: 20px;
  border-radius: 20px;
  background: linear-gradient(135deg, #eef2ff, #f8fafc);
  border: 1px solid rgba(99, 102, 241, 0.16);
}

.guide-note h3 {
  margin: 0 0 8px;
  color: var(--text);
  font-size: 18px;
}

.guide-note p {
  margin: 0;
  color: var(--muted);
  font-size: 15px;
  line-height: 1.8;
}

/* =========================
   Responsive
========================= */

@media (max-width: 1180px) {
  .navbar::before {
    left: 355px;
  }

  .navbar-container {
    padding: 0 36px 0 58px;
  }

  .navbar-logo {
    width: 280px;
  }

  .logo-img {
    width: 445px;
    max-height: 140px;
  }

  .navbar-menu {
    gap: 2px;
  }

  .nav-link {
    padding: 0 10px;
    font-size: 14.5px;
  }

  .btn {
    padding: 0 18px;
  }

  .form {
    grid-template-columns: 1fr 200px 180px 135px;
  }
}

@media (max-width: 980px) {
  .navbar {
    height: 82px;
  }

  .navbar::before {
    left: 305px;
    height: 82px;
  }

  .navbar-container {
    padding: 0 24px 0 44px;
  }

  .navbar-logo {
    width: 245px;
    height: 82px;
  }

  .logo-img {
    width: 375px;
    max-height: 118px;
  }

  .navbar-menu,
  .navbar-actions {
    display: none;
  }

  .mobile-menu-btn {
    display: inline-flex;
  }

  .page {
    min-height: calc(100vh - 82px);
    padding-top: 56px;
  }

  .form {
    grid-template-columns: 1fr;
  }

  .info-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .user-ip {
    text-align: left;
  }

  .result-header {
    align-items: flex-start;
    flex-direction: column;
  }

  .answer-main {
    align-items: flex-start;
    flex-direction: column;
  }

  .copy-button {
    width: 100%;
  }
}

@media (max-width: 720px) {
  .guide-card {
    padding: 24px;
    border-radius: 22px;
  }

  .guide-card h2 {
    font-size: 24px;
  }

  .guide-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .navbar::before {
    left: 250px;
  }

  .navbar-container {
    padding: 0 16px 0 28px;
  }

  .navbar-logo {
    width: 205px;
    height: 82px;
  }

  .logo-img {
    width: 305px;
    max-height: 96px;
  }

  .page {
    padding: 36px 14px 40px;
  }

  .card {
    padding: 18px;
    border-radius: 20px;
  }
}



/* =========================
   SEO Hero Title
========================= */

.seo-hero {
  text-align: center;
  margin: -8px auto 28px;
  padding: 0 20px;
}

.seo-hero h1 {
  margin: 0;
  color: #5521b5;
  font-size: clamp(20px, 2.5vw, 32px);
  line-height: 1.15;
  font-weight: 700;
  letter-spacing: -0.025em;
  max-width: 980px;
  margin-inline: auto;
  white-space: nowrap;
}

@media (max-width: 1200px) {
  .seo-hero h1 {
    font-size: clamp(20px, 3vw, 28px);
  }
}

@media (max-width: 900px) {
  .seo-hero {
    margin: 2px auto 14px;
  }

  .seo-hero h1 {
    font-size: clamp(18px, 4vw, 24px);
    white-space: normal;
    line-height: 1.2;
  }
}

@media (max-width: 768px) {
  .seo-hero {
    margin: 4px auto 14px;
    padding: 0 16px;
  }

  .seo-hero h1 {
    font-size: clamp(17px, 5.8vw, 22px);
    line-height: 1.25;
    letter-spacing: -0.015em;
    white-space: normal;
  }
}


/* =========================
   Language Switcher
========================= */

.language-switcher {
  position: relative;
  margin-left: 6px;
  display: inline-flex;
  align-items: center;
}

.language-trigger {
  border: 0;
  background: transparent;
  cursor: pointer;
  font-family: inherit;
}

.language-switcher.is-open .language-trigger {
  color: var(--nm-primary-dark);
  background: var(--nm-primary-soft);
}

.language-switcher.is-open .language-trigger .nav-icon {
  color: var(--nm-primary);
  transform: rotate(180deg);
}

.language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1000;

  min-width: 150px;
  padding: 8px;

  display: none;

  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;

  box-shadow:
    0 20px 45px rgba(15, 23, 42, 0.12),
    0 8px 18px rgba(15, 23, 42, 0.06);

  backdrop-filter: blur(14px);
}

.language-switcher.is-open .language-menu {
  display: block;
}

.language-option {
  width: 100%;
  height: 42px;
  padding: 0 10px;

  display: flex;
  align-items: center;
  gap: 10px;

  border-radius: 10px;

  color: var(--nm-text-soft);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -0.15px;
  white-space: nowrap;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.language-option:hover {
  color: var(--nm-primary-dark);
  background: var(--nm-primary-soft);
  transform: translateY(-1px);
}

@media (max-width: 980px) {
  .language-switcher {
    margin-left: 0;
  }

  .language-menu {
    position: static;
    display: none;
    width: 100%;
    margin-top: 6px;
    box-shadow: none;
  }

  .language-switcher.is-open .language-menu {
    display: block;
  }
}



/* =========================
   Keep Vazirmatn Fix Navbar Layout
========================= */

/* فونت دست نمی‌خورد؛ فقط چیدمان navbar مثل قبل LTR شود */
.fa-page .navbar,
.fa-page .navbar-container {
  direction: ltr !important;
}

.fa-page .navbar-container {
  flex-direction: row !important;
  align-items: center !important;
}

/* ترتیب مثل قبل: لوگو چپ، منو وسط، دکمه‌ها راست */
.fa-page .navbar-logo,
.fa-page .logo,
.fa-page .brand,
.fa-page .navbar-brand {
  order: 1 !important;
}

.fa-page .navbar-menu {
  order: 2 !important;
  direction: ltr !important;
  display: flex !important;
  align-items: center !important;
  gap: 42px !important;
}

.fa-page .navbar-actions {
  order: 3 !important;
  direction: ltr !important;
  display: flex !important;
  align-items: center !important;
  gap: 16px !important;
}

/* همان فونت و همان حالت فشرده‌ای که درست شده بود */
.fa-page .navbar-menu .nav-link,
.fa-page .language-trigger {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 20px !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
  color: #222 !important;
  text-decoration: none !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
}

/* متن فارسی داخل آیتم‌ها درست بماند */
.fa-page .navbar-menu .nav-link {
  direction: rtl !important;
  text-align: right !important;
}

/* زبان به شکل FA Persian بماند */
.fa-page .language-trigger {
  direction: ltr !important;
  text-align: left !important;
}

.fa-page .navbar-menu .nav-icon,
.fa-page .language-trigger .nav-icon {
  width: 14px !important;
  height: 14px !important;
  opacity: 0.55 !important;
  flex-shrink: 0 !important;
}

.fa-page .navbar .flag-box {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  letter-spacing: 0 !important;
}

.fa-page .navbar-actions .btn {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
}












/* FA NAVBAR ITEMS RIGHT START */

/* لوگو به سایز اصلی برگردد؛ دیگر محدودش نکن */
.fa-page .navbar-logo img,
.fa-page .logo img,
.fa-page .brand img,
.fa-page .navbar-brand img {
  max-width: none !important;
}

/* فقط آیتم‌های منو کمی جمع‌تر و مرتب‌تر شوند */
.fa-page .navbar-menu {
  gap: 10px !important;
  transform: translateX(18px);
}

.fa-page .navbar-menu .nav-link,
.fa-page .language-trigger {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.6px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  gap: 4px !important;
}

.fa-page .navbar-menu .nav-icon,
.fa-page .language-trigger .nav-icon {
  width: 11px !important;
  height: 11px !important;
  opacity: 0.55 !important;
}

/* دکمه‌ها کمی جمع‌تر بمانند و همراه منو کمی به راست بیایند */
.fa-page .navbar-actions {
  gap: 8px !important;
  transform: translateX(18px);
}

.fa-page .navbar-actions .btn {
  font-size: 14px !important;
  font-weight: 700 !important;
  padding-inline: 10px !important;
  min-width: auto !important;
  white-space: nowrap !important;
}

/* FA NAVBAR ITEMS RIGHT END */


/* FA BUTTONS LIKE EN START */

/* دکمه‌های navbar فارسی شبیه نسخه انگلیسی */
.fa-page .navbar-actions .btn {
  height: 56px !important;
  padding-inline: 24px !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1 !important;
  min-width: 118px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
}

/* دکمه شروع کمی پهن‌تر مثل Get started */
.fa-page .navbar-actions .btn:last-child {
  min-width: 132px !important;
}

/* FA BUTTONS LIKE EN END */


/* FA ONE AUTH BUTTON START */

/* یک دکمه ترکیبی برای ورود / ثبت‌نام در navbar فارسی */
.fa-page .fa-auth-button {
  align-items: center;
  background-image: linear-gradient(144deg, #AF40FF, #5B42F3 50%, #00DDEB);
  border: 0;
  border-radius: 10px;
  box-shadow: rgba(91, 66, 243, 0.22) 0 12px 24px -8px;
  box-sizing: border-box;
  color: #ffffff;
  display: inline-flex;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-width: 128px;
  padding: 2px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

.fa-page .fa-auth-button span {
  background-color: rgb(5, 6, 45);
  padding: 12px 18px;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  transition: 300ms;
  text-align: center;
}

.fa-page .fa-auth-button:hover span {
  background: transparent;
}

/* FA ONE AUTH BUTTON END */


/* EN ONE AUTH BUTTON START */

/* one combined auth button for English navbar */
.en-auth-button {
  align-items: center;
  background-image: linear-gradient(144deg, #AF40FF, #5B42F3 50%, #00DDEB);
  border: 0;
  border-radius: 10px;
  box-shadow: rgba(91, 66, 243, 0.22) 0 12px 24px -8px;
  box-sizing: border-box;
  color: #ffffff;
  display: inline-flex;
  font-family: inherit;
  font-size: 15px;
  font-weight: 700;
  justify-content: center;
  line-height: 1;
  min-width: 188px;
  padding: 2px;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
  -webkit-user-select: none;
}

.en-auth-button span {
  background-color: rgb(5, 6, 45);
  padding: 12px 18px;
  border-radius: 8px;
  width: 100%;
  height: 100%;
  transition: 300ms;
  text-align: center;
}

.en-auth-button:hover span {
  background: transparent;
}

/* EN ONE AUTH BUTTON END */


/* AUTH BUTTON REVERSE COLOR START */

/* حالت عادی: رنگی */
.en-auth-button span,
.fa-page .fa-auth-button span {
  background: transparent !important;
}

/* وقتی موس میره روش: مشکی */
.en-auth-button:hover span,
.fa-page .fa-auth-button:hover span {
  background-color: rgb(5, 6, 45) !important;
}

/* AUTH BUTTON REVERSE COLOR END */


/* FA HERO SEARCH FONT START */

/* عنوان اصلی فارسی */
.fa-page .seo-hero h1 {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: clamp(34px, 2.4vw, 42px) !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
  line-height: 1.35 !important;
}

/* خود کارت سرچ فارسی */
.fa-page .search-card {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

/* دکمه بررسی DNS */
.fa-page #checkButton {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.7px !important;
  line-height: 1 !important;
}

/* dropdownها */
.fa-page .select-trigger,
.fa-page .select-option {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.5px !important;
}

/* input دامنه */
.fa-page #domainInput {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: -0.2px !important;
}

/* متن‌های زیر فرم */
.fa-page .meta,
.fa-page .info-row {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 400 !important;
  letter-spacing: -0.2px !important;
}

/* متن توضیح رکورد مثل آدرس IPv4 */
.fa-page .selected-record-desc,
.fa-page #selectedRecordDesc {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 13px !important;
  font-weight: 400 !important;
  letter-spacing: -0.2px !important;
}

/* FA HERO SEARCH FONT END */






/* FA DNS GUIDE STYLE START */

.fa-page .fa-dns-guide,
.fa-page .fa-dns-guide * {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

.fa-page .fa-dns-guide {
  direction: rtl !important;
  text-align: right !important;
}

.fa-page .fa-dns-guide .guide-card {
  direction: rtl !important;
  text-align: right !important;
}

.fa-page .fa-dns-guide .guide-badge {
  display: inline-flex !important;
  margin-bottom: 18px !important;
}

.fa-page .fa-dns-guide h2 {
  text-align: center !important;
  font-size: clamp(28px, 2vw, 40px) !important;
  font-weight: 700 !important;
  letter-spacing: -1px !important;
  line-height: 1.5 !important;
}

.fa-page .fa-dns-guide .guide-intro {
  max-width: 760px !important;
  margin: 0 auto 28px !important;
  text-align: center !important;
  font-size: 16px !important;
  line-height: 2 !important;
}

.fa-page .fa-dns-guide h3 {
  font-size: 22px !important;
  font-weight: 700 !important;
  letter-spacing: -0.8px !important;
  line-height: 1.7 !important;
}

.fa-page .fa-dns-guide .records-title {
  margin: 34px 0 18px !important;
  text-align: right !important;
}

.fa-page .fa-dns-guide p,
.fa-page .fa-dns-guide li {
  font-size: 16px !important;
  font-weight: 400 !important;
  letter-spacing: -0.25px !important;
  line-height: 2 !important;
  text-align: right !important;
}

.fa-page .fa-dns-guide ul {
  padding-right: 24px !important;
  padding-left: 0 !important;
}

.fa-page .fa-dns-guide .fa-guide-grid {
  direction: rtl !important;
}

.fa-page .fa-dns-guide .guide-item {
  direction: rtl !important;
  text-align: right !important;
}

.fa-page .fa-dns-guide .guide-note {
  direction: rtl !important;
  text-align: right !important;
}

/* FA DNS GUIDE STYLE END */


/* EN COMPACT DNS RESULTS START */

body:not(.fa-page) .result-group-title {
  margin: 26px 0 12px;
  font-size: 15px;
  font-weight: 700;
}

body:not(.fa-page) .dns-result-card {
  padding: 18px 22px !important;
  border-radius: 20px !important;
  margin-bottom: 12px !important;
}

body:not(.fa-page) .result-header {
  margin-bottom: 10px !important;
  align-items: center !important;
}

body:not(.fa-page) .result-header h3 {
  font-size: 16px !important;
  line-height: 1.35 !important;
  margin: 0 !important;
}

body:not(.fa-page) .result-header .meta,
body:not(.fa-page) .result-header small {
  font-size: 12px !important;
}

body:not(.fa-page) .status {
  padding: 6px 12px !important;
  font-size: 12px !important;
  border-radius: 999px !important;
}

body:not(.fa-page) .answers {
  gap: 8px !important;
  margin-top: 8px !important;
}

body:not(.fa-page) .answer {
  padding: 10px 12px !important;
  min-height: 42px !important;
  border-radius: 12px !important;
}

body:not(.fa-page) .answer-main {
  align-items: center !important;
}

body:not(.fa-page) .answer-value {
  font-size: 14px !important;
  line-height: 1.5 !important;
}

body:not(.fa-page) .copy-button {
  padding: 6px 10px !important;
  font-size: 12px !important;
  border-radius: 10px !important;
}

body:not(.fa-page) .answer-warning {
  margin-top: 6px !important;
  font-size: 12px !important;
  line-height: 1.5 !important;
}

body:not(.fa-page) .stat {
  display: none !important;
}

/* EN COMPACT DNS RESULTS END */


/* EN RESULT ANSWER COMPACT START */

body:not(.fa-page) .dns-result-card {
  padding: 14px 18px !important;
  border-radius: 18px !important;
  margin-bottom: 10px !important;
}

body:not(.fa-page) .result-header {
  margin-bottom: 8px !important;
}

body:not(.fa-page) .result-header h3 {
  font-size: 16px !important;
  line-height: 1.25 !important;
}

body:not(.fa-page) .answers {
  margin-top: 6px !important;
  gap: 6px !important;
}

body:not(.fa-page) .answer {
  min-height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}

body:not(.fa-page) .answer-main {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

body:not(.fa-page) .answer-value {
  font-size: 14px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  max-width: 100% !important;
}

body:not(.fa-page) .copy-button {
  padding: 5px 9px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  border-radius: 9px !important;
  flex: 0 0 auto !important;
}

body:not(.fa-page) .status {
  padding: 5px 11px !important;
  font-size: 12px !important;
}

body:not(.fa-page) .answer-warning {
  display: none !important;
}

/* EN RESULT ANSWER COMPACT END */


/* EN NAVBAR LIGHT FONT START */

body:not(.fa-page) .navbar-menu .nav-link,
body:not(.fa-page) .language-trigger,
body:not(.fa-page) .language-option {
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.15px !important;
  line-height: 1 !important;
  color: #111827 !important;
}

body:not(.fa-page) .navbar-menu {
  gap: 28px !important;
}

body:not(.fa-page) .nav-icon {
  width: 12px !important;
  height: 12px !important;
  opacity: 0.55 !important;
}

body:not(.fa-page) .flag-box {
  font-size: 12px !important;
  font-weight: 600 !important;
}

body:not(.fa-page) .navbar-actions .en-auth-button {
  font-weight: 600 !important;
}

/* EN NAVBAR LIGHT FONT END */


/* FA LANGUAGE FONT ONLY START */

.fa-page .language-trigger,
.fa-page .language-option,
.fa-page .language-trigger span,
.fa-page .language-option span {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.15px !important;
  line-height: 1 !important;
}

.fa-page .language-trigger .flag-box,
.fa-page .language-option .flag-box {
  font-size: 12px !important;
  font-weight: 600 !important;
  letter-spacing: 0 !important;
}

.fa-page .language-trigger .nav-icon {
  width: 12px !important;
  height: 12px !important;
  opacity: 0.55 !important;
}

/* FA LANGUAGE FONT ONLY END */


/* FA COMPACT DNS RESULTS START */

.fa-page .result-group-title {
  display: none !important;
}

.fa-page .dns-result-card {
  direction: rtl !important;
  text-align: right !important;
  padding: 14px 18px !important;
  border-radius: 18px !important;
  margin-bottom: 10px !important;
}

.fa-page .result-header {
  margin-bottom: 8px !important;
  align-items: center !important;
}

.fa-page .result-header h3 {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  line-height: 1.35 !important;
  letter-spacing: -0.4px !important;
  margin: 0 !important;
}

.fa-page .result-header .meta,
.fa-page .result-header small {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.4 !important;
}

.fa-page .status {
  padding: 5px 11px !important;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  border-radius: 999px !important;
}

.fa-page .answers {
  margin-top: 6px !important;
  gap: 6px !important;
}

.fa-page .answer {
  min-height: 34px !important;
  padding: 6px 10px !important;
  border-radius: 10px !important;
}

.fa-page .answer-main {
  min-height: 0 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.fa-page .answer-value {
  direction: ltr !important;
  text-align: left !important;
  font-size: 14px !important;
  line-height: 1.4 !important;
  white-space: nowrap !important;
  overflow-x: auto !important;
  max-width: 100% !important;
}

.fa-page .copy-button {
  padding: 5px 9px !important;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
  border-radius: 9px !important;
  flex: 0 0 auto !important;
}

.fa-page .answer-warning {
  display: none !important;
}

.fa-page .stat {
  display: none !important;
}

/* FA COMPACT DNS RESULTS END */


/* SITE FOOTER START */

.site-footer {
  margin-top: 72px;
  background:
    radial-gradient(circle at top left, rgba(99, 102, 241, 0.10), transparent 32%),
    linear-gradient(180deg, #f8faff 0%, #eef3ff 100%);
  border-top: 1px solid #dfe7f6;
  color: #334155;
}

.site-footer-inner {
  max-width: 1180px;
  margin: 0 auto;
  padding: 54px 24px 22px;
}

.footer-top {
  display: grid;
  grid-template-columns: 260px 1fr;
  gap: 42px;
  align-items: start;
}

.footer-brand {
  max-width: 260px;
}

.footer-logo {
  width: 120px;
  height: auto;
  display: block;
  margin-bottom: 16px;
}

.footer-brand p {
  margin: 0;
  color: #64748b;
  font-size: 14px;
  line-height: 1.8;
}

.footer-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(140px, 1fr));
  gap: 28px;
}

.footer-col h3 {
  margin: 0 0 14px;
  color: #0f172a;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.2px;
}

.footer-col ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.footer-col li {
  margin-bottom: 9px;
}

.footer-col a {
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #526179;
  font-size: 13px;
  line-height: 1.5;
  text-decoration: none;
  transition: color 0.2s ease, transform 0.2s ease;
}

.footer-col a span {
  width: 7px;
  height: 7px;
  border-radius: 999px;
  background: linear-gradient(135deg, #6366f1, #06b6d4);
  flex: 0 0 auto;
}

.footer-col a:hover {
  color: #4f46e5;
  transform: translateX(2px);
}

.footer-bottom {
  margin-top: 42px;
  padding-top: 18px;
  border-top: 1px solid rgba(148, 163, 184, 0.35);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}

.footer-bottom p {
  margin: 0;
  color: #64748b;
  font-size: 13px;
}

.footer-bottom-links {
  display: flex;
  align-items: center;
  gap: 16px;
}

.footer-bottom-links a {
  color: #475569;
  font-size: 13px;
  text-decoration: none;
}

.footer-bottom-links a:hover {
  color: #4f46e5;
}

/* Persian footer */
.fa-page .site-footer {
  direction: rtl;
  text-align: right;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.fa-page .footer-brand p,
.fa-page .footer-col a,
.fa-page .footer-bottom p,
.fa-page .footer-bottom-links a {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
}

.fa-page .footer-col h3 {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif;
  font-weight: 700;
  letter-spacing: -0.5px;
}

.fa-page .footer-col a {
  flex-direction: row-reverse;
}

.fa-page .footer-col a:hover {
  transform: translateX(-2px);
}

@media (max-width: 980px) {
  .footer-top {
    grid-template-columns: 1fr;
  }

  .footer-brand {
    max-width: 100%;
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr));
  }
}

@media (max-width: 620px) {
  .site-footer-inner {
    padding: 42px 18px 20px;
  }

  .footer-grid {
    grid-template-columns: 1fr;
  }

  .footer-bottom {
    flex-direction: column;
    align-items: flex-start;
  }

  .fa-page .footer-bottom {
    align-items: flex-end;
  }
}

/* SITE FOOTER END */


/* FA FOOTER TUNE START */

.fa-page .site-footer {
  margin-top: 56px !important;
  direction: rtl !important;
  text-align: right !important;
}

.fa-page .site-footer-inner {
  max-width: 1160px !important;
  padding: 42px 24px 18px !important;
}

.fa-page .footer-top {
  grid-template-columns: 280px 1fr !important;
  gap: 52px !important;
  align-items: flex-start !important;
}

.fa-page .footer-brand {
  max-width: 280px !important;
  text-align: right !important;
  justify-self: end !important;
}

.fa-page .footer-logo {
  width: 118px !important;
  margin: 0 0 14px auto !important;
}

.fa-page .footer-brand p {
  font-size: 14px !important;
  line-height: 2 !important;
  color: #5f6b85 !important;
  text-align: right !important;
}

.fa-page .footer-grid {
  grid-template-columns: repeat(5, minmax(120px, 1fr)) !important;
  gap: 22px !important;
  align-items: flex-start !important;
}

.fa-page .footer-col h3 {
  font-size: 15px !important;
  font-weight: 700 !important;
  margin-bottom: 12px !important;
  color: #111827 !important;
  letter-spacing: -0.5px !important;
  text-align: right !important;
}

.fa-page .footer-col li {
  margin-bottom: 8px !important;
}

.fa-page .footer-col a {
  direction: rtl !important;
  flex-direction: row !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  font-size: 13px !important;
  line-height: 1.7 !important;
  color: #526179 !important;
  text-align: right !important;
}

.fa-page .footer-col a span {
  width: 7px !important;
  height: 7px !important;
  margin-top: 1px !important;
}

.fa-page .footer-col a:hover {
  transform: translateX(-2px) !important;
  color: #4f46e5 !important;
}

.fa-page .footer-bottom {
  margin-top: 30px !important;
  padding-top: 16px !important;
  direction: rtl !important;
}

.fa-page .footer-bottom p {
  font-size: 13px !important;
  color: #64748b !important;
}

.fa-page .footer-bottom-links {
  gap: 18px !important;
}

.fa-page .footer-bottom-links a {
  font-size: 13px !important;
}

@media (max-width: 980px) {
  .fa-page .footer-top {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .fa-page .footer-brand {
    max-width: 100% !important;
  }

  .fa-page .footer-grid {
    grid-template-columns: repeat(2, minmax(140px, 1fr)) !important;
  }
}

@media (max-width: 620px) {
  .fa-page .footer-grid {
    grid-template-columns: 1fr !important;
  }

  .fa-page .footer-bottom {
    align-items: flex-start !important;
  }
}

/* FA FOOTER TUNE END */


/* CUSTOM 404 PAGE START */

.notfound-page {
  margin: 0;
  min-height: 100vh;
  color: #0f172a;
  background:
    radial-gradient(circle at 18% 16%, rgba(79, 70, 229, 0.22), transparent 32%),
    radial-gradient(circle at 82% 22%, rgba(6, 182, 212, 0.18), transparent 28%),
    linear-gradient(180deg, #f8fbff 0%, #eef3ff 100%);
  overflow-x: hidden;
}

.notfound-wrap {
  position: relative;
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 32px;
}

.notfound-grid-bg {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(79, 70, 229, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(79, 70, 229, 0.08) 1px, transparent 1px);
  background-size: 42px 42px;
  mask-image: radial-gradient(circle at center, black 0%, transparent 72%);
  pointer-events: none;
}

.notfound-card {
  position: relative;
  width: min(980px, 100%);
  padding: 54px 42px;
  border: 1px solid rgba(148, 163, 184, 0.28);
  border-radius: 34px;
  background: rgba(255, 255, 255, 0.84);
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.10);
  backdrop-filter: blur(18px);
  text-align: center;
  overflow: hidden;
}

.notfound-card::before {
  content: "";
  position: absolute;
  inset: -140px auto auto -140px;
  width: 320px;
  height: 320px;
  border-radius: 999px;
  background: rgba(79, 70, 229, 0.14);
  filter: blur(4px);
}

.fa-page .notfound-card::before {
  inset: -140px -140px auto auto;
}

.notfound-logo {
  width: 128px !important;
  max-width: 128px !important;
  height: auto !important;
  margin: 0 auto 22px !important;
  display: block !important;
}

.notfound-code {
  margin: 0;
  font-size: clamp(110px, 18vw, 230px);
  line-height: 0.9;
  font-weight: 900;
  letter-spacing: -10px;
  color: transparent;
  -webkit-text-stroke: 2px rgba(79, 70, 229, 0.55);
  text-shadow: 0 18px 42px rgba(79, 70, 229, 0.12);
}

.notfound-card h1 {
  margin: 18px 0 12px;
  font-size: clamp(28px, 3vw, 44px);
  line-height: 1.25;
  font-weight: 800;
  letter-spacing: -1.5px;
  color: #0f172a;
}

.notfound-card p {
  max-width: 650px;
  margin: 0 auto;
  color: #64748b;
  font-size: 16px;
  line-height: 1.9;
}

.notfound-actions {
  display: flex;
  justify-content: center;
  gap: 14px;
  flex-wrap: wrap;
  margin-top: 30px;
}

.notfound-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  padding: 0 20px;
  border-radius: 999px;
  font-size: 14px;
  font-weight: 700;
  text-decoration: none;
  transition: transform .2s ease, box-shadow .2s ease;
}

.notfound-btn-primary {
  color: #fff;
  background: linear-gradient(135deg, #4f46e5, #06b6d4);
  box-shadow: 0 12px 30px rgba(79, 70, 229, 0.26);
}

.notfound-btn-secondary {
  color: #1e293b;
  background: #fff;
  border: 1px solid rgba(148, 163, 184, 0.28);
}

.notfound-btn:hover {
  transform: translateY(-2px);
}

.notfound-links {
  display: flex;
  justify-content: center;
  gap: 16px;
  flex-wrap: wrap;
  margin-top: 26px;
  font-size: 13px;
}

.notfound-links a {
  color: #4f46e5;
  text-decoration: none;
  font-weight: 700;
}

.fa-page.notfound-page,
.fa-page .notfound-card,
.fa-page .notfound-card h1,
.fa-page .notfound-card p,
.fa-page .notfound-btn,
.fa-page .notfound-links a {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

.fa-page .notfound-card h1 {
  letter-spacing: -1px;
  line-height: 1.45;
}

.fa-page .notfound-card p {
  line-height: 2;
}

@media (max-width: 640px) {
  .notfound-wrap {
    padding: 18px;
  }

  .notfound-card {
    padding: 38px 22px;
    border-radius: 26px;
  }

  .notfound-code {
    letter-spacing: -5px;
  }

  .notfound-logo {
    width: 110px !important;
    max-width: 110px !important;
  }
}

/* CUSTOM 404 PAGE END */


/* CUSTOM 404 HEADER FOOTER TUNE START */

.notfound-page .notfound-wrap {
  min-height: calc(100vh - 170px) !important;
  padding: 80px 32px !important;
}

.notfound-page .notfound-card {
  width: min(920px, 100%) !important;
  padding: 58px 42px !important;
}

.notfound-page .notfound-logo {
  display: none !important;
}

.notfound-page .site-footer {
  margin-top: 0 !important;
}

.notfound-page .notfound-code {
  margin-bottom: 10px !important;
}

.notfound-page .notfound-actions {
  margin-top: 32px !important;
}

@media (max-width: 640px) {
  .notfound-page .notfound-wrap {
    padding: 48px 18px !important;
  }

  .notfound-page .notfound-card {
    padding: 42px 22px !important;
  }
}

/* CUSTOM 404 HEADER FOOTER TUNE END */


/* CUSTOM 404 LANGUAGE SWITCHER START */

.notfound-page .language-switcher {
  position: relative !important;
}

.notfound-page .language-switcher .language-menu {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.notfound-page .language-switcher.is-open .language-menu {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
  pointer-events: auto !important;
}

.notfound-page .language-switcher.is-open .nav-icon {
  transform: rotate(180deg) !important;
}

/* CUSTOM 404 LANGUAGE SWITCHER END */

/* NM DNS FOOTER FINAL START */

.nm-footer {
  margin: 84px auto 0 !important;
  padding: 0 20px 30px !important;
  background: transparent !important;
  border-top: 0 !important;
  color: #334155 !important;
}

.nm-footer-inner {
  width: min(1240px, 100%) !important;
  margin: 0 auto !important;
  padding: 34px 34px 22px !important;
  border: 1px solid rgba(148, 163, 184, 0.24) !important;
  border-radius: 34px !important;
  background:
    radial-gradient(circle at 12% 0%, rgba(99, 102, 241, 0.10), transparent 32%),
    radial-gradient(circle at 88% 0%, rgba(6, 182, 212, 0.10), transparent 30%),
    rgba(255, 255, 255, 0.78) !important;
  box-shadow: 0 28px 80px rgba(15, 23, 42, 0.08) !important;
  backdrop-filter: blur(18px) !important;
  -webkit-backdrop-filter: blur(18px) !important;
}

.nm-footer-top {
  display: grid !important;
  grid-template-columns: minmax(220px, 310px) 1fr !important;
  gap: 46px !important;
  align-items: start !important;
}

.nm-footer-brand {
  max-width: 310px !important;
}

.nm-footer-logo {
  width: 118px !important;
  height: auto !important;
  display: block !important;
  margin: 0 0 18px !important;
}

.nm-footer-brand p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 14.5px !important;
  line-height: 1.9 !important;
  letter-spacing: -0.15px !important;
}

.nm-footer-grid {
  display: grid !important;
  grid-template-columns: repeat(5, minmax(130px, 1fr)) !important;
  gap: 28px !important;
}

.nm-footer-col h3 {
  margin: 0 0 15px !important;
  color: #0f172a !important;
  font-size: 15.5px !important;
  font-weight: 850 !important;
  letter-spacing: -0.25px !important;
  line-height: 1.2 !important;
}

.nm-footer-col ul {
  list-style: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.nm-footer-col li {
  margin: 0 0 10px !important;
}

.nm-footer-col a {
  display: inline-flex !important;
  align-items: center !important;
  gap: 10px !important;
  color: #536179 !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
  text-decoration: none !important;
  letter-spacing: -0.15px !important;
  transition:
    color 180ms ease,
    transform 180ms ease !important;
}

.nm-footer-col a span {
  width: 7px !important;
  height: 7px !important;
  border-radius: 999px !important;
  flex: 0 0 auto !important;
  background: linear-gradient(135deg, #6366f1, #06b6d4) !important;
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.08) !important;
}

.nm-footer-col a:hover {
  color: #4f46e5 !important;
  transform: translateX(2px) !important;
}

.nm-footer-bottom {
  margin-top: 32px !important;
  padding-top: 18px !important;
  border-top: 1px solid rgba(148, 163, 184, 0.28) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 18px !important;
}

.nm-footer-bottom p {
  margin: 0 !important;
  color: #64748b !important;
  font-size: 13.5px !important;
  line-height: 1.5 !important;
}

.nm-footer-bottom-links {
  display: flex !important;
  align-items: center !important;
  gap: 18px !important;
  flex-wrap: wrap !important;
}

.nm-footer-bottom-links a {
  color: #475569 !important;
  font-size: 13.5px !important;
  font-weight: 650 !important;
  text-decoration: none !important;
  transition: color 180ms ease, transform 180ms ease !important;
}

.nm-footer-bottom-links a:hover {
  color: #4f46e5 !important;
  transform: translateY(-1px) !important;
}

/* Persian footer */
.fa-page .nm-footer,
.fa-page .nm-footer * {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

.fa-page .nm-footer {
  direction: rtl !important;
  text-align: right !important;
}

.fa-page .nm-footer-top {
  grid-template-columns: minmax(220px, 310px) 1fr !important;
}

.fa-page .nm-footer-brand {
  justify-self: end !important;
  text-align: right !important;
}

.fa-page .nm-footer-logo {
  margin: 0 0 18px auto !important;
}

.fa-page .nm-footer-brand p {
  font-size: 14.5px !important;
  line-height: 2 !important;
  letter-spacing: -0.25px !important;
}

.fa-page .nm-footer-col h3 {
  font-size: 15.5px !important;
  font-weight: 750 !important;
  letter-spacing: -0.5px !important;
}

.fa-page .nm-footer-col a {
  flex-direction: row !important;
  justify-content: flex-start !important;
  font-size: 14px !important;
  line-height: 1.7 !important;
  letter-spacing: -0.25px !important;
}

.fa-page .nm-footer-col a:hover {
  transform: translateX(-2px) !important;
}

.fa-page .nm-footer-bottom {
  direction: rtl !important;
}

@media (max-width: 1100px) {
  .nm-footer-top {
    grid-template-columns: 1fr !important;
    gap: 32px !important;
  }

  .nm-footer-brand {
    max-width: 620px !important;
  }

  .nm-footer-grid {
    grid-template-columns: repeat(3, minmax(140px, 1fr)) !important;
  }

  .fa-page .nm-footer-brand {
    justify-self: start !important;
  }
}

@media (max-width: 760px) {
  .nm-footer {
    margin-top: 58px !important;
    padding: 0 14px 24px !important;
  }

  .nm-footer-inner {
    padding: 28px 22px 20px !important;
    border-radius: 26px !important;
  }

  .nm-footer-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    gap: 24px 18px !important;
  }

  .nm-footer-bottom {
    align-items: flex-start !important;
    flex-direction: column !important;
  }

  .fa-page .nm-footer-bottom {
    align-items: flex-start !important;
  }
}

@media (max-width: 520px) {
  .nm-footer-grid {
    grid-template-columns: 1fr !important;
  }
}

/* NM DNS FOOTER FINAL END */

/* NM DEFAULT HOME NAVBAR ON DNS CHECKER START */

.nm-default-navbar,
.nm-default-navbar * {
  box-sizing: border-box;
}

.nm-default-navbar {
  position: sticky;
  top: 18px;
  z-index: 5000;

  width: min(1240px, calc(100% - 40px));
  min-height: 80px;
  margin: 18px auto 0;
  padding: 0 18px 0 28px;

  border: 1px solid rgba(148, 163, 184, 0.22);
  border-radius: 24px;

  background: rgba(255, 255, 255, 0.84);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);

  box-shadow:
    0 22px 70px rgba(15, 23, 42, 0.10),
    inset 0 1px 0 rgba(255, 255, 255, 0.72);

  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;

  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif;
}

.nm-default-navbar .brand {
  min-width: 160px;
  display: inline-flex;
  align-items: center;
  text-decoration: none;
  flex: 0 0 auto;
}

.nm-default-navbar .brand img {
  width: 132px;
  max-width: 132px;
  height: auto;
  display: block;
}

.nm-default-navbar .home-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 28px;
  margin: 0 auto;
}

.nm-default-navbar .home-nav > a {
  color: #111b37;
  text-decoration: none;
  font-size: 15px;
  font-weight: 760;
  letter-spacing: -0.25px;
  white-space: nowrap;
  transition:
    color 180ms ease,
    transform 180ms ease;
}

.nm-default-navbar .home-nav > a:hover {
  color: #4f46e5;
  transform: translateY(-1px);
}

.nm-default-navbar .header-cta {
  min-height: 50px;
  padding: 0 24px;
  border-radius: 14px;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  color: #ffffff;
  background: linear-gradient(135deg, #9b3df5 0%, #4b55f5 48%, #16b7d9 100%);
  box-shadow: 0 18px 38px rgba(79, 70, 229, 0.24);

  font-size: 15.5px;
  font-weight: 850;
  letter-spacing: -0.25px;
  text-decoration: none;
  white-space: nowrap;

  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    filter 180ms ease;
}

.nm-default-navbar .header-cta:hover {
  transform: translateY(-2px);
  filter: saturate(1.08) brightness(1.02);
  box-shadow:
    0 24px 48px rgba(79, 70, 229, 0.30),
    0 8px 18px rgba(6, 182, 212, 0.16);
}

.nm-default-navbar .header-cta:active {
  transform: translateY(0) scale(0.99);
}

/* Language switcher copied with DNS Checker behavior */
.nm-default-navbar .language-switcher {
  position: relative;
  margin-left: 0;
  display: inline-flex;
  align-items: center;
}

.nm-default-navbar .language-trigger {
  height: 44px;
  padding: 0 14px;

  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;

  border: 0;
  border-radius: 999px;
  background: transparent;
  cursor: pointer;

  color: #334155;
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.15px;
  line-height: 1;
  white-space: nowrap;

  transition:
    background-color 0.22s ease,
    color 0.22s ease,
    transform 0.22s ease,
    box-shadow 0.22s ease;
}

.nm-default-navbar .language-trigger:hover,
.nm-default-navbar .language-switcher.is-open .language-trigger {
  color: #3730a3;
  background: #eef2ff;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px rgba(79, 70, 229, 0.07);
}

.nm-default-navbar .flag-box {
  width: 31px;
  min-width: 31px;
  height: 21px;
  padding: 0;

  display: inline-flex;
  align-items: center;
  justify-content: center;

  border-radius: 6px;
  overflow: hidden;

  color: #334155;
  background: #f8fafc;

  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;

  box-shadow:
    0 0 0 1px rgba(17, 24, 39, 0.08),
    0 5px 12px rgba(17, 24, 39, 0.06);
}

.nm-default-navbar .nav-icon {
  width: 12px;
  height: 12px;
  color: #7b8493;
  opacity: 0.55;
  stroke-width: 2.35;

  transition:
    transform 0.22s ease,
    color 0.22s ease;
}

.nm-default-navbar .language-trigger:hover .nav-icon,
.nm-default-navbar .language-switcher.is-open .language-trigger .nav-icon {
  color: #4f46e5;
  transform: rotate(180deg);
}

.nm-default-navbar .language-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 6000;

  min-width: 150px;
  padding: 8px;

  display: none;

  background: rgba(255, 255, 255, 0.96);
  border: 1px solid rgba(15, 23, 42, 0.08);
  border-radius: 14px;

  box-shadow:
    0 20px 45px rgba(15, 23, 42, 0.12),
    0 8px 18px rgba(15, 23, 42, 0.06);

  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
}

.nm-default-navbar .language-switcher.is-open .language-menu {
  display: block;
}

.nm-default-navbar .language-option {
  width: 100%;
  height: 42px;
  padding: 0 10px;

  display: flex;
  align-items: center;
  gap: 10px;

  border-radius: 10px;

  color: #334155;
  background: transparent;
  text-decoration: none;

  font: inherit;
  font-size: 15px;
  font-weight: 600;
  letter-spacing: -0.15px;
  line-height: 1;
  white-space: nowrap;

  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    transform 0.2s ease;
}

.nm-default-navbar .language-option:hover {
  color: #3730a3;
  background: #eef2ff;
  transform: translateY(-1px);
}

/* Adjust DNS page spacing after floating navbar */
.nm-default-navbar + .page {
  padding-top: 72px !important;
}

/* Persian page keeps the same default navbar layout */
.fa-page .nm-default-navbar,
.fa-page .nm-default-navbar .home-nav,
.fa-page .nm-default-navbar .language-trigger {
  direction: ltr !important;
}

.fa-page .nm-default-navbar .home-nav > a,
.fa-page .nm-default-navbar .language-trigger,
.fa-page .nm-default-navbar .language-option,
.fa-page .nm-default-navbar .header-cta {
  font-family:
    Inter,
    ui-sans-serif,
    system-ui,
    -apple-system,
    BlinkMacSystemFont,
    "Segoe UI",
    Arial,
    sans-serif !important;
}

@media (max-width: 980px) {
  .nm-default-navbar {
    min-height: 74px;
    padding: 0 16px 0 22px;
  }

  .nm-default-navbar .brand img {
    width: 118px;
    max-width: 118px;
  }

  .nm-default-navbar .home-nav {
    display: none;
  }

  .nm-default-navbar .header-cta {
    min-height: 46px;
    padding: 0 18px;
    font-size: 14px;
  }

  .nm-default-navbar + .page {
    padding-top: 50px !important;
  }
}

@media (max-width: 640px) {
  .nm-default-navbar {
    width: min(100% - 24px, 1240px);
    min-height: 66px;
    border-radius: 20px;
  }

  .nm-default-navbar .brand img {
    width: 104px;
    max-width: 104px;
  }

  .nm-default-navbar .header-cta {
    display: none;
  }
}

/* NM DEFAULT HOME NAVBAR ON DNS CHECKER END */


/* CLEAN DEFAULT NAVBAR HOVER START */

.nm-default-navbar .home-nav > a,
.nm-default-navbar .language-trigger {
  position: relative;
  transition:
    color 180ms ease,
    background 180ms ease,
    transform 180ms ease,
    box-shadow 180ms ease !important;
}

.nm-default-navbar .home-nav > a {
  min-height: 42px !important;
  padding: 0 12px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
}

.nm-default-navbar .home-nav > a:hover,
.nm-default-navbar .language-trigger:hover,
.nm-default-navbar .language-switcher.is-open .language-trigger {
  color: #4f46e5 !important;
  background: rgba(238, 242, 255, 0.78) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(79, 70, 229, 0.08) !important;
}

.nm-default-navbar .header-cta {
  transition:
    transform 180ms ease,
    box-shadow 180ms ease,
    filter 180ms ease !important;
}

.nm-default-navbar .header-cta:hover {
  transform: translateY(-2px) !important;
  filter: saturate(1.08) brightness(1.03);
  box-shadow:
    0 24px 48px rgba(79, 70, 229, 0.30),
    0 8px 18px rgba(6, 182, 212, 0.16) !important;
}

.nm-default-navbar .header-cta:active {
  transform: translateY(0) scale(0.99) !important;
}

/* CLEAN DEFAULT NAVBAR HOVER END */

/* DISABLE OLD SIMULATED DNS NAVBAR START */

.nm-default-navbar {
  all: unset;
}

/* وقتی header صفحه اصلی روی DNS Checker آمده، فقط فاصله صفحه را تنظیم کن */
.home-header + .page {
  padding-top: 72px !important;
}

@media (max-width: 980px) {
  .home-header + .page {
    padding-top: 50px !important;
  }
}

/* DISABLE OLD SIMULATED DNS NAVBAR END */


/* FA DEFAULT NAVBAR FONT AND ORDER FIX START */

.fa-page .home-header {
  direction: ltr !important;
  flex-direction: row !important;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
}

.fa-page .home-header .brand {
  order: 1 !important;
}

.fa-page .home-header .home-nav {
  order: 2 !important;
  direction: ltr !important;
  display: flex !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 28px !important;
  margin: 0 auto !important;
}

.fa-page .home-header .header-cta {
  order: 3 !important;
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 700 !important;
  letter-spacing: -0.7px !important;
  line-height: 1 !important;
}

/* آیتم‌های فارسی navbar */
.fa-page .home-header .home-nav > a {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 16px !important;
  font-weight: 700 !important;
  letter-spacing: -0.6px !important;
  line-height: 1 !important;
  direction: rtl !important;
  text-align: right !important;
  color: #111827 !important;
}

/* زبان داخل navbar همچنان LTR بماند: FA Persian */
.fa-page .home-header .language-switcher,
.fa-page .home-header .language-trigger,
.fa-page .home-header .language-menu,
.fa-page .home-header .language-option {
  direction: ltr !important;
  text-align: left !important;
}

.fa-page .home-header .language-trigger,
.fa-page .home-header .language-option,
.fa-page .home-header .language-trigger span,
.fa-page .home-header .language-option span {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  letter-spacing: -0.15px !important;
  line-height: 1 !important;
}

.fa-page .home-header .flag-box {
  font-family: "Vazirmatn", Tahoma, Arial, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
}

/* hover ساده و تمیز برای فارسی */
.fa-page .home-header .home-nav > a:hover,
.fa-page .home-header .language-trigger:hover,
.fa-page .home-header .language-switcher.is-open .language-trigger {
  color: #4f46e5 !important;
  background: rgba(238, 242, 255, 0.78) !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 10px 24px rgba(79, 70, 229, 0.08) !important;
}

/* FA DEFAULT NAVBAR FONT AND ORDER FIX END */

/* DNS TOOL CLEANUP START */

.dns-tool-page .page {
  min-height: auto;
  padding: 54px 20px 80px;
}

.dns-tool-page .container {
  width: min(1120px, 100%);
  max-width: 1120px;
}

.dns-tool-page .seo-hero {
  max-width: 760px;
  margin: 0 auto 28px;
  text-align: center;
}

.dns-tool-page .seo-hero h1 {
  margin: 0;
  color: var(--text);
  font-size: clamp(34px, 5vw, 54px);
  line-height: 1.05;
  letter-spacing: -2px;
  font-weight: 850;
}

.dns-tool-page .dns-hero-description {
  max-width: 680px;
  margin: 16px auto 0;
  color: var(--muted);
  font-size: 17px;
  line-height: 1.7;
}

.dns-tool-page .search-card {
  position: relative;
  z-index: 1000;
  padding: 18px;
  margin-bottom: 22px;
  border-radius: 22px;
  border: 1px solid rgba(99, 102, 241, 0.15);
  background:
    linear-gradient(
      145deg,
      rgba(255, 255, 255, 0.96),
      rgba(248, 250, 255, 0.92)
    );
  box-shadow:
    0 24px 70px rgba(15, 23, 42, 0.08),
    0 1px 0 rgba(255, 255, 255, 0.8) inset;
}

.dns-tool-page .form {
  display: grid;
  grid-template-columns:
    minmax(240px, 1fr)
    minmax(170px, 210px)
    minmax(170px, 205px)
    150px;
  gap: 10px;
  align-items: stretch;
}

.dns-tool-page input,
.dns-tool-page .custom-select,
.dns-tool-page .select-trigger,
.dns-tool-page #checkButton {
  height: 56px;
}

.dns-tool-page input {
  border-radius: 15px;
  border-color: rgba(148, 163, 184, 0.34);
  background: rgba(255, 255, 255, 0.9);
  font-size: 16px;
  font-weight: 560;
  padding: 0 18px;
  transition:
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    background-color 0.2s ease;
}

.dns-tool-page input:hover {
  border-color: rgba(99, 102, 241, 0.34);
}

.dns-tool-page input:focus {
  background: #ffffff;
  border-color: var(--primary);
  box-shadow: 0 0 0 4px rgba(79, 70, 229, 0.1);
}

.dns-tool-page .select-trigger {
  border-radius: 15px;
  border-color: rgba(148, 163, 184, 0.34);
  background: rgba(255, 255, 255, 0.9);
  padding: 0 15px;
  transition:
    border-color 0.2s ease,
    background-color 0.2s ease,
    box-shadow 0.2s ease;
}

.dns-tool-page .select-trigger:hover {
  background: #ffffff;
  border-color: rgba(99, 102, 241, 0.42);
  box-shadow: 0 7px 20px rgba(79, 70, 229, 0.07);
}

.dns-tool-page .select-trigger strong {
  font-size: 15px;
  font-weight: 800;
}

.dns-tool-page .select-trigger small {
  font-size: 11.5px;
}

.dns-tool-page .select-menu {
  top: 64px;
  border-radius: 15px;
  border-color: rgba(99, 102, 241, 0.15);
  box-shadow: 0 22px 55px rgba(15, 23, 42, 0.17);
}

.dns-tool-page .select-option {
  min-height: 50px;
  border-radius: 10px;
}

.dns-tool-page #checkButton {
  border-radius: 15px;
  font-size: 15px;
  font-weight: 800;
  letter-spacing: -0.1px;
  box-shadow: 0 14px 28px rgba(79, 70, 229, 0.22);
  transition:
    transform 0.2s ease,
    box-shadow 0.2s ease,
    background 0.2s ease;
}

.dns-tool-page #checkButton:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 18px 34px rgba(79, 70, 229, 0.29);
}

.dns-tool-page .info-row {
  min-height: 34px;
  margin-top: 13px;
  padding: 0 3px;
}

.dns-tool-page .meta {
  font-size: 13px;
  color: #718096;
}

.dns-tool-page .user-ip {
  padding: 6px 10px;
  border: 1px solid rgba(148, 163, 184, 0.23);
  border-radius: 9px;
  background: rgba(248, 250, 252, 0.78);
  font-size: 12px;
}

.dns-tool-page .error-box {
  margin-top: 13px;
  border-radius: 13px;
  padding: 12px 14px;
}

.dns-tool-page .results-container {
  gap: 14px;
  margin-top: 20px;
}

.dns-tool-page .dns-result-card {
  padding: 20px;
  border-radius: 18px;
  box-shadow: 0 15px 42px rgba(15, 23, 42, 0.06);
}

.dns-tool-page .result-header {
  margin-bottom: 14px;
}

.dns-tool-page .location {
  font-size: 16px;
  font-weight: 800;
}

.dns-tool-page .source-badge,
.dns-tool-page .status {
  font-size: 12px;
}

.dns-tool-page .guide-section {
  margin-top: 38px;
}

.dns-tool-page .guide-card {
  padding: 28px;
  border-radius: 22px;
  box-shadow: 0 18px 55px rgba(15, 23, 42, 0.055);
}

.dns-tool-page .guide-card > p {
  max-width: 780px;
  line-height: 1.75;
}

.dns-tool-page .guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.dns-tool-page .guide-item {
  min-height: auto;
  padding: 17px;
  border-radius: 14px;
  background: rgba(248, 250, 255, 0.76);
  border: 1px solid rgba(99, 102, 241, 0.1);
}

.dns-tool-page .guide-item h3 {
  margin-bottom: 7px;
  font-size: 15px;
}

.dns-tool-page .guide-item p {
  font-size: 13px;
  line-height: 1.65;
}

.dns-tool-page .guide-note {
  padding: 18px;
  margin-top: 14px;
  border-radius: 14px;
}

.dns-tool-page .guide-note h3 {
  font-size: 15px;
}

.dns-tool-page .guide-note p {
  font-size: 13px;
  line-height: 1.7;
}

html[data-theme="dark"] .dns-tool-page .search-card,
html[data-theme="dark"] .dns-tool-page .guide-card,
html[data-theme="dark"] .dns-tool-page .dns-result-card {
  background:
    linear-gradient(
      145deg,
      rgba(15, 23, 42, 0.94),
      rgba(20, 30, 52, 0.9)
    );
  border-color: rgba(129, 140, 248, 0.16);
}

html[data-theme="dark"] .dns-tool-page input,
html[data-theme="dark"] .dns-tool-page .select-trigger {
  background: rgba(15, 23, 42, 0.8);
  border-color: rgba(148, 163, 184, 0.2);
}

html[data-theme="dark"] .dns-tool-page input:focus,
html[data-theme="dark"] .dns-tool-page .select-trigger:hover {
  background: rgba(15, 23, 42, 0.98);
}

html[data-theme="dark"] .dns-tool-page .select-menu {
  background: #111827;
}

html[data-theme="dark"] .dns-tool-page .guide-item,
html[data-theme="dark"] .dns-tool-page .user-ip {
  background: rgba(30, 41, 59, 0.72);
  border-color: rgba(129, 140, 248, 0.13);
}

@media (max-width: 980px) {
  .dns-tool-page .page {
    padding-top: 40px;
  }

  .dns-tool-page .form {
    grid-template-columns: 1fr 1fr;
  }

  .dns-tool-page #domainInput {
    grid-column: 1 / -1;
  }

  .dns-tool-page #checkButton {
    grid-column: 1 / -1;
  }

  .dns-tool-page .guide-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .dns-tool-page .page {
    padding: 30px 14px 58px;
  }

  .dns-tool-page .seo-hero {
    margin-bottom: 20px;
  }

  .dns-tool-page .seo-hero h1 {
    font-size: 36px;
    letter-spacing: -1.3px;
  }

  .dns-tool-page .dns-hero-description {
    margin-top: 12px;
    font-size: 15px;
    line-height: 1.65;
  }

  .dns-tool-page .search-card {
    padding: 13px;
    border-radius: 18px;
  }

  .dns-tool-page .form {
    grid-template-columns: 1fr;
    gap: 9px;
  }

  .dns-tool-page #domainInput,
  .dns-tool-page #checkButton {
    grid-column: auto;
  }

  .dns-tool-page input,
  .dns-tool-page .custom-select,
  .dns-tool-page .select-trigger,
  .dns-tool-page #checkButton {
    height: 54px;
  }

  .dns-tool-page .info-row {
    align-items: flex-start;
    flex-direction: column;
    gap: 7px;
  }

  .dns-tool-page .user-ip {
    text-align: left;
  }

  .dns-tool-page .guide-card {
    padding: 19px;
  }

  .dns-tool-page .guide-grid {
    grid-template-columns: 1fr;
  }
}

/* DNS TOOL CLEANUP END */

/* DNS DARK THEME FIX START */

html[data-theme="dark"] {
  --bg: #07101f;
  --card: #101a2f;
  --text: #f1f5ff;
  --muted: #9ba9c0;

  --primary: #6366f1;
  --primary-hover: #818cf8;
  --primary-soft: rgba(99, 102, 241, 0.16);

  --border: rgba(148, 163, 184, 0.22);
  --input-bg: #111b31;

  --success-bg: rgba(34, 197, 94, 0.18);
  --success-text: #86efac;

  --error-bg: rgba(239, 68, 68, 0.16);
  --error-text: #fca5a5;

  --warning-bg: rgba(245, 158, 11, 0.14);
  --warning-border: rgba(245, 158, 11, 0.28);
  --warning-text: #fcd34d;

  --answer-bg: #18233a;

  --nm-text-soft: #cbd5e1;
  --nm-primary-soft: rgba(99, 102, 241, 0.16);
  --nm-border-soft: rgba(148, 163, 184, 0.16);
}

html[data-theme="dark"] body {
  color: var(--text);
  background:
    radial-gradient(
      circle at top left,
      rgba(79, 70, 229, 0.19),
      transparent 34%
    ),
    radial-gradient(
      circle at top right,
      rgba(8, 145, 178, 0.14),
      transparent 30%
    ),
    linear-gradient(
      180deg,
      #07101f 0%,
      #0b1327 52%,
      #07111f 100%
    );
}

html[data-theme="dark"] .dns-tool-page .seo-hero h1,
html[data-theme="dark"] .dns-tool-page .location,
html[data-theme="dark"] .dns-tool-page .result-group-title,
html[data-theme="dark"] .dns-tool-page .guide-card h2,
html[data-theme="dark"] .dns-tool-page .guide-item h3,
html[data-theme="dark"] .dns-tool-page .guide-note h3 {
  color: #f5f7ff;
}

html[data-theme="dark"] .dns-tool-page .dns-hero-description,
html[data-theme="dark"] .dns-tool-page .meta,
html[data-theme="dark"] .dns-tool-page .select-trigger small,
html[data-theme="dark"] .dns-tool-page .select-option small,
html[data-theme="dark"] .dns-tool-page .guide-card > p,
html[data-theme="dark"] .dns-tool-page .guide-item p,
html[data-theme="dark"] .dns-tool-page .guide-note p {
  color: #a8b5ca;
}

html[data-theme="dark"] .dns-tool-page .card,
html[data-theme="dark"] .dns-tool-page .search-card,
html[data-theme="dark"] .dns-tool-page .dns-result-card,
html[data-theme="dark"] .dns-tool-page .guide-card {
  color: #eef2ff;
  background:
    linear-gradient(
      145deg,
      rgba(16, 26, 47, 0.98),
      rgba(13, 23, 43, 0.96)
    );
  border-color: rgba(129, 140, 248, 0.19);
  box-shadow:
    0 20px 55px rgba(0, 0, 0, 0.24),
    0 1px 0 rgba(255, 255, 255, 0.025) inset;
}

html[data-theme="dark"] .dns-tool-page input {
  color: #f8fafc;
  background: #111b31;
  border-color: rgba(148, 163, 184, 0.22);
}

html[data-theme="dark"] .dns-tool-page input::placeholder {
  color: #76849a;
}

html[data-theme="dark"] .dns-tool-page input:hover {
  border-color: rgba(129, 140, 248, 0.42);
}

html[data-theme="dark"] .dns-tool-page input:focus {
  color: #ffffff;
  background: #131f37;
  border-color: #818cf8;
  box-shadow: 0 0 0 4px rgba(99, 102, 241, 0.17);
}

html[data-theme="dark"] .dns-tool-page .select-trigger {
  color: #f8fafc;
  background: #111b31;
  border-color: rgba(148, 163, 184, 0.22);
}

html[data-theme="dark"] .dns-tool-page .select-trigger:hover {
  background: #142038;
  border-color: rgba(129, 140, 248, 0.45);
}

html[data-theme="dark"] .dns-tool-page .select-trigger strong,
html[data-theme="dark"] .dns-tool-page .select-option strong {
  color: #f8fafc;
}

html[data-theme="dark"] .dns-tool-page .select-menu {
  color: #f8fafc;
  background: #111a2d;
  border-color: rgba(129, 140, 248, 0.22);
}

html[data-theme="dark"] .dns-tool-page .select-option {
  color: #eef2ff;
}

html[data-theme="dark"] .dns-tool-page .select-option:hover {
  background: rgba(99, 102, 241, 0.14);
}

html[data-theme="dark"] .dns-tool-page .select-option.active {
  background: rgba(99, 102, 241, 0.2);
}

html[data-theme="dark"] .dns-tool-page .select-option.active strong,
html[data-theme="dark"] .dns-tool-page .select-option.active small {
  color: #a5b4fc;
}

html[data-theme="dark"] .dns-tool-page .user-ip {
  color: #aebbd0;
  background: rgba(30, 41, 59, 0.76);
  border-color: rgba(148, 163, 184, 0.16);
}

html[data-theme="dark"] .dns-tool-page .source-badge {
  color: #c7d2fe;
  background: rgba(99, 102, 241, 0.18);
  border: 1px solid rgba(129, 140, 248, 0.22);
}

html[data-theme="dark"] .dns-tool-page .status.success {
  color: #86efac;
  background: rgba(34, 197, 94, 0.16);
}

html[data-theme="dark"] .dns-tool-page .status.error {
  color: #fca5a5;
  background: rgba(239, 68, 68, 0.16);
}

html[data-theme="dark"] .dns-tool-page .answer,
html[data-theme="dark"] .dns-tool-page .answer-row,
html[data-theme="dark"] .dns-tool-page .answer-item,
html[data-theme="dark"] .dns-tool-page .record-value,
html[data-theme="dark"] .dns-tool-page .result-value,
html[data-theme="dark"] .dns-tool-page [class*="answer-"] {
  color: #e8eefc;
  background: #18233a;
  border-color: rgba(148, 163, 184, 0.16);
}

html[data-theme="dark"] .dns-tool-page code,
html[data-theme="dark"] .dns-tool-page pre {
  color: #dbeafe;
}

html[data-theme="dark"] .dns-tool-page .copy-btn,
html[data-theme="dark"] .dns-tool-page button[class*="copy"] {
  color: #c7d2fe;
  background: rgba(99, 102, 241, 0.13);
  border-color: rgba(129, 140, 248, 0.25);
}

html[data-theme="dark"] .dns-tool-page .copy-btn:hover,
html[data-theme="dark"] .dns-tool-page button[class*="copy"]:hover {
  color: #ffffff;
  background: rgba(99, 102, 241, 0.25);
}

html[data-theme="dark"] .dns-tool-page .guide-item,
html[data-theme="dark"] .dns-tool-page .guide-note {
  color: #e5eaf5;
  background: rgba(24, 35, 58, 0.76);
  border-color: rgba(129, 140, 248, 0.14);
}

/* DNS DARK THEME FIX END */

/* COMPACT DNS RESULTS START */

.dns-tool-page .results-container {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 22px;
}

.dns-tool-page .result-group-title {
  grid-column: 1 / -1;
  margin: 10px 2px 0;
  font-size: 13px;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.dns-tool-page .dns-result-card {
  margin: 0;
  padding: 16px 17px;
  border-radius: 17px;
  min-width: 0;
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.055);
}

.dns-tool-page .result-header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 10px;
  margin-bottom: 12px;
}

.dns-tool-page .location {
  margin: 0;
  font-size: 15px;
  line-height: 1.35;
  font-weight: 820;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dns-tool-page .source-badge {
  margin-top: 6px;
  padding: 4px 8px;
  font-size: 11px;
  line-height: 1;
}

.dns-tool-page .status {
  align-self: start;
  padding: 5px 9px;
  font-size: 11px;
  line-height: 1.2;
}

.dns-tool-page .dns-result-card .meta {
  font-size: 12px;
  line-height: 1.4;
}

.dns-tool-page .dns-result-card .answer,
.dns-tool-page .dns-result-card .answer-row,
.dns-tool-page .dns-result-card .answer-item,
.dns-tool-page .dns-result-card .record-value,
.dns-tool-page .dns-result-card .result-value {
  min-height: 42px;
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 11px;
  font-size: 13px;
}

.dns-tool-page .dns-result-card pre,
.dns-tool-page .dns-result-card code {
  margin: 0;
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  overflow-wrap: anywhere;
}

.dns-tool-page .dns-result-card .copy-btn,
.dns-tool-page .dns-result-card button[class*="copy"] {
  min-height: 30px;
  height: 30px;
  padding: 0 10px;
  border-radius: 9px;
  font-size: 11px;
  font-weight: 800;
}

@media (max-width: 820px) {
  .dns-tool-page .results-container {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 520px) {
  .dns-tool-page .dns-result-card {
    padding: 14px;
  }

  .dns-tool-page .location {
    font-size: 14px;
  }
}

/* COMPACT DNS RESULTS END */

/* DNS RECORD MENU GRID START */

.dns-tool-page #recordDropdown .select-menu {
  width: 430px;
  right: auto;
  left: 50%;
  transform: translateX(-50%);

  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 7px;

  max-height: none;
  overflow: visible;
  padding: 10px;

  border-radius: 18px;
}

.dns-tool-page #recordDropdown.open .select-menu {
  display: grid;
}

.dns-tool-page #recordDropdown .select-option {
  min-height: 58px;
  padding: 10px 12px;
  border-radius: 12px;
}

.dns-tool-page #recordDropdown .select-option strong {
  font-size: 14px;
}

.dns-tool-page #recordDropdown .select-option small {
  font-size: 11px;
  line-height: 1.35;
}

.dns-tool-page #recordDropdown .select-option.active {
  box-shadow:
    0 0 0 1px rgba(99, 102, 241, 0.18) inset;
}

@media (max-width: 720px) {
  .dns-tool-page #recordDropdown .select-menu {
    width: min(360px, calc(100vw - 28px));
    left: 0;
    right: auto;
    transform: none;

    grid-template-columns: 1fr;

    max-height: 390px;
    overflow-y: auto;
    overscroll-behavior: contain;
  }

  .dns-tool-page #recordDropdown .select-option {
    min-height: 52px;
  }
}

/* DNS RECORD MENU GRID END */

/* SOA RESULT WRAP FIX START */

.dns-tool-page .dns-result-card {
  min-width: 0;
  overflow: hidden;
}

.dns-tool-page .dns-result-card .answer-row,
.dns-tool-page .dns-result-card .answer-item,
.dns-tool-page .dns-result-card .result-value,
.dns-tool-page .dns-result-card .record-value,
.dns-tool-page .dns-result-card .answer {
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow: hidden;
}

.dns-tool-page .dns-result-card .answer-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.dns-tool-page .dns-result-card pre,
.dns-tool-page .dns-result-card code,
.dns-tool-page .dns-result-card .answer-value,
.dns-tool-page .dns-result-card .record-value,
.dns-tool-page .dns-result-card .result-value {
  min-width: 0;
  max-width: 100%;

  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: break-word;

  overflow-x: hidden;
  text-overflow: unset;
}

.dns-tool-page .dns-result-card pre {
  margin: 0;
  padding: 0;
  font-size: 12px;
  line-height: 1.65;
}

.dns-tool-page .dns-result-card .copy-btn,
.dns-tool-page .dns-result-card button[class*="copy"] {
  flex-shrink: 0;
  align-self: center;
}

@media (max-width: 640px) {
  .dns-tool-page .dns-result-card .answer-row {
    grid-template-columns: 1fr;
  }

  .dns-tool-page .dns-result-card .copy-btn,
  .dns-tool-page .dns-result-card button[class*="copy"] {
    justify-self: end;
  }
}

/* SOA RESULT WRAP FIX END */
