html {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
  scroll-behavior: smooth;
}

h1, h2, h3, h4, h5, h6 {
  font-family: 'Outfit', 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

body {
  font-family: 'Plus Jakarta Sans', system-ui, -apple-system, sans-serif;
}

/* Custom Utilities for M2V Obsidian & Blue/Sky Brand Theme */
.bg-grid-pattern {
  background-size: 32px 32px;
  background-image:
    linear-gradient(to right, rgba(2, 132, 199, 0.08) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(2, 132, 199, 0.08) 1px, transparent 1px);
}

.bg-radial-blue {
  background-image: radial-gradient(circle at 50% 0%, rgba(2, 132, 199, 0.18) 0%, rgba(56, 189, 248, 0.06) 50%, transparent 80%);
}

.bg-radial-hero {
  background-image: radial-gradient(circle at 50% 10%, rgba(0, 102, 204, 0.25) 0%, rgba(15, 23, 42, 0) 70%);
}

.text-balance {
  text-wrap: balance;
}

.glow-blue {
  box-shadow: 0 0 35px -5px rgba(2, 132, 199, 0.35);
}

/* Custom Scrollbar */
::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}

::-webkit-scrollbar-track {
  background: #0f172a;
}

::-webkit-scrollbar-thumb {
  background: #0284c7;
  border-radius: 4px;
}

::-webkit-scrollbar-thumb:hover {
  background: #38bdf8;
}

@keyframes m2v-fade-in {
  from { opacity: 0; transform: translateY(4px); }
  to { opacity: 1; transform: translateY(0); }
}
.animate-fade-in {
  animation: m2v-fade-in 0.2s ease-out;
}

/* Line clamp helpers (in case Tailwind line-clamp plugin isn't present) */
.line-clamp-1 { display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-2 { display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.line-clamp-3 { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* Navbar dropdown (hover on desktop) */
.m2v-dropdown-wrap { position: relative; }
.m2v-dropdown-panel {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
}
.m2v-dropdown-wrap:hover .m2v-dropdown-panel,
.m2v-dropdown-wrap:focus-within .m2v-dropdown-panel {
  display: grid;
}

/* Mobile menu toggle */
.m2v-mobile-menu { display: none; }
.m2v-mobile-menu.is-open { display: block; }

/* Modal base */
.m2v-modal-overlay { display: none; }
.m2v-modal-overlay.is-open { display: flex; }

/* Lucide icon default sizing so icons don't render huge before JS runs */
[data-lucide] {
  width: 1em;
  height: 1em;
}

/* WordPress core alignment / accessibility helpers used inside post content */
.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; width: 1px; word-wrap: normal !important;
}

/* Article body content (WYSIWYG) styling so wp-admin edited posts look right */
.m2v-article-body h2 { font-size: 1.25rem; font-weight: 800; color: #0f172a; border-bottom: 1px solid #f1f5f9; padding-bottom: 0.5rem; margin-top: 2rem; margin-bottom: 1rem; }
.m2v-article-body p { font-size: 0.85rem; color: #334155; line-height: 1.7; margin-bottom: 1rem; }
.m2v-article-body ul { margin: 0.5rem 0 1rem 0; padding: 0; list-style: none; }
.m2v-article-body ul li { display: flex; align-items: flex-start; gap: 0.6rem; background: #f8fafc; padding: 0.9rem; border-radius: 0.75rem; border: 1px solid #f1f5f9; font-size: 0.8rem; color: #1e293b; margin-bottom: 0.5rem; }
