/*
Theme Name: Majhi Naukri
Theme URI: https://majhinaukrii.in/
Author: Majhi Naukri
Author URI: https://majhinaukrii.in/
Description: Government-portal style Marathi job portal theme for majhinaukrii.in. Works with the existing posts, custom post types (hall_ticket, result, mpsc_papers, question_paper), taxonomies and ACF fields. Mobile-first, fast, SEO plugin friendly (Rank Math compatible).
Version: 1.6.9
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: majhi-naukri
Tags: news, blog, custom-menu, featured-images, translation-ready, right-sidebar
*/

/* ==========================================================================
   Design tokens (ported 1:1 from the Lovable design system)
   ========================================================================== */
:root {
  --radius: 0.375rem;
  --radius-sm: 0.25rem;
  --radius-md: 0.375rem;
  --background: oklch(0.98 0.005 250);
  --foreground: oklch(0.22 0.03 255);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.22 0.03 255);
  --primary: oklch(0.38 0.14 258);
  --primary-foreground: oklch(0.99 0.005 250);
  --primary-dark: oklch(0.29 0.12 258);
  --saffron: oklch(0.68 0.17 55);
  --saffron-foreground: oklch(0.99 0.005 250);
  --success: oklch(0.52 0.13 155);
  --secondary: oklch(0.95 0.012 250);
  --secondary-foreground: oklch(0.3 0.06 258);
  --muted: oklch(0.96 0.008 250);
  --muted-foreground: oklch(0.5 0.03 257);
  --accent: oklch(0.94 0.03 250);
  --destructive: oklch(0.55 0.2 27);
  --destructive-foreground: oklch(0.99 0.003 250);
  --border: oklch(0.9 0.015 252);
  --input: oklch(0.88 0.02 252);
  --maxw: 72rem;
}

/* ==========================================================================
   Base
   ========================================================================== */
*,
*::before,
*::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
  margin: 0;
  background: var(--background);
  color: var(--foreground);
  font-family: "Noto Sans", "Noto Sans Devanagari", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  font-size: 15px;
  line-height: 1.6;
}

img { max-width: 100%; height: auto; }
a { color: inherit; text-decoration: none; }
a:hover { text-decoration: none; }
button { font: inherit; }

.mn-wrap { max-width: var(--maxw); margin: 0 auto; padding: 0 12px; }
.mn-mt { margin-top: 16px; }
.mn-sr {
  position: absolute !important;
  width: 1px; height: 1px; overflow: hidden;
  clip: rect(1px, 1px, 1px, 1px); white-space: nowrap;
}
.mn-skip-link {
  position: absolute; left: -9999px; top: 0; z-index: 100;
  background: var(--primary); color: var(--primary-foreground); padding: 10px 16px;
}
.mn-skip-link:focus { left: 8px; top: 8px; }

.mn-card {
  background: var(--card);
  border: 1px solid var(--border);
  border-radius: var(--radius);
  overflow: hidden;
}

/* ==========================================================================
   Header
   ========================================================================== */
.mn-header {
  position: sticky; top: 0; z-index: 40;
  background: var(--card);
  border-bottom: 1px solid var(--border);
}
.mn-header-top {
  display: flex; align-items: center; gap: 12px;
  max-width: var(--maxw); margin: 0 auto; padding: 6px 12px;
}
.mn-logo img { height: 44px; width: auto; display: block; }
.mn-header-search { margin-left: auto; flex: 1; max-width: 24rem; display: none; }
.mn-search-field {
  display: flex; align-items: center; width: 100%;
  border: 1px solid var(--input); border-radius: var(--radius); background: var(--background);
}
.mn-search-field input[type="search"] {
  height: 36px; width: 100%; border: 0; background: transparent;
  padding: 0 10px; font-size: 14px; outline: none; color: inherit;
}
.mn-search-field button {
  border: 0; background: var(--primary); color: var(--primary-foreground);
  height: 36px; padding: 0 14px; font-size: 13px; font-weight: 700; cursor: pointer;
  border-radius: 0 var(--radius) var(--radius) 0;
}
.mn-menu-toggle {
  margin-left: auto; border: 1px solid var(--border); background: transparent;
  border-radius: var(--radius); padding: 7px 9px; cursor: pointer; color: inherit; line-height: 0;
}
.mn-nav { display: none; background: var(--primary); border-top: 1px solid var(--border); }
.mn-nav ul {
  display: flex; align-items: center; gap: 2px; list-style: none;
  max-width: var(--maxw); margin: 0 auto; padding: 0 12px;
}
.mn-nav a {
  display: block; padding: 10px 12px; font-size: 14px; font-weight: 600;
  color: var(--primary-foreground); opacity: .9;
}
.mn-nav a:hover,
.mn-nav .current-menu-item > a,
.mn-nav .current_page_item > a { background: var(--primary-dark); opacity: 1; }
.mn-clock {
  margin-left: auto; white-space: nowrap; padding: 8px;
  font-size: 14px; color: var(--primary-foreground); opacity: .9;
}
.mn-mobile-panel { display: none; border-top: 1px solid var(--border); background: var(--card); }
.mn-mobile-panel.is-open { display: block; }
.mn-mobile-panel form { display: flex; gap: 8px; padding: 12px; }
.mn-mobile-panel ul { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border); }
.mn-mobile-panel li + li { border-top: 1px solid var(--border); }
.mn-mobile-panel a { display: block; padding: 12px 16px; font-size: 14px; font-weight: 600; }

@media (min-width: 768px) {
  .mn-header-search { display: flex; }
  .mn-menu-toggle { display: none; }
  .mn-nav { display: block; }
  .mn-mobile-panel { display: none !important; }
  .mn-logo img { height: 56px; }
}

/* ==========================================================================
   Layout with sidebar
   ========================================================================== */
.mn-layout { display: grid; gap: 16px; max-width: var(--maxw); margin: 16px auto; padding: 0 12px; }
@media (min-width: 1024px) {
  .mn-layout { grid-template-columns: minmax(0, 1fr) 20rem; align-items: start; }
}
.mn-sidebar { display: grid; gap: 16px; }
.mn-sticky { position: sticky; top: 110px; }

/* ==========================================================================
   Cards / lists
   ========================================================================== */
.mn-list-card { display: flex; flex-direction: column; height: 100%; }
.mn-list-card > h2,
.mn-list-card > h3 {
  margin: 0; padding: 12px 16px; font-size: 15px; font-weight: 700;
  display: flex; align-items: center; gap: 8px;
}
.mn-h-primary { background: var(--primary); color: var(--primary-foreground); }
.mn-h-saffron { background: var(--saffron); color: var(--saffron-foreground); }
.mn-h-success { background: var(--success); color: #fff; }
.mn-h-destructive { background: var(--destructive); color: var(--destructive-foreground); }

.mn-items { list-style: none; margin: 0; padding: 0; }
.mn-list-card .mn-items { flex: 1 1 auto; }
.mn-list-card .mn-viewall { margin-top: auto; }
.mn-items > li + li { border-top: 1px solid var(--border); }
.mn-item {
  display: flex; gap: 10px; align-items: flex-start; padding: 10px 12px;
}
.mn-item:hover { background: var(--accent); }
.mn-item-thumb {
  width: 64px; height: 48px; flex: 0 0 auto; object-fit: cover;
  border-radius: var(--radius-sm); border: 1px solid var(--border); background: var(--muted);
}
.mn-item-body { min-width: 0; flex: 1; }
.mn-item-title {
  display: block; font-size: 13.5px; font-weight: 600; line-height: 1.45; color: var(--card-foreground);
}
.mn-item-meta { display: block; margin-top: 3px; font-size: 11.5px; color: var(--muted-foreground); }
.mn-item-lastdate { display: block; margin-top: 3px; font-size: 11.5px; font-weight: 700; color: var(--destructive); }
.mn-badge {
  flex: 0 0 auto; align-self: flex-start; border-radius: 999px;
  padding: 2px 8px; font-size: 10px; font-weight: 700; color: #fff;
}
.mn-badge-primary { background: var(--primary); }
.mn-badge-saffron { background: var(--saffron); }
.mn-badge-success { background: var(--success); }
.mn-badge-destructive { background: var(--destructive); }

.mn-viewall {
  display: flex !important; align-items: center !important; justify-content: center !important;
  min-height: 46px;
  border-top: 1px solid var(--border); padding: 12px 16px;
  font-size: 14px; font-weight: 700; color: var(--primary); text-align: center;
  background: #e8eefb;
  background: color-mix(in oklch, var(--primary) 10%, white);
}
.mn-viewall:hover { background: #d7e2f8; background: color-mix(in oklch, var(--primary) 18%, white); }

.mn-empty { padding: 14px 16px; font-size: 13px; color: var(--muted-foreground); }

/* Homepage 3-column grid */
.mn-grid3 { display: grid; gap: 16px; }
@media (min-width: 1024px) { .mn-grid3 { grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; } }
.mn-grid3 > * { min-width: 0; }

/* Quick links */
.mn-quick { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (min-width: 640px) { .mn-quick { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mn-quick { grid-template-columns: repeat(10, minmax(0, 1fr)); } }
.mn-quick a {
  display: flex; flex-direction: column; align-items: center; gap: 6px; text-align: center;
  border: 1px solid var(--border); background: var(--card); border-radius: var(--radius);
  padding: 12px 6px; font-size: 11px; font-weight: 600; color: var(--card-foreground);
}
.mn-quick a:hover { border-color: var(--primary); background: var(--accent); }
.mn-quick svg { width: 22px; height: 22px; color: var(--primary); }
.mn-hide-mobile, .mn-quick a.mn-hide-mobile { display: none !important; }
@media (min-width: 640px) {
  .mn-hide-mobile, .mn-quick a.mn-hide-mobile { display: flex !important; }
}

.mn-page-title { font-size: 20px; font-weight: 700; text-align: center; margin: 0 0 12px; }
@media (min-width: 640px) { .mn-page-title { font-size: 24px; } }
.mn-section-title { font-size: 16px; font-weight: 700; margin: 0; }

/* Ticker */
.mn-ticker { display: flex; align-items: stretch; overflow: hidden; }
.mn-ticker-label {
  display: flex; align-items: center; flex: 0 0 auto; padding: 0 12px;
  background: var(--destructive); color: var(--destructive-foreground);
  font-size: 12px; font-weight: 700; text-transform: uppercase;
}
.mn-ticker-viewport { flex: 1; min-width: 0; overflow: hidden; padding: 10px 0; }
.mn-ticker-track {
  display: inline-flex; align-items: center; white-space: nowrap;
  animation: mn-ticker 30s linear infinite; will-change: transform;
}
.mn-ticker-viewport:hover .mn-ticker-track { animation-play-state: paused; }
.mn-ticker-track a { display: flex; align-items: center; padding: 0 12px; font-size: 14px; }
.mn-ticker-track a:hover { color: var(--primary); }
.mn-dot { width: 6px; height: 6px; border-radius: 999px; background: var(--destructive); margin-inline-end: 10px; }
@keyframes mn-ticker { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .mn-ticker-track { animation: none; } }

/* Closing soon */
.mn-closing { border: 1px solid color-mix(in oklab, var(--destructive) 40%, transparent); background: var(--card); }
.mn-closing > h2 {
  margin: 0; padding: 10px 16px; font-size: 15px; font-weight: 700;
  display: flex; align-items: center; gap: 8px; line-height: 1.4;
  background: var(--destructive); color: var(--destructive-foreground);
}
.mn-closing > h2 .mn-icon { width: 18px; height: 18px; flex: 0 0 auto; }
.mn-closing ul { list-style: none; margin: 0; padding: 0; }
.mn-closing li { border-bottom: 1px solid var(--border); }
@media (min-width: 640px) { .mn-closing ul { display: grid; grid-template-columns: 1fr 1fr; } }
.mn-closing a { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; padding: 12px 16px; color: var(--card-foreground); }
.mn-closing a:hover { background: var(--accent); }
.mn-closing .t { font-size: 13.5px; font-weight: 600; line-height: 1.45; display: block; color: var(--card-foreground); }
.mn-closing .d { font-size: 11.5px; font-weight: 700; color: var(--destructive); display: block; margin-top: 4px; }
.mn-closing .p {
  flex: 0 0 auto; align-self: flex-start; white-space: nowrap;
  background: var(--destructive); color: var(--destructive-foreground);
  border-radius: 999px; padding: 3px 10px; font-size: 10.5px; font-weight: 700; line-height: 1.4;
}


/* Mega banner */
.mn-mega {
  display: flex; flex-direction: column; gap: 12px; align-items: flex-start;
  background: var(--primary); color: var(--primary-foreground);
  border-radius: var(--radius); padding: 24px;
}
.mn-mega:hover { background: var(--primary-dark); }
.mn-mega b { font-size: 20px; display: block; }
.mn-mega span.s { display: block; margin-top: 4px; font-size: 14px; opacity: .9; }
.mn-mega .cta {
  background: var(--saffron); color: var(--saffron-foreground);
  border-radius: var(--radius); padding: 10px 20px; font-size: 14px; font-weight: 700;
}
@media (min-width: 640px) { .mn-mega { flex-direction: row; align-items: center; justify-content: space-between; } }

/* Chips */
.mn-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; }
.mn-chips a {
  border: 1px solid var(--border); background: var(--card); border-radius: 999px;
  padding: 8px 16px; font-size: 14px; font-weight: 500; color: var(--card-foreground);
}
.mn-chips a:hover { border-color: var(--primary); background: var(--accent); }

/* Tools grid */
.mn-tools { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
@media (min-width: 640px) { .mn-tools { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mn-tools { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.mn-tools a {
  display: flex; gap: 12px; align-items: flex-start;
  border: 1px solid var(--border); background: var(--card); border-radius: var(--radius); padding: 14px;
}
.mn-tools a:hover { border-color: var(--primary); background: var(--accent); }
.mn-tools svg { width: 20px; height: 20px; color: var(--primary); flex: 0 0 auto; margin-top: 2px; }
.mn-tools b { display: block; font-size: 14px; font-weight: 600; }
.mn-tools em { display: block; font-style: normal; font-size: 12px; color: var(--muted-foreground); margin-top: 2px; }

/* Subscribe strip */
.mn-subscribe {
  display: flex; flex-direction: column; gap: 16px; align-items: center; text-align: center;
  border: 1px solid var(--border); background: var(--card); border-radius: var(--radius); padding: 24px;
}
@media (min-width: 640px) { .mn-subscribe { flex-direction: row; justify-content: space-between; text-align: left; } }
.mn-btn {
  display: inline-block; border-radius: var(--radius); padding: 10px 20px;
  font-size: 14px; font-weight: 700; color: #fff; transition: transform .15s ease;
}
.mn-btn:hover { transform: scale(1.04); }
.mn-btn-primary { background: var(--primary); }
.mn-btn-success { background: var(--success); }
.mn-btn-facebook { background: #1877f2; }
.mn-btn-row { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 639px) {
  .mn-subscribe .mn-btn-row { flex-direction: column; width: 100%; }
  .mn-subscribe .mn-btn { display: block; text-align: center; }
}


/* Ads — collapsed until the unit actually fills (no big empty boxes) */
.mn-ad {
  position: relative; margin: 0 auto; text-align: center; overflow: hidden;
  background: transparent; border-radius: var(--radius);
  /* Never let a slot collapse to zero width (availableWidth=0 errors). */
  width: 100%; max-width: 100%; box-sizing: border-box;
}
.mn-ad .mn-ad-label { display: none; }
.mn-ad ins.adsbygoogle { display: block; margin: 0 auto; width: 100%; }

/* Loading units stay renderable (AdSense never fills a hidden slot),
   they just don't reserve visible height until they fill. */
.mn-ad:not(.mn-ad-filled) { min-height: 0; margin: 0; padding: 0; border: 0; }
.mn-ad ins.adsbygoogle[data-ad-status="unfilled"] { display: none !important; }
.mn-ad.mn-ad-empty { display: none !important; }

/* Remove spacing from the template wrapper only when the unit came back empty. */
.mn-ad-host.mn-ad-host-empty {
  height: 0 !important; min-height: 0 !important; margin-top: 0 !important;
  margin-bottom: 0 !important; padding-top: 0 !important; padding-bottom: 0 !important;
  border: 0 !important; overflow: hidden !important;
}

/* Filled units get their normal sizing back */
.mn-ad.mn-ad-filled { background: var(--muted); }
.mn-ad.mn-ad-filled .mn-ad-label {
  display: block; font-size: 10px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--muted-foreground); margin-bottom: 4px; text-align: center;
}
.mn-ad-filled.mn-ad-responsive ins.adsbygoogle { min-height: 90px; }
.mn-ad-filled.mn-ad-leaderboard ins.adsbygoogle { min-height: 90px; }
.mn-ad-filled.mn-ad-sidebar ins.adsbygoogle { min-height: 250px; }
.mn-ad-filled.mn-ad-vertical ins.adsbygoogle { min-height: 300px; }
.mn-global-ad { margin-top: 16px; margin-bottom: 16px; }
.mn-content-ad, .mn-article-ad { margin: 18px 0; }
.mn-sidebar .mn-ad-vertical { width: 100%; }

/* AdSense Auto Ads: collapse only slots that reported back as empty. */
ins.adsbygoogle[data-ad-status="unfilled"] {
  display: none !important;
  height: 0 !important;
  min-height: 0 !important;
  margin: 0 !important;
}
ins.adsbygoogle[data-anchor-status="dismissed"] { display: none !important; }
body > ins.adsbygoogle,
#mn-main > ins.adsbygoogle { margin: 0 !important; }




/* ==========================================================================
   Sidebar widgets
   ========================================================================== */
.mn-widget { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.mn-widget > h2, .mn-widget .widget-title {
  margin: 0; padding: 10px 14px; font-size: 14px; font-weight: 700;
  background: var(--secondary); color: var(--secondary-foreground); border-bottom: 1px solid var(--border);
}
.mn-widget ul { list-style: none; margin: 0; padding: 0; }
.mn-widget li + li { border-top: 1px solid var(--border); }
.mn-widget-item { display: flex; gap: 8px; padding: 8px 12px; align-items: flex-start; }
.mn-widget-item:hover { background: var(--accent); }
.mn-widget-item img {
  width: 48px; height: 36px; object-fit: cover; flex: 0 0 auto;
  border-radius: var(--radius-sm); border: 1px solid var(--border);
}
.mn-widget-item .t { font-size: 12.5px; font-weight: 600; line-height: 1.4; display: block; }
.mn-widget-item .d { font-size: 11px; color: var(--muted-foreground); display: block; margin-top: 2px; }
.mn-widget-item .d.red { color: var(--destructive); font-weight: 700; }
.mn-widget .mn-chips { padding: 12px; margin: 0; }
.mn-widget-social { display: grid; gap: 8px; padding: 12px; }

/* ==========================================================================
   Archive / single
   ========================================================================== */
.mn-breadcrumb { font-size: 12px; color: var(--muted-foreground); margin-bottom: 12px; }
.mn-breadcrumb a:hover { text-decoration: underline; }
.mn-single { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; }
.mn-single-head { padding: 18px 16px; background: var(--secondary); border-bottom: 1px solid var(--border); }
.mn-single-head h1 { margin: 0; font-size: 20px; font-weight: 800; line-height: 1.35; }
@media (min-width: 640px) { .mn-single-head h1 { font-size: 24px; } }
.mn-single-meta { margin: 8px 0 0; font-size: 12px; color: var(--muted-foreground); }
.mn-single-body { padding: 18px 16px; min-width: 0; max-width: 100%; }
html, body { max-width: 100%; overflow-x: clip; }
.mn-layout, .mn-layout > * { min-width: 0; }
.mn-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }

.mn-summary { border: 1px solid var(--border); border-radius: var(--radius); overflow: hidden; margin-bottom: 16px; }
.mn-summary table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mn-summary th, .mn-summary td { border: 1px solid var(--border); padding: 8px 10px; text-align: left; vertical-align: top; }
.mn-summary th { background: var(--secondary); width: 40%; font-weight: 700; }

.mn-pagination { display: flex; flex-wrap: wrap; gap: 6px; justify-content: center; margin: 20px 0; }
.mn-pagination .page-numbers {
  display: inline-flex; align-items: center; justify-content: center;
  min-width: 38px; height: 38px;
  border: 1px solid var(--border); background: var(--card); border-radius: var(--radius-sm);
  padding: 0 12px; font-size: 14px; font-weight: 700; text-decoration: none; color: var(--foreground);
  transition: background .15s ease, color .15s ease, border-color .15s ease;
}
.mn-pagination .page-numbers.current,
.mn-pagination .page-numbers:hover { background: var(--primary); color: var(--primary-foreground); border-color: var(--primary); }
@media (max-width: 480px) {
  .mn-pagination .page-numbers { min-width: 34px; height: 34px; padding: 0 9px; font-size: 13px; }
}


/* ==========================================================================
   Post content typography (ported from the React WpContent styles)
   ========================================================================== */
.wp-content {
  font-size: 15.5px; line-height: 1.8; color: var(--foreground);
  overflow-wrap: break-word; word-break: normal; max-width: 100%;
}
.wp-content > * + * { margin-top: 1rem; }
.wp-content * { max-width: 100%; }

/* Neutralise legacy inline colours / fonts so old and new posts look identical */
.wp-content font,
.wp-content span,
.wp-content div,
.wp-content p,
.wp-content li { color: inherit; font-family: inherit !important; background-color: transparent; }
.wp-content [bgcolor] { background-color: transparent; }

.wp-content h1, .wp-content h2, .wp-content h3,
.wp-content h4, .wp-content h5, .wp-content h6 {
  font-weight: 800; line-height: 1.35; margin: 1.8rem 0 0.7rem; color: var(--primary-dark);
  letter-spacing: -0.01em;
}
.wp-content h1 { font-size: 1.4rem; }
.wp-content h2 {
  font-size: 1.18rem; border-left: 4px solid var(--saffron);
  padding: .15rem 0 .15rem .65rem;
}
.wp-content h3 { font-size: 1.06rem; border-left: 3px solid var(--primary); padding-left: .55rem; }
.wp-content h4, .wp-content h5, .wp-content h6 { font-size: 1rem; }
.wp-content p { margin: 0; }
.wp-content strong, .wp-content b { font-weight: 700; }
.wp-content a {
  color: var(--primary); font-weight: 600; text-decoration: underline;
  text-underline-offset: 2px; text-decoration-thickness: 1px;
}
.wp-content a:hover { color: var(--saffron); }
.wp-content ul, .wp-content ol { padding-left: 1.3rem; margin: 0; display: grid; gap: .4rem; }
.wp-content ul { list-style: disc; }
.wp-content ol { list-style: decimal; }
.wp-content li { margin: 0; }
.wp-content li::marker { color: var(--saffron); font-weight: 700; }
.wp-content img {
  height: auto; border-radius: var(--radius-md); display: block; margin-inline: auto;
}
.wp-content figure { margin: 0; }
.wp-content figcaption { font-size: 12.5px; color: var(--muted-foreground); text-align: center; margin-top: 6px; }
.wp-content iframe, .wp-content video {
  max-width: 100%; width: 100%; border-radius: var(--radius-md); border: 1px solid var(--border);
}

/* --- Tables: single, outer horizontal scroll only, never nested ---------- */
.mn-table-wrap {
  width: 100%; max-width: 100%; overflow-x: auto; overflow-y: visible;
  -webkit-overflow-scrolling: touch; margin-block: 1.1rem;
  border: 1px solid var(--border); border-radius: var(--radius-md); background: var(--card);
}
.mn-table-wrap > table { margin: 0 !important; border: 0 !important; min-width: 100%; }
.wp-content table {
  width: 100%; border-collapse: collapse; background: var(--card);
  font-size: 14px; table-layout: auto; height: auto !important;
}
.wp-content table,
.wp-content table tr,
.wp-content table td,
.wp-content table th { max-height: none !important; overflow: visible !important; }
.wp-content th, .wp-content td {
  border: 1px solid var(--border); padding: .6rem .75rem;
  text-align: left; vertical-align: middle; line-height: 1.6;
}
.wp-content thead th,
.wp-content tr:first-child > th {
  background: var(--primary); color: var(--primary-foreground);
  font-weight: 700; white-space: nowrap; border-color: var(--primary-dark);
}
.wp-content tbody > tr:nth-child(even) > td { background: color-mix(in oklch, var(--muted) 60%, transparent); }
.wp-content tbody > tr:hover > td { background: color-mix(in oklch, var(--primary) 7%, transparent); }
.wp-content td[align="center"], .wp-content th[align="center"] { text-align: center; }
.wp-content table a:not(.mn-plain) {
  display: inline-block; text-decoration: none; border-radius: var(--radius-sm);
  background: var(--primary); color: var(--primary-foreground);
  padding: .34rem .8rem; font-weight: 700; font-size: 13px; white-space: nowrap;
}
.wp-content table a:not(.mn-plain):hover { background: var(--saffron); color: var(--saffron-foreground); }

/* Layout tables used by old posts as a grid: keep them invisible & unscrolled */
.wp-content table:has(table) {
  display: table; table-layout: fixed; border: 0; background: transparent;
}
.wp-content table:has(table) > tbody > tr > td,
.wp-content table:has(table) > tbody > tr > th {
  border: 0; padding: 0; background: transparent !important; white-space: normal;
}
.wp-content table:has(table) > tbody > tr > td:empty { display: none; }

.wp-content hr { border: 0; border-top: 1px solid var(--border); margin-block: 1.4rem; }
.wp-content blockquote {
  border-left: 4px solid var(--primary); background: var(--secondary);
  padding: .7rem 1rem; border-radius: var(--radius-sm); margin: 0;
}
.wp-content center { display: block; }

/* --- Important links / apply buttons ------------------------------------- */
.wp-content p > a[href*="apply"],
.wp-content p > a[href$=".pdf"] {
  display: inline-block; text-decoration: none; background: var(--saffron);
  color: var(--saffron-foreground); font-weight: 700; font-size: 13.5px;
  padding: .45rem .95rem; border-radius: var(--radius-sm); margin-top: .2rem;
}
.wp-content p > a[href*="apply"]:hover,
.wp-content p > a[href$=".pdf"]:hover { background: var(--primary); color: var(--primary-foreground); }

/* --- FAQ blocks ---------------------------------------------------------- */
.wp-content details, .wp-content .schema-faq-section {
  border: 1px solid var(--border); border-left: 4px solid var(--saffron);
  background: var(--card); border-radius: var(--radius-md); padding: .8rem 1rem;
}
.wp-content .schema-faq-section + .schema-faq-section { margin-top: .6rem; }
.wp-content .schema-faq-question,
.wp-content summary {
  display: block; font-weight: 700; font-size: 15px; color: var(--primary-dark); cursor: pointer;
}
.wp-content .schema-faq-answer { margin-top: .45rem; font-size: 14.5px; color: var(--muted-foreground); }

@media (max-width: 640px) {
  .wp-content { font-size: 15px; }
  .wp-content h1 { font-size: 1.25rem; }
  .wp-content h2 { font-size: 1.1rem; }
  .wp-content th, .wp-content td { padding: .5rem .6rem; font-size: 13.5px; }
}

/* ==========================================================================
   Editor structure -> modern design (auto-detected in theme.js)
   ========================================================================== */

/* A. Quick nav strip (प्रवेशपत्र | निकाल) */
.wp-content table.mn-c-nav,
.wp-content table.mn-c-nav tr,
.wp-content table.mn-c-nav td { border: 0 !important; background: transparent !important; }
.wp-content table.mn-c-nav { display: block; margin-block: 1rem; }
.wp-content table.mn-c-nav tbody,
.wp-content table.mn-c-nav tr { display: flex; flex-wrap: wrap; gap: 10px; width: 100%; }
.wp-content table.mn-c-nav td { display: block; flex: 1 1 160px; padding: 0 !important; }
.wp-content table.mn-c-nav a {
  display: block !important; text-align: center; background: var(--primary) !important;
  color: var(--primary-foreground) !important; font-weight: 700; font-size: 14.5px;
  padding: .6rem .8rem !important; border-radius: var(--radius-md); white-space: normal !important;
  box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
.wp-content table.mn-c-nav a:hover { background: var(--primary-dark) !important; }

/* B. Post date / last update meta strip */
.wp-content table.mn-c-meta,
.wp-content table.mn-c-meta tr { border: 0 !important; }
.wp-content table.mn-c-meta {
  background: var(--secondary); border: 1px solid var(--border) !important;
  border-radius: var(--radius-md); overflow: hidden; margin-block: .9rem;
}
.wp-content table.mn-c-meta td {
  border: 0 !important; background: transparent !important;
  font-size: 13px; color: var(--muted-foreground); font-weight: 600;
  text-align: center; padding: .5rem .6rem;
}
.wp-content table.mn-c-meta td + td { border-left: 1px solid var(--border) !important; }

/* C. Important links table */
.wp-content table.mn-c-links {
  border: 1px solid var(--border); border-radius: var(--radius-md);
  overflow: hidden; margin-block: 1.2rem; background: var(--card);
}
.wp-content table.mn-c-links td { border-color: var(--border); text-align: center; padding: .55rem .7rem; }
.wp-content table.mn-c-links tr.mn-c-links-head td {
  background: var(--primary) !important; color: var(--primary-foreground);
  font-weight: 800; font-size: 15px; letter-spacing: .01em; border-color: var(--primary-dark);
}
.wp-content table.mn-c-links tr.mn-c-links-head td * { color: var(--primary-foreground) !important; }
.wp-content table.mn-c-links tbody > tr:nth-child(even) > td { background: color-mix(in oklch, var(--muted) 45%, transparent); }
.wp-content table.mn-c-links td.mn-c-labelcell { font-weight: 700; color: var(--primary-dark); }
.wp-content table.mn-c-links td.mn-c-labelcell a:not(.mn-plain) {
  background: transparent !important; color: var(--primary-dark) !important;
  padding: 0 !important; font-size: 14px; text-decoration: none;
}
/* Every link inside a value cell becomes a button — including rowspan
   continuation rows where the link is the row's only cell. */
.wp-content table.mn-c-links td.mn-c-linkcell a:not(.mn-plain),
.wp-content table.mn-c-links td.mn-c-linkcell button:not(.mn-plain),
.wp-content table.mn-c-links td.mn-c-linkcell span.mn-btn,
.wp-content table.mn-c-links a.mn-btn {
  display: inline-block; background: var(--saffron) !important;
  color: var(--saffron-foreground) !important; font-weight: 700;
  padding: .38rem .9rem !important; border-radius: 999px; font-size: 13px;
  text-decoration: none; border: 0; margin: .15rem .2rem; line-height: 1.4;
}
.wp-content table.mn-c-links td.mn-c-linkcell a:not(.mn-plain):hover,
.wp-content table.mn-c-links a.mn-btn:hover { background: var(--primary) !important; color: var(--primary-foreground) !important; }

.wp-content table.mn-c-links td.mn-c-linkcell { font-weight: 700; color: var(--primary-dark); }

/* D. Main info card (single-column layout table) */
.wp-content table.mn-c-info {
  border: 1px solid var(--border) !important; border-radius: var(--radius-md);
  overflow: hidden; background: var(--card); margin-block: 1.2rem; display: table;
}
.wp-content table.mn-c-info > tbody > tr > td.mn-c-cell {
  display: block; width: 100% !important; border: 0 !important;
  border-bottom: 1px solid var(--border) !important;
  padding: .7rem .9rem !important; background: var(--card) !important;
  font-size: 15px; line-height: 1.75;
}
.wp-content table.mn-c-info > tbody > tr:nth-child(even) > td.mn-c-cell {
  background: color-mix(in oklch, var(--muted) 40%, transparent) !important;
}
.wp-content table.mn-c-info > tbody > tr:last-child > td.mn-c-cell { border-bottom: 0 !important; }
.wp-content table.mn-c-info .mn-c-label {
  color: var(--primary-dark); font-weight: 800; font-size: 14.5px; margin-right: .35rem;
}
.wp-content table.mn-c-info tr.mn-c-title-row > td.mn-c-cell {
  background: linear-gradient(180deg, color-mix(in oklch, var(--primary) 10%, transparent), transparent) !important;
  text-align: center; padding: 1rem .9rem !important;
}
.wp-content table.mn-c-info tr.mn-c-title-row h1,
.wp-content table.mn-c-info tr.mn-c-title-row h2,
.wp-content table.mn-c-info tr.mn-c-title-row h3 { margin: 0; border: 0; padding: 0; font-size: 1.15rem; }
.wp-content table.mn-c-info td.mn-c-cell > p:empty { display: none; }
.wp-content table.mn-c-info td.mn-c-cell ul,
.wp-content table.mn-c-info td.mn-c-cell ol { margin-top: .45rem; }
.wp-content table.mn-c-info td.mn-c-cell table { margin-top: .55rem; }

/* E. Plain data tables */
.wp-content table.mn-c-data {
  border: 1px solid var(--border); border-radius: var(--radius-md); overflow: hidden;
}
.wp-content table.mn-c-data tr.mn-c-data-head > td,
.wp-content table.mn-c-data tr.mn-c-data-head > th {
  background: var(--primary) !important; color: var(--primary-foreground);
  font-weight: 700; text-align: center; border-color: var(--primary-dark);
}
.wp-content table.mn-c-data tr.mn-c-data-head > td *,
.wp-content table.mn-c-data tr.mn-c-data-head > th * { color: var(--primary-foreground) !important; }

@media (max-width: 640px) {
  .wp-content table.mn-c-info > tbody > tr > td.mn-c-cell { font-size: 14.5px; padding: .6rem .7rem !important; }
  .wp-content table.mn-c-links td { padding: .45rem .5rem; font-size: 13px; }
  .wp-content table.mn-c-nav a { font-size: 13.5px; }
}



/* ==========================================================================
   Footer
   ========================================================================== */
.mn-footer { margin-top: 40px; background: var(--primary); color: var(--primary-foreground); }
.mn-footer-grid {
  display: grid; gap: 28px; max-width: var(--maxw); margin: 0 auto; padding: 36px 12px;
}
@media (min-width: 640px) { .mn-footer-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (min-width: 1024px) { .mn-footer-grid { grid-template-columns: repeat(5, minmax(0, 1fr)); } }
.mn-footer h2 { font-size: 14px; font-weight: 700; margin: 0 0 10px; }
.mn-footer ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 7px; }
.mn-footer li a { font-size: 14px; opacity: .85; }
.mn-footer li a:hover { opacity: 1; text-decoration: underline; }
.mn-footer-logo { display: inline-block; background: var(--card); border-radius: var(--radius); padding: 8px; }
.mn-footer-logo img { height: 56px; width: auto; display: block; }
.mn-footer-bottom {
  border-top: 1px solid rgba(255,255,255,.2);
}
.mn-footer-bottom .in {
  max-width: var(--maxw); margin: 0 auto; padding: 16px 12px;
  display: flex; flex-wrap: wrap; gap: 12px; align-items: center; justify-content: space-between;
  font-size: 12.5px; opacity: .9;
}
/* Mobile: center everything, hide social buttons */
@media (max-width: 639px) {
  .mn-footer-grid { gap: 22px; text-align: center; justify-items: center; }
  .mn-footer-grid > div { width: 100%; }
  .mn-footer ul { justify-items: center; }
  .mn-footer h2 { text-align: center; }
  .mn-footer-logo { margin: 0 auto; }
  .mn-footer-bottom .in { flex-direction: column; justify-content: center; text-align: center; }
  .mn-footer-bottom .mn-btn-row { display: none; }
}


/* ==========================================================================
   Tools (vanilla JS widgets)
   ========================================================================== */
.mn-tool { background: var(--card); border: 1px solid var(--border); border-radius: var(--radius); padding: 16px; }
.mn-tool h2 { margin: 0 0 4px; font-size: 17px; }
.mn-tool p.hint { margin: 0 0 14px; font-size: 13px; color: var(--muted-foreground); }
.mn-field { display: grid; gap: 4px; margin-bottom: 12px; }
.mn-field label { font-size: 13px; font-weight: 600; }
.mn-field input, .mn-field select {
  border: 1px solid var(--input); border-radius: var(--radius-sm);
  padding: 8px 10px; font-size: 14px; background: var(--background); color: inherit;
}
.mn-row { display: grid; gap: 12px; }
@media (min-width: 640px) { .mn-row { grid-template-columns: 1fr 1fr; } }
.mn-result-box {
  margin-top: 12px; border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--secondary); padding: 12px; font-size: 14px;
}
.mn-tool button.mn-btn { border: 0; cursor: pointer; }
.mn-tool canvas, .mn-tool img.preview { max-width: 100%; border: 1px solid var(--border); border-radius: var(--radius-sm); }

/* Tools index grid + tool widget chrome */
.mn-tools-grid { display: grid; gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 768px) { .mn-tools-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.mn-tool-card {
  display: block; padding: 14px; border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--card); text-decoration: none; color: inherit; transition: transform .15s ease, border-color .15s ease;
}
.mn-tool-card:hover { transform: translateY(-2px); border-color: var(--primary); }
.mn-tool-title { display: block; font-weight: 700; font-size: 14px; }
.mn-tool-desc { display: block; margin-top: 4px; font-size: 12px; color: var(--muted-foreground); }
.mn-tool-head h2 { margin: 0 0 4px; }
.mn-tool-head p { margin: 0 0 14px; font-size: 13px; color: var(--muted-foreground); }
.mn-tool-note { margin: 14px 0 0; font-size: 12px; color: var(--muted-foreground); }
.mn-grid2 { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; }
.mn-result {
  margin-top: 12px; font-size: 14px; line-height: 1.7;
}
.mn-result:not(:empty) {
  border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--secondary); padding: 12px;
}
.mn-error { color: var(--destructive); font-weight: 600; }
.mn-tool textarea {
  width: 100%; border: 1px solid var(--input); border-radius: var(--radius-sm);
  padding: 10px; font-size: 15px; background: var(--background); color: inherit; font-family: inherit;
}
.mn-typing-sample {
  border: 1px solid var(--border); border-radius: var(--radius); background: var(--secondary);
  padding: 12px; font-size: 15px; line-height: 1.8; margin: 0 0 12px;
}

/* Single job summary table */
.mn-summary-title { margin: 0; padding: 10px 12px; background: var(--primary); color: var(--primary-foreground); font-size: 15px; }
.mn-summary-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.mn-summary-table th, .mn-summary-table td { border: 1px solid var(--border); padding: 8px 10px; text-align: left; vertical-align: top; }
.mn-summary-table th { background: var(--secondary); width: 40%; font-weight: 700; }
.mn-badge { display: inline-block; margin-left: 8px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 700; }
.mn-badge-danger { background: var(--destructive); color: #fff; }
.mn-badge-muted { background: var(--muted); color: var(--muted-foreground); }

/* Search form + 404 */
.mn-search { display: flex; gap: 8px; }
.mn-search input[type="search"] {
  flex: 1; border: 1px solid var(--input); border-radius: var(--radius-sm);
  padding: 8px 10px; font-size: 14px; background: var(--background); color: inherit;
}
.mn-search .mn-btn { border: 0; cursor: pointer; }
.mn-404-title { font-size: 56px; margin: 0; color: var(--primary); line-height: 1; }
.mn-404-text { margin: 8px 0 0; color: var(--muted-foreground); }

/* Inline icons must never stretch to container width. */
.mn-icon { width: 20px; height: 20px; flex: 0 0 auto; display: inline-block; vertical-align: middle; }
.mn-quick .mn-icon { width: 22px; height: 22px; }
.mn-closing .mn-icon,
.mn-h-destructive .mn-icon { width: 18px; height: 18px; }


/* ---- Related posts (outside the article card) ---- */
.mn-related {
	margin: 26px 0 0;
	padding: 16px;
	background: #f1f5fb;
	border: 1px solid #dbe4f0;
	border-top: 4px solid var(--mn-primary, #0b4da2);
	border-radius: 8px;
}
.mn-related-title {
	margin: 0 0 12px;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: #5b6b81;
	background: none;
	padding: 0;
	border: 0;
}
.mn-related-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 12px;
}
.mn-related-card {
	display: flex;
	flex-direction: column;
	gap: 8px;
	height: 100%;
	padding: 12px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	text-decoration: none;
	transition: border-color .15s, background .15s;
	overflow: hidden;
}
.mn-related-card:hover { border-color: var(--mn-primary, #0b4da2); background: #f7fbff; }
.mn-related-thumb {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	overflow: hidden;
	border-radius: 4px;
	background: #eef2f7;
}
.mn-related-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.mn-related-body { display: flex; flex-direction: column; gap: 6px; flex: 1 1 auto; }
.mn-related-cat {
	align-self: flex-start;
	font-size: 10.5px;
	font-weight: 700;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--mn-primary, #0b4da2);
	background: #e8f0fb;
	border-radius: 999px;
	padding: 2px 8px;
}
.mn-related-name {
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	color: #1a2433;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.mn-related-date { margin-top: auto; font-size: 11px; color: #6b7a8d; }
@media (max-width: 640px) {
	.mn-related-grid { grid-template-columns: 1fr; }
}


/* ==========================================================================
   Advanced tools: two-pane layout, live preview, related tools
   ========================================================================== */
.mn-tool-panes { display: grid; gap: 16px; }
@media (min-width: 860px) { .mn-tool-panes { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); align-items: start; } }
.mn-tool-preview {
  position: sticky; top: 84px; border: 1px solid var(--border); border-radius: var(--radius);
  background: var(--secondary); padding: 12px;
}
@media (max-width: 859px) { .mn-tool-preview { position: static; } }
.mn-preview-label {
  display: block; font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
  color: var(--primary); margin-bottom: 8px;
}
.mn-preview-stage {
  display: flex; align-items: center; justify-content: center; min-height: 180px;
  background: repeating-conic-gradient(#f1f5f9 0% 25%, #ffffff 0% 50%) 50% / 16px 16px;
  border: 1px dashed var(--border); border-radius: var(--radius-sm); padding: 10px;
}
.mn-preview-stage canvas { max-width: 100%; max-height: 320px; background: #fff; }
.mn-range { width: 100%; margin: -6px 0 12px; accent-color: var(--primary); }
.mn-check { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; margin-bottom: 12px; }
.mn-big { font-size: 20px; font-weight: 800; color: var(--primary); line-height: 1.4; }
.mn-stats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.mn-stats span {
  display: block; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm);
  padding: 8px 10px; font-size: 12px; color: var(--muted-foreground);
}
.mn-stats b { display: block; font-size: 15px; color: var(--foreground); }
.mn-bar { height: 8px; border-radius: 999px; background: #fca5a5; overflow: hidden; margin-top: 10px; }
.mn-bar i { display: block; height: 100%; background: var(--primary); }
.mn-thumbs { display: flex; flex-wrap: wrap; gap: 8px; }
.mn-thumb { margin: 0; position: relative; width: 72px; }
.mn-thumb img { width: 72px; height: 72px; object-fit: cover; border: 1px solid var(--border); border-radius: var(--radius-sm); }
.mn-thumb figcaption { font-size: 11px; text-align: center; color: var(--muted-foreground); }
.mn-filelist { display: grid; gap: 6px; }
.mn-fileitem {
  display: flex; align-items: center; gap: 6px; background: var(--card);
  border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 6px 8px; font-size: 13px;
}
.mn-fileitem > span:first-child { flex: 1 1 auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mn-mini {
  border: 1px solid var(--border); background: var(--background); border-radius: var(--radius-sm);
  width: 26px; height: 26px; cursor: pointer; font-size: 12px; line-height: 1;
}
.mn-mini:hover { border-color: var(--primary); color: var(--primary); }
.mn-live-info { font-size: 13px; }
.mn-related-tools { margin-top: 22px; }
.mn-related-tools h3 {
  margin: 0 0 10px; font-size: 16px; border-left: 4px solid var(--primary); padding-left: 8px;
}
.mn-tool-back { margin-top: 12px; font-size: 13px; font-weight: 600; }

/* ==========================================================================
   Tools: mobile responsiveness
   ========================================================================== */
.mn-tool { overflow: hidden; }
.mn-tool-panes, .mn-tool-controls, .mn-tool-preview { min-width: 0; }
.mn-field input, .mn-field select, .mn-tool input[type="file"] {
  width: 100%; max-width: 100%; min-width: 0; box-sizing: border-box;
}
.mn-tool input[type="file"] { font-size: 13px; padding: 8px; background: var(--background); border: 1px dashed var(--border); border-radius: var(--radius-sm); }
.mn-tool input[type="file"]::file-selector-button {
  margin-right: 8px; border: 0; border-radius: var(--radius-sm);
  background: var(--primary); color: var(--primary-foreground);
  padding: 6px 10px; font-size: 12px; font-weight: 700; cursor: pointer;
}
.mn-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.mn-actions .mn-btn { flex: 1 1 auto; text-align: center; }
.mn-thumb { width: 84px; }
.mn-thumb img { width: 84px; height: 84px; }
.mn-thumb-actions { display: flex; gap: 2px; justify-content: center; margin-top: 2px; }
.mn-thumb-actions .mn-mini { width: 24px; height: 24px; font-size: 11px; }
.mn-fileitem { flex-wrap: wrap; }
.mn-fileitem > span:first-child { flex: 1 1 100%; white-space: normal; word-break: break-word; }

@media (max-width: 640px) {
  .mn-tool { padding: 12px; }
  .mn-tool-panes { gap: 12px; }
  .mn-grid2 { grid-template-columns: 1fr; gap: 10px; }
  .mn-tool-preview { padding: 10px; }
  .mn-preview-stage { min-height: 140px; padding: 6px; }
  .mn-preview-stage canvas { max-height: 240px; }
  .mn-stats { grid-template-columns: 1fr 1fr; gap: 6px; }
  .mn-stats span { padding: 6px 8px; font-size: 11px; }
  .mn-big { font-size: 18px; }
  .mn-field input, .mn-field select, .mn-tool textarea { font-size: 16px; } /* iOS zoom fix */
  .mn-mini { width: 32px; height: 32px; }
  .mn-tools-grid { grid-template-columns: 1fr; }
  .mn-result { font-size: 13px; }
  .mn-result a.mn-btn { display: inline-block; margin-bottom: 6px; }
}

/* ==========================================================================
   Contact / Feedback forms
   ========================================================================== */
#mn-form { margin-top: 20px; }
.mn-form-wrap { padding: 4px 0 2px; }
.mn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.mn-form-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px 16px; }
.mn-field { margin: 0 0 14px; display: block; }
.mn-field > label { display: block; font-weight: 700; font-size: 14px; margin-bottom: 6px; color: #1f2937; }
.mn-field > label span { color: #dc2626; }
.mn-form input[type="text"], .mn-form input[type="email"], .mn-form input[type="tel"],
.mn-form select, .mn-form textarea {
  width: 100%; padding: 10px 12px; font-size: 16px; line-height: 1.4;
  border: 1px solid #cbd5e1; border-radius: 6px; background: #fff; color: #0f172a;
  font-family: inherit;
}
.mn-form input:focus, .mn-form select:focus, .mn-form textarea:focus {
  outline: none; border-color: #1e50a2; box-shadow: 0 0 0 3px rgba(30, 80, 162, .15);
}
.mn-form textarea { resize: vertical; min-height: 120px; }
.mn-fieldset { border: 1px solid #e2e8f0; border-radius: 8px; padding: 14px 16px; margin: 0 0 16px; }
.mn-fieldset legend { font-weight: 800; font-size: 14px; padding: 0 8px; color: #1e50a2; }
.mn-checks { display: flex; flex-wrap: wrap; gap: 8px 18px; }
.mn-check { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; font-weight: 600; }
.mn-check input { width: 18px; height: 18px; }
.mn-rating { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.mn-rating input { position: absolute; opacity: 0; width: 0; height: 0; }
.mn-rating label { font-size: 30px; line-height: 1; color: #d1d5db; cursor: pointer; transition: color .15s; }
.mn-rating input:checked ~ label,
.mn-rating label:hover, .mn-rating label:hover ~ label { color: #f59e0b; }
.mn-rating input:focus-visible + label { outline: 2px solid #1e50a2; }
.mn-form-actions { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin: 4px 0 0; }
.mn-btn-primary {
  background: #1e50a2; color: #fff; border: 0; border-radius: 6px;
  padding: 12px 26px; font-size: 15px; font-weight: 800; cursor: pointer;
}
.mn-btn-primary:hover { background: #17417f; }
.mn-btn-primary[disabled] { opacity: .65; cursor: progress; }
.mn-form-note { font-size: 12px; color: #64748b; }
.mn-form-alert { border-radius: 6px; padding: 12px 14px; font-size: 14px; font-weight: 700; margin-bottom: 16px; }
.mn-form-alert.is-ok { background: #ecfdf5; border: 1px solid #10b981; color: #065f46; }
.mn-form-alert.is-err { background: #fef2f2; border: 1px solid #ef4444; color: #991b1b; }
.grecaptcha-badge { z-index: 5; }
@media (max-width: 640px) {
  .mn-form-grid { grid-template-columns: 1fr; }
  .mn-form-actions { flex-direction: column; align-items: stretch; text-align: center; }
  .mn-btn-primary { width: 100%; }
  .grecaptcha-badge { visibility: hidden; }
}


/* Homepage hero */
.mn-hero{margin-bottom:16px;padding:16px 14px;text-align:center;border:1px solid rgba(11,79,153,.25);border-radius:10px;background:linear-gradient(90deg,rgba(11,79,153,.08),#fff 50%,rgba(11,79,153,.08));box-shadow:0 1px 2px rgba(0,0,0,.05)}
.mn-hero-kicker{display:inline-block;margin-bottom:6px;padding:2px 10px;border-radius:999px;background:rgba(11,79,153,.1);color:#0b4f99;font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.mn-hero-title{margin:0;font-size:20px;font-weight:800;line-height:1.35;color:#111}
.mn-hero-title span{color:#0b4f99}
.mn-hero-sub{margin:4px 0 0;font-size:13px;color:#5b6470}
.mn-hero-bar{display:block;width:96px;height:4px;margin:12px auto 0;border-radius:999px;background:linear-gradient(90deg,#0b4f99,#d93025)}
@media(min-width:640px){.mn-hero-title{font-size:26px}.mn-hero-sub{font-size:14px}}
