/* ========================================================
   DASHT SEO — Compatibility & Utility Layer
   Phase 2 / Step 7 extraction from fixes.css
   ======================================================== */

.dasht-admin-wrap * { box-sizing: border-box; }
.dasht-admin-wrap .dasht-card {
  background: #ffffff !important;
  color: #0E1116 !important;
  border-color: #e5e7eb !important;
}
.dasht-admin-wrap .dasht-card h3 { color: #0E1116 !important; }
.dasht-admin-wrap .dasht-card p  { color: #4a4e58 !important; }
.dasht-admin-wrap .dasht-quick-settings h2 { color: #0E1116 !important; }
.dasht-admin-wrap .dasht-quick-links a {
  background: #F2EFE8 !important;
  color: #0E1116 !important;
  border-color: #EAE5DB !important;
}
.dasht-admin-wrap .dasht-quick-links a:hover {
  background: #0E1116 !important;
  color: #F4EFE3 !important;
}

.cursor, .cursor-dot {
  z-index: 99999 !important;
}
@media (pointer: fine) and (min-width: 769px) {
  body.dasht-cursor-active *,
  body.dasht-cursor-active *::before,
  body.dasht-cursor-active *::after {
    cursor: none !important;
  }
}
@media (hover: none), (max-width: 768px) {
  body, body * { cursor: auto !important; }
  .cursor, .cursor-dot { display: none !important; }
}
.dasht-customizer-body,
.dasht-customizer-body *,
.dasht-customizer-body *::before,
.dasht-customizer-body *::after,
body.wp-admin,
body.wp-admin *,
body.wp-admin *::before,
body.wp-admin *::after { cursor: auto !important; }
.dasht-customizer-body a,
.dasht-customizer-body button,
.dasht-customizer-body select,
.dasht-customizer-body label,
.dasht-customizer-body [role="button"],
.dasht-customizer-body .dasht-options-nav-item,
.dasht-customizer-body .dasht-switch,
.dasht-customizer-body .dasht-upload-btn,
.dasht-customizer-body .dasht-remove-btn,
.dasht-customizer-body .dasht-preview-size-btn,
.dasht-customizer-body .dasht-preview-refresh,
.dasht-customizer-body .dasht-customizer-theme-btn,
.dasht-customizer-body .dasht-customizer-topbar-btn,
.dasht-customizer-body .dasht-customizer-save,
.dasht-customizer-body .dasht-customizer-back,
body.wp-admin a,
body.wp-admin button,
body.wp-admin select,
body.wp-admin label { cursor: pointer !important; }
.dasht-customizer-body input[type="text"],
.dasht-customizer-body input[type="url"],
.dasht-customizer-body input[type="number"],
.dasht-customizer-body input[type="search"],
.dasht-customizer-body input[type="email"],
.dasht-customizer-body textarea,
body.wp-admin input[type="text"],
body.wp-admin textarea { cursor: text !important; }
.dasht-customizer-body input[type="range"],
body.wp-admin input[type="range"] { cursor: grab !important; }
.dasht-customizer-body input[type="color"],
body.wp-admin input[type="color"] { cursor: pointer !important; }
.dasht-customizer-body .cursor,
.dasht-customizer-body .cursor-dot,
body.wp-admin .cursor,
body.wp-admin .cursor-dot { display: none !important; opacity: 0 !important; visibility: hidden !important; }

:root {
  --ff-fa: 'Vazirmatn', 'IRANSans', 'Yekan Bakh', 'Dana', 'Shabnam', 'Segoe UI', Tahoma, Arial, sans-serif !important;
}
/* Keep serif and mono distinct for visual variety and code readability */
html, body,
a, button, input, select, textarea,
.nav a, .nav-links a, .brand, .brand-name, .brand-sub,
.btn, .btn-fill,
.section-title,
.contact-form, .contact-form *,
.footer-cols, .footer-cols *,
.dasht-user-menu, .dasht-user-menu *,
.dasht-search-modal, .dasht-search-modal * {
  font-family: var(--ff-fa) !important;
}
/* Restore proper fonts for serif/mono elements */
.ff-serif { font-family: var(--ff-serif) !important; }
.ff-mono, code, pre, kbd, samp, .ltr, [dir="ltr"] {
  font-family: 'JetBrains Mono', Consolas, Monaco, 'Courier New', monospace !important;
}
/* Persian text should NOT have uppercase or wide letter-spacing.
   But keep nav-links and btn uppercase/spacing for editorial design. */
a, button,
.btn, .btn-fill,
.dasht-auth-submit,
.dasht-form-submit {
  text-transform: none !important;
}
/* Persian paragraphs and body text: tight letter-spacing */
p, li, span, td, th, label, .dasht-page-content, .dasht-single-content, .entry-content {
  letter-spacing: 0 !important;
}

/* ══════════════════════════════════════════════════
   INTERNAL PAGES — mobile content hardening
   ══════════════════════════════════════════════════ */
.dasht-page-content,
.dasht-single-content,
.entry-content,
.comment-content,
.woocommerce-Tabs-panel,
.wp-block-post-content {
  min-width: 0;
  overflow-wrap: anywhere;
  word-break: normal;
}
.dasht-page-content img,
.dasht-single-content img,
.entry-content img,
.comment-content img,
.wp-block-post-content img,
.dasht-page-content iframe,
.dasht-single-content iframe,
.entry-content iframe,
.wp-block-post-content iframe,
.dasht-page-content video,
.dasht-single-content video,
.entry-content video,
.wp-block-post-content video,
.dasht-page-content object,
.dasht-single-content object,
.entry-content object,
.wp-block-post-content object,
.dasht-page-content embed,
.dasht-single-content embed,
.entry-content embed,
.wp-block-post-content embed {
  max-width: 100%;
  height: auto;
}
.dasht-page-content iframe,
.dasht-single-content iframe,
.entry-content iframe,
.wp-block-post-content iframe {
  width: 100%;
}

@media (max-width: 768px) {
  .dasht-page-content table,
  .dasht-single-content table,
  .entry-content table,
  .comment-content table,
  .wp-block-post-content table,
  .wp-block-table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    white-space: nowrap;
  }

  .dasht-page-content pre,
  .dasht-single-content pre,
  .entry-content pre,
  .comment-content pre,
  .wp-block-post-content pre {
    display: block;
    max-width: 100%;
    overflow-x: auto;
    white-space: pre-wrap;
    word-break: break-word;
  }

  .dasht-page-content .alignwide,
  .dasht-single-content .alignwide,
  .entry-content .alignwide,
  .wp-block-post-content .alignwide,
  .dasht-page-content .alignfull,
  .dasht-single-content .alignfull,
  .entry-content .alignfull,
  .wp-block-post-content .alignfull {
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  .wp-block-columns,
  .wp-block-media-text {
    grid-template-columns: 1fr !important;
    flex-direction: column !important;
  }

  .wp-block-gallery,
  .blocks-gallery-grid,
  .gallery {
    gap: 10px !important;
  }

  .wp-block-image,
  .wp-block-cover,
  .wp-block-group,
  .wp-block-table,
  .wp-block-embed,
  .wp-block-media-text,
  .wp-block-columns {
    max-width: 100% !important;
    overflow: hidden;
  }
}

.dasht-logo {
  display: block !important;
  max-height: calc(42px * var(--logo-scale, 1)) !important;
  width: auto !important;
  max-width: none !important;
  height: auto !important;
  object-fit: contain !important;
  flex-shrink: 0 !important;
}
@media (max-width: 768px) {
  .dasht-logo {
    max-height: calc(36px * var(--logo-scale, 1)) !important;
  }
}

@media (min-width: 769px) {
  html[data-theme="dark"] .nav-links {
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }
  html[data-theme="dark"] .nav-links::before {
    display: none !important;
    content: none !important;
  }
  html[data-theme="dark"] .nav-links > li,
  html[data-theme="dark"] .nav-links li {
    border: 0 !important;
    background: transparent !important;
  }
  html[data-theme="dark"] .nav-links a {
    background: transparent !important;
    color: var(--ink-soft) !important;
  }
  html[data-theme="dark"] .nav-links a:hover,
  html[data-theme="dark"] .nav-links a:focus {
    background: transparent !important;
    color: var(--c-accent) !important;
  }
}

.dasht-auth-side .brand-mark:empty,
.dasht-sidebar-brand .mark:empty,
.brand .brand-mark:empty {
  display: none !important;
}

@media (pointer: fine) and (min-width: 769px) {
  html[data-theme="light"] .cursor {
    border-color: #0E1116 !important;
    background: transparent !important;
    mix-blend-mode: normal !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.85), 0 4px 14px rgba(14,17,22,.18) !important;
  }
  html[data-theme="light"] .cursor-dot {
    background: #0E1116 !important;
    mix-blend-mode: normal !important;
    box-shadow: 0 0 0 2px rgba(255,255,255,.9) !important;
  }
  html[data-theme="light"] .cursor.hover {
    border-color: var(--c-primary) !important;
    background: rgba(92,138,106,.14) !important;
    box-shadow: 0 0 0 3px rgba(255,255,255,.9), 0 6px 18px rgba(92,138,106,.22) !important;
  }
}

.dasht-svg-icon {
  width: 1.1em;
  height: 1.1em;
  display: inline-block;
  vertical-align: -0.16em;
  flex-shrink: 0;
}
.footer-desc {
  color: rgba(255,255,255,.6);
  font-size: .92rem;
  line-height: 1.7;
}

body.elementor-editor-active,
body.elementor-editor-active *,
.elementor-editor-active,
.elementor-editor-active * {
  cursor: auto !important;
}
body.elementor-editor-active .cursor,
body.elementor-editor-active .cursor-dot,
.elementor-editor-active .cursor,
.elementor-editor-active .cursor-dot {
  display: none !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

.dasht-global-breadcrumb-wrap {
  position: relative;
  z-index: 4;
}
.dasht-breadcrumb {
  margin: 20px 0 0;
  color: var(--ink-mute);
  font-family: var(--ff-fa);
  font-size: .82rem;
}
.dasht-breadcrumb ol {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  list-style: none;
  padding: 0;
  margin: 0;
}
.dasht-breadcrumb li {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
}
.dasht-breadcrumb li:not(:last-child)::after {
  content: '›';
  color: var(--ink-mute);
  opacity: .55;
}
.dasht-breadcrumb a,
.dasht-breadcrumb span {
  color: var(--ink-mute);
  text-decoration: none;
  max-width: 260px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.dasht-breadcrumb a:hover {
  color: var(--c-primary);
}
@media (max-width: 768px) {
  .dasht-breadcrumb { margin-top: 14px; font-size: .76rem; }
  .dasht-breadcrumb a,
  .dasht-breadcrumb span { max-width: 150px; }

  /* Generic internal-page safety net for tablet/mobile. */
  .container,
  .site-main,
  .page-content,
  .dasht-contact-page,
  .dasht-archive-page,
  .dasht-cpt-archive,
  .dasht-search-page {
    min-width: 0;
  }
  .container {
    width: 100%;
    max-width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    margin-left: auto;
    margin-right: auto;
  }
  .page-hero {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
  .page-content,
  .page-content > * {
    max-width: 100%;
  }
  .dasht-contact-page .contact-grid,
  .dasht-contact-page .form-row,
  .dasht-archive-grid,
  .dasht-cpt-grid,
  .dasht-related-grid,
  .reviews-grid {
    grid-template-columns: 1fr !important;
  }
}

.dasht-search-page { padding-top: 80px; padding-bottom: 80px; }
.dasht-search-page-title { font-size: clamp(1.5rem, 4vw, 3rem); margin-bottom: 12px; }
.dasht-search-results-list { margin-top: 40px; }
.dasht-search-result-row { padding: 20px 0; border-bottom: 1.5px solid var(--line-soft); }
.dasht-search-result-row h2 a { color: var(--ink); text-decoration: none; transition: color .38s; }
.dasht-search-result-row h2 a:hover { color: var(--c-primary); }
.dasht-search-result-row p { color: var(--ink-mute); }

.dasht-404-page { min-height: 80vh; display: flex; align-items: center; justify-content: center; text-align: center; padding: 60px 20px; }
.dasht-404-inner { max-width: 600px; }
.dasht-404-title { color: var(--c-primary); margin-bottom: 20px; }
.dasht-404-subtitle { font-size: clamp(1.5rem, 3vw, 2.5rem); margin-bottom: 16px; }
.dasht-404-desc { color: var(--ink-mute); margin-bottom: 32px; }

/* ── Hide reCAPTCHA v3 floating badge (invisible mode) ── */
.grecaptcha-badge,
.grecaptcha-badge iframe,
[src*="recaptcha"] + iframe {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  position: absolute !important;
  pointer-events: none !important;
  width: 0 !important;
  height: 0 !important;
}

.dasht-keyboard-nav a:focus-visible,
.dasht-keyboard-nav button:focus-visible,
.dasht-keyboard-nav input:focus-visible,
.dasht-keyboard-nav textarea:focus-visible,
.dasht-keyboard-nav select:focus-visible,
.dasht-keyboard-nav [tabindex]:focus-visible{outline:3px solid var(--accent,#C9B18C);outline-offset:3px;box-shadow:0 0 0 6px rgba(201,177,140,.22)}
@media (prefers-reduced-motion: reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}.screen-reader-text:focus{clip:auto!important;clip-path:none;height:auto;right:12px;top:12px;width:auto;z-index:100000;background:var(--ink);color:var(--bg);padding:10px 14px;border-radius:999px}
