/* MP New Jobs - compiled utility layer (Tailwind classes used by the theme templates, pre-built so no CDN/build step is needed in production). Do not hand-edit; regenerate from the prototype if new classes are added to a template. */
*,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:rgba(59,130,246,.5);--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }/*! tailwindcss v3.4.19 | MIT License | https://tailwindcss.com*/*,:after,:before{box-sizing:border-box;border:0 solid #e5e7eb}:after,:before{--tw-content:""}:host,html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.left-3\.5{left:.875rem}.left-4{left:1rem}.top-0{top:0}.top-1\/2{top:50%}.z-40{z-index:40}.mx-1\.5{margin-left:.375rem;margin-right:.375rem}.mx-auto{margin-left:auto;margin-right:auto}.-mt-0\.5{margin-top:-.125rem}.-mt-14{margin-top:-3.5rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.mt-10{margin-top:2.5rem}.mt-14{margin-top:3.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.block{display:block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.hidden{display:none}.h-10{height:2.5rem}.h-11{height:2.75rem}.h-12{height:3rem}.h-16{height:4rem}.h-3\.5{height:.875rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-9{height:2.25rem}.h-\[18px\]{height:18px}.h-full{height:100%}.w-10{width:2.5rem}.w-3\.5{width:.875rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-9{width:2.25rem}.w-\[18px\]{width:18px}.w-full{width:100%}.min-w-0{min-width:0}.max-w-3xl{max-width:48rem}.max-w-\[1280px\]{max-width:1280px}.max-w-md{max-width:28rem}.max-w-xl{max-width:36rem}.flex-1{flex:1 1 0%}.shrink-0{flex-shrink:0}.-translate-y-1\/2{--tw-translate-y:-50%;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.items-stretch{align-items:stretch}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-10{gap:2.5rem}.gap-2{gap:.5rem}.gap-2\.5{gap:.625rem}.gap-3{gap:.75rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-x-6{-moz-column-gap:1.5rem;column-gap:1.5rem}.gap-y-1{row-gap:.25rem}.space-y-2\.5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.625rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.625rem*var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(.75rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem*var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem*var(--tw-space-y-reverse))}.overflow-hidden{overflow:hidden}.rounded-2xl{border-radius:4px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:3px}.rounded-xl{border-radius:4px}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-slate-200{--tw-border-opacity:1;border-color:rgb(226 232 240/var(--tw-border-opacity,1))}.border-white\/10{border-color:hsla(0,0%,100%,.1)}.bg-\[\#0F1B33\]{--tw-bg-opacity:1;background-color:rgb(15 27 51/var(--tw-bg-opacity,1))}.bg-\[\#F6F8FC\]{--tw-bg-opacity:1;background-color:rgb(246 248 252/var(--tw-bg-opacity,1))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity,1))}.bg-brand{--tw-bg-opacity:1;background-color:rgb(27 79 156/var(--tw-bg-opacity,1))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/15{background-color:hsla(0,0%,100%,.15)}.bg-white\/95{background-color:hsla(0,0%,100%,.95)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-3{padding:.75rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.py-12{padding-top:3rem;padding-bottom:3rem}.py-2\.5{padding-top:.625rem;padding-bottom:.625rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.pb-24{padding-bottom:6rem}.pb-4{padding-bottom:1rem}.pl-10{padding-left:2.5rem}.pl-11{padding-left:2.75rem}.pr-3{padding-right:.75rem}.pr-4{padding-right:1rem}.pt-12{padding-top:3rem}.text-center{text-align:center}.align-middle{vertical-align:middle}.font-body{font-family:Yantramanav,system-ui,sans-serif}.font-display{font-family:Yantramanav,system-ui,sans-serif}.text-\[11px\]{font-size:11px}.text-\[13px\]{font-size:13px}.text-\[15px\]{font-size:15px}.text-\[22px\]{font-size:22px}.text-\[28px\]{font-size:28px}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.leading-relaxed{line-height:1.625}.leading-snug{line-height:1.375}.leading-tight{line-height:1.25}.tracking-wide{letter-spacing:.025em}.text-amber-300{--tw-text-opacity:1;color:rgb(252 211 77/var(--tw-text-opacity,1))}.text-amber-400{--tw-text-opacity:1;color:rgb(251 191 36/var(--tw-text-opacity,1))}.text-brand{--tw-text-opacity:1;color:rgb(27 79 156/var(--tw-text-opacity,1))}.text-brand-light\/90{color:rgba(234,241,252,.9)}.text-emerald-600{--tw-text-opacity:1;color:rgb(5 150 105/var(--tw-text-opacity,1))}.text-ink{--tw-text-opacity:1;color:rgb(27 32 51/var(--tw-text-opacity,1))}.text-lastdate{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity,1))}.text-slate-300{--tw-text-opacity:1;color:rgb(203 213 225/var(--tw-text-opacity,1))}.text-slate-400{--tw-text-opacity:1;color:rgb(148 163 184/var(--tw-text-opacity,1))}.text-slate-500{--tw-text-opacity:1;color:rgb(100 116 139/var(--tw-text-opacity,1))}.text-slate-600{--tw-text-opacity:1;color:rgb(71 85 105/var(--tw-text-opacity,1))}.text-slate-700{--tw-text-opacity:1;color:rgb(51 65 85/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-40{opacity:.4}.shadow-liftedCard{--tw-shadow:0 10px 30px -10px rgba(16,24,64,.25);--tw-shadow-colored:0 10px 30px -10px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.backdrop-blur{--tw-backdrop-blur:blur(8px);-webkit-backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);backdrop-filter:var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-shadow{transition-property:box-shadow;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-amber-300:hover{--tw-bg-opacity:1;background-color:rgb(252 211 77/var(--tw-bg-opacity,1))}.hover\:bg-brand-dark:hover{--tw-bg-opacity:1;background-color:rgb(18 58 115/var(--tw-bg-opacity,1))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity,1))}.hover\:text-brand:hover{--tw-text-opacity:1;color:rgb(27 79 156/var(--tw-text-opacity,1))}.hover\:text-white:hover{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.hover\:underline:hover{text-decoration-line:underline}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-white\/25:focus{--tw-ring-color:hsla(0,0%,100%,.25)}.focus\:ring-white\/30:focus{--tw-ring-color:hsla(0,0%,100%,.3)}@media (min-width:640px){.sm\:-mt-16{margin-top:-4rem}.sm\:mt-14{margin-top:3.5rem}.sm\:mt-8{margin-top:2rem}.sm\:inline{display:inline}.sm\:h-14{height:3.5rem}.sm\:h-\[72px\]{height:72px}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:gap-3{gap:.75rem}.sm\:gap-3\.5{gap:.875rem}.sm\:p-5{padding:1.25rem}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:px-7{padding-left:1.75rem;padding-right:1.75rem}.sm\:py-8{padding-top:2rem;padding-bottom:2rem}.sm\:pb-28{padding-bottom:7rem}.sm\:pt-16{padding-top:4rem}.sm\:text-left{text-align:left}.sm\:text-\[28px\]{font-size:28px}.sm\:text-\[40px\]{font-size:40px}.sm\:text-base{font-size:1rem;line-height:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:text-xl{font-size:1.25rem;line-height:1.75rem}}@media (min-width:768px){.md\:col-span-2{grid-column:span 2/span 2}.md\:flex{display:flex}.md\:hidden{display:none}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:1024px){.lg\:sticky{position:sticky}.lg\:top-24{top:6rem}.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-4{grid-column:span 4/span 4}.lg\:col-span-8{grid-column:span 8/span 8}.lg\:flex{display:flex}.lg\:hidden{display:none}.lg\:grid-cols-12{grid-template-columns:repeat(12,minmax(0,1fr))}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:gap-8{gap:2rem}.lg\:text-\[46px\]{font-size:46px}}
/* ============================================================================
   MPNEWJOBS.IN - CUSTOM STYLE SHEET
   ============================================================================
   WHERE THIS GOES: Appearance → Customize → Additional CSS
   (or a child-theme style.css / a snippet enqueued after the theme stylesheet)

   WHY THIS FILE EXISTS
   Tailwind (used only in the HTML prototypes) will NOT be loaded on the live
   WordPress site. Everything below is written as plain, dependency-free CSS
   using semantic class names (job-card, section-bar, tile, note-red, etc.)
   so it keeps working no matter how each region is actually built -
   Elementor widget, ACF flexible-content PHP loop, or theme template.

   HOW TO USE
   Keep these exact class names on the matching elements:
     - Elementor widgets → add the class under Advanced → CSS Classes
     - ACF flexible-content PHP loop → hardcode the class in the template,
       e.g. echo '<table class="job-table">...
   ============================================================================ */

:root{
  --brand: #1B4F9C;
  --brand-dark: #123A73;
  --brand-light: #EAF1FC;
  --ink: #1B2033;
  --whatsapp: #25D366;
  --telegram: #0088CC;
  --lastdate: #DC2626;
  --amber: #FBBF24;
  --btn-apply: #EA580C;
  --btn-apply-dark: #C2410C;
  --tile-magenta:#D6247A; --tile-navy:#161B33; --tile-maroon:#7A1319; --tile-orange:#C1591C;
  --tile-purple:#4B1E6B; --tile-red:#C0202B; --tile-teal:#0F4C42; --tile-tan:#6B5B4D;
  --font-display: 'Yantramanav', system-ui, sans-serif;
  --font-body: 'Yantramanav', system-ui, sans-serif;
  --radius-lg: 4px;
  --radius-md: 3px;
  --shadow-card: 0 1px 2px rgba(16,24,64,0.06), 0 6px 18px -8px rgba(16,24,64,0.12);
}

/* Devanagari text tends to need a touch more line-height to avoid clipped matras */
body, .rich-text, .qualification-list, .dates-list, .promo-box__l1{
  line-height: 1.65;
}

/* ---------------------------------------------------------------------------
   NAV
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   HEADER LOGO (100x100 SQUARE LOGO SUPPORT & ALIGNMENT)
--------------------------------------------------------------------------- */
.custom-logo-wrap {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.custom-logo-wrap img,
.custom-logo-link img {
  width: 44px;
  height: 44px;
  max-width: 52px;
  max-height: 52px;
  object-fit: contain;
  border-radius: 3px;
  display: block;
}
@media (min-width: 640px) {
  .custom-logo-wrap img,
  .custom-logo-link img {
    width: 48px;
    height: 48px;
    max-width: 54px;
    max-height: 54px;
  }
}

.nav-link{
  padding: .55rem .9rem;
  border-radius: 3px;
  color: #374151;
  transition: color .3s cubic-bezier(.22,1,.36,1), background-color .3s cubic-bezier(.22,1,.36,1);
}
.nav-link:hover{ color: var(--brand); background: var(--brand-light); }
.nav-link--active{ color: var(--brand); background: var(--brand-light); }

.mobile-nav-link{
  display:block;
  padding: .9rem 1.1rem;
  border-bottom: 1px solid #EEF1F6;
  color:#374151;
}
.mobile-nav-link--active{ color: var(--brand); }

/* ---------------------------------------------------------------------------
   TICKER (marquee)
--------------------------------------------------------------------------- */
.ticker{ position: relative; }
.ticker__track{
  display:flex;
  gap: 3rem;
  white-space: nowrap;
  list-style:none;
  margin:0; padding:0;
  animation: ticker-scroll 26s linear infinite;
}
.ticker__track li{ display:inline-flex; align-items:center; height: 2.25rem; opacity:.92; }
.ticker:hover .ticker__track{ animation-play-state: paused; }
@keyframes ticker-scroll{
  from{ transform: translateX(0); }
  to{ transform: translateX(-50%); }
}

/* ---------------------------------------------------------------------------
   HERO
--------------------------------------------------------------------------- */
.hero-highlight{
  display:inline-block;
  margin: 0 .35rem;
  padding: .05em .4em;
  background: var(--amber);
  color: var(--ink);
  border: 2px solid #92400E;
  border-radius: 3px;
  transform: rotate(-1deg);
  max-width: 100%;
}
.chip{
  display:inline-flex; align-items:center;
  padding:.4rem .9rem;
  border-radius: 3px !important;
  background: rgba(255,255,255,.14);
  color:#fff;
  font-family: var(--font-display);
  font-size: .8rem;
  font-weight: 600;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.chip:hover{ background: rgba(255,255,255,.28); transform: translateY(-2px); }
.chip:active{ transform: translateY(0); }

/* ---------------------------------------------------------------------------
   FEATURED TILES
--------------------------------------------------------------------------- */
.tile{
  --tile-color: var(--brand);
  position: relative;
  overflow: hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  text-align:center;
  min-height: 76px;
  padding: .7rem .9rem;
  border-radius: 3px;
  background: var(--tile-color);
  color:#fff;
  box-shadow: 0 1px 2px rgba(16,24,64,.08), inset 0 1px 0 rgba(255,255,255,.12);
  transition: transform .28s cubic-bezier(.22,1,.36,1), box-shadow .28s cubic-bezier(.22,1,.36,1), filter .28s ease;
}
.tile::before{
  content:"";
  position:absolute; inset:0;
  background: linear-gradient(135deg, rgba(255,255,255,.16) 0%, rgba(255,255,255,0) 45%, rgba(0,0,0,.12) 100%);
  pointer-events:none;
}
.tile::after{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(135deg, rgba(255,255,255,.18), rgba(255,255,255,0) 55%);
  opacity:0;
  transition: opacity .28s ease;
  pointer-events:none;
}
.tile:hover,
.tile:focus-visible{
  transform: translateY(-2px);
  box-shadow: 0 8px 18px -6px rgba(0,0,0,.22);
  filter: brightness(1.05);
}
.tile:hover::after,
.tile:focus-visible::after{ opacity:1; }
.tile:active{ transform: translateY(-1px) scale(.99); transition-duration: .1s; }
.tile:focus-visible{ outline: 2px solid #fff; outline-offset: 2px; }
.tile__title{
  position:relative; z-index:1;
  font-family: var(--font-display); font-weight:600; font-size:.78rem; line-height:1.3;
  display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden;
  word-break: break-word;
}

/* ---------------------------------------------------------------------------
   CTA BUTTONS (WhatsApp / Telegram)
--------------------------------------------------------------------------- */
.btn-cta{
  display:flex; align-items:center; justify-content:center; gap:.6rem;
  height: 3.1rem;
  border-radius: var(--radius-md);
  font-family: var(--font-display); font-weight:700; font-size:.95rem;
  color:#fff;
  box-shadow: var(--shadow-card);
  transition: filter .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1);
}
.btn-cta:hover{ filter: brightness(1.06); transform: translateY(-2px); box-shadow: 0 10px 20px -10px rgba(16,24,64,.35); }
.btn-cta--whatsapp{ background: var(--whatsapp); }
.btn-cta--telegram{ background: var(--telegram); }
.btn-cta--whatsapp svg{ animation: pulse-soft 2.6s ease-in-out infinite; }

@keyframes pulse-soft{
  0%,100%{ transform: scale(1); }
  50%{ transform: scale(1.12); }
}

/* ---------------------------------------------------------------------------
   TRUST STRIP
--------------------------------------------------------------------------- */
/* ---------------------------------------------------------------------------
   QUICK CATEGORY GRID (homepage icon row - evolved feature)
--------------------------------------------------------------------------- */
.quick-cat{
  display:flex; flex-direction:column; align-items:center; gap:.5rem;
  text-align:center; padding:.85rem .4rem;
  background: #F4F6F9 !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.04);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1), border-color .3s ease, background-color .3s ease;
}
.quick-cat:hover{
  background: #ffffff !important;
  transform: translateY(-3px);
  box-shadow: 0 8px 20px -4px rgba(29, 91, 184, 0.22);
  border-color: #1D5BB8 !important;
}
.quick-cat__icon{
  width:42px; height:42px; border-radius:3px !important;
  background: #ffffff !important;
  border: 1px solid #E2E8F0 !important;
  display:flex; align-items:center; justify-content:center;
  flex-shrink:0;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
}
.quick-cat__icon img{ width: 26px; height: 26px; object-fit: contain; }
.quick-cat__icon svg{ width:20px; height:20px; }
.quick-cat__label{ font-family: var(--font-display); font-weight:700; font-size:.78rem; color: var(--ink); line-height:1.25; }
@media (max-width: 639px){
  .quick-cat{ padding:.65rem .3rem; border-radius:3px !important; }
  .quick-cat__icon{ width:36px; height:36px; border-radius:3px !important; }
  .quick-cat__icon img{ width: 22px; height: 22px; }
  .quick-cat__icon svg{ width:17px; height:17px; }
  .quick-cat__label{ font-size:.68rem; }
}

.trust-item{
  display:flex; align-items:center; gap:.85rem;
  background:#fff; border:1px solid #E7ECF5;
  border-radius: 4px;
  padding: .9rem 1rem;
  transition: box-shadow .3s cubic-bezier(.22,1,.36,1), border-color .3s cubic-bezier(.22,1,.36,1);
}
.trust-item:hover{ box-shadow: 0 8px 20px -12px rgba(16,24,64,.2); border-color:#D7E2F5; }
.trust-item__icon{
  width:38px; height:38px; border-radius: 3px; flex-shrink:0;
  background: linear-gradient(135deg, var(--brand), var(--brand-dark));
  display:flex; align-items:center; justify-content:center;
}
.trust-item svg{ width:20px; height:20px; color:#fff; }

/* ---------------------------------------------------------------------------
   COLUMN HEADER ("Latest Updates" / "MP Vacancy" / "Result")
--------------------------------------------------------------------------- */
.col-header{
  display:flex; align-items:center; justify-content:space-between;
  background: var(--brand);
  border-radius: 3px 10px 0 0;
  padding: .8rem 1rem;
}
.col-header h2{
  font-family: var(--font-display); font-weight:800; font-size:1rem; color:#fff; margin:0;
}
.col-header__link{
  font-family: var(--font-display); font-weight:600; font-size:.78rem;
  color:#fff; background: rgba(255,255,255,.18);
  padding:.3rem .7rem; border-radius: 999px;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.col-header__link:hover{ background: rgba(255,255,255,.32); transform: translateY(-1px); }

/* ---------------------------------------------------------------------------
   JOB CARD (used on homepage columns, related posts, sidebar-adjacent lists)
--------------------------------------------------------------------------- */
.job-card{
  display:flex;
  flex-direction:column;
  height:100%;
  position:relative;
  background:#fff;
  border:1px solid #E7ECF5;
  border-radius: 4px;
  padding:1rem 1.05rem .9rem;
  box-shadow: 0 1px 2px rgba(16,24,64,.05), 0 1px 1px rgba(16,24,64,.04);
  transition: transform .3s cubic-bezier(.22,1,.36,1), box-shadow .3s cubic-bezier(.22,1,.36,1), border-color .3s cubic-bezier(.22,1,.36,1);
  overflow:hidden;
}
.job-card::before{
  content:"";
  position:absolute; top:0; left:0; right:0; height:3px;
  background: linear-gradient(90deg, var(--brand), var(--brand-light) 130%);
  opacity:.9;
  transition: height .3s cubic-bezier(.22,1,.36,1);
}
.job-card:hover{
  transform: translateY(-4px);
  box-shadow: 0 20px 32px -16px rgba(16,24,64,.22), 0 4px 10px -4px rgba(16,24,64,.08);
  border-color:#D7E2F5;
}
.job-card:hover::before{ height:4px; }
.job-card__title{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  font-family: var(--font-display); font-weight:700; font-size:.93rem; line-height:1.4;
  color: var(--ink);
  margin-top:.3rem;
  margin-bottom:.6rem;
  transition: color .3s cubic-bezier(.22,1,.36,1);
}
.job-card__title:hover{ color: var(--brand); }
.job-card__meta{
  display:flex; align-items:center; justify-content:space-between; gap:.6rem; flex-wrap:wrap;
  margin:auto -1.05rem -.9rem;
  padding:.65rem .9rem;
  background:#F8FAFC;
  border-top:1px solid #EDF1F7;
}

.countdown-badge{
  display:inline-flex; align-items:center; gap:.3rem;
  font-size:.7rem; font-weight:600; color: var(--lastdate); font-family: var(--font-body);
  white-space: nowrap;
  background:#FEF2F2; border:1px solid #FEE2E2;
  padding:.28rem .6rem .28rem .5rem; border-radius: 3px;
}
.countdown-badge__icon{ width:12px; height:12px; flex-shrink:0; opacity:.85; }
.countdown-badge strong{ font-weight:700; margin-left:.15rem; }
.countdown-badge--urgent{ animation: urgent-pulse 1.6s ease-in-out infinite; }
.countdown-badge--closed{ color:#6B7280; background:#F3F4F6; border-color:#E5E7EB; }
.countdown-badge--sm{ font-size:.66rem; padding:.2rem .5rem .2rem .42rem; }
@keyframes urgent-pulse{
  0%,100%{ opacity:1; } 50%{ opacity:.55; }
}

.badge-closed{
  display:inline-flex; align-items:center; gap:.3rem;
  font-size:.72rem; font-weight:600; color:#065F46;
  background:#D1FAE5; padding:.2rem .55rem; border-radius: 3px;
}

.btn-apply-sm{
  display:inline-flex; align-items:center; gap:.3rem;
  font-family: var(--font-display); font-weight:700; font-size:.76rem;
  color:#fff; background:#EA580C;
  padding:.35rem .7rem .35rem .8rem; border-radius: 3px;
  transition: background-color .35s cubic-bezier(.22,1,.36,1), transform .35s cubic-bezier(.22,1,.36,1), box-shadow .35s cubic-bezier(.22,1,.36,1);
}
.btn-apply-sm::after{
  content:"→";
  font-weight:700;
  transition: transform .3s cubic-bezier(.22,1,.36,1);
}
.btn-apply-sm:hover::after{ transform: translateX(2px); }
.job-card:hover .btn-apply-sm{ box-shadow: 0 4px 10px -4px rgba(234,88,12,.45); }
.job-card--amber::before{ background: linear-gradient(90deg, #D97706, #FDE68A); }
.job-card--purple::before{ background: linear-gradient(90deg, #7C3AED, #DDD6FE); }
.job-card--green::before{ background: linear-gradient(90deg, #059669, #A7F3D0); }
.job-card--pink::before{ background: linear-gradient(90deg, #DB2777, #FBCFE8); }
.job-card--teal::before{ background: linear-gradient(90deg, #0D9488, #99F6E4); }
.btn-apply-sm:hover{
  background:#C2410C;
  transform: translateY(-1px);
  box-shadow: 0 8px 18px -6px rgba(194,65,12,.55);
}
.btn-apply-sm:active{ transform: translateY(0); box-shadow:none; }

/* ---------------------------------------------------------------------------
   SOCIAL RAIL (sticky, left edge)
--------------------------------------------------------------------------- */
.social-rail{
  position: fixed;
  left: 0;
  top: 45%;
  transform: translateY(-50%);
  z-index: 30;
  display:flex; flex-direction:column;
  border-radius: 0 4px 4px 0;
  overflow:hidden;
  box-shadow: var(--shadow-card);
  opacity:0;
  pointer-events:none;
  transition: opacity .25s ease;
}
.social-rail.is-visible{ opacity:1; pointer-events:auto; }
.social-rail__item{
  width:38px; height:38px;
  display:flex; align-items:center; justify-content:center;
  background: var(--c, var(--brand));
  color:#fff;
  border:none; cursor:pointer;
}
.social-rail__item svg{ width:17px; height:17px; }
.social-rail__item:hover{ filter:brightness(1.08); }

@media (max-width: 1023px){
  .social-rail{ display:none; } /* keep mobile UI uncluttered; CTA buttons already present */
}

/* ---------------------------------------------------------------------------
   FOOTER
--------------------------------------------------------------------------- */
.footer-h{ font-family: var(--font-display); font-weight:700; color:#fff; font-size:.95rem; margin-bottom:1rem; }
.footer-link{ color:#94A3B8; transition: color .3s cubic-bezier(.22,1,.36,1), padding-left .3s cubic-bezier(.22,1,.36,1); }
.footer-link:hover{ color:#fff; padding-left:3px; }
.footer-social{
  width:34px; height:34px; display:flex; align-items:center; justify-content:center;
  border-radius: 3px; background: rgba(255,255,255,.08); color:#fff;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.footer-social:hover{ background: var(--brand); transform: translateY(-2px); }

/* ---------------------------------------------------------------------------
   BACK TO TOP
--------------------------------------------------------------------------- */
.back-to-top{
  position: fixed;
  right: 1.1rem;
  bottom: 1.1rem;
  z-index: 30;
  width: 46px; height:46px;
  border-radius:999px;
  background: var(--brand);
  color:#fff;
  display:flex; align-items:center; justify-content:center;
  box-shadow: 0 10px 24px -8px rgba(16,24,64,.4);
  border:none; cursor:pointer;
  opacity:0; visibility:hidden; transform: translateY(8px);
  transition: opacity .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1), visibility .3s, background-color .3s cubic-bezier(.22,1,.36,1);
}
.back-to-top.is-visible{ opacity:1; visibility:visible; transform:translateY(0); }
.back-to-top:hover{ background: var(--brand-dark); transform: translateY(-2px); }
.back-to-top svg{ width:20px; height:20px; }

/* =============================================================================
   SINGLE POST / ACF FLEXIBLE-CONTENT COMPONENTS
   (all of these render from the PHP flexible-content loop described in post.html)
============================================================================= */

.badge-category{
  display:inline-flex; align-items:center;
  font-family: var(--font-display); font-weight:600; font-size:.72rem;
  color: var(--brand); background: var(--brand-light);
  padding:.28rem .7rem; border-radius:999px;
  transition: background-color .3s cubic-bezier(.22,1,.36,1);
}
.badge-category:hover{ background:#DCE8FB; }

/* colour variants - used on homepage "More Job Updates" so post type is scannable at a glance */
.badge-category--amber{ color:#92400E; background:#FEF3C7; }
.badge-category--amber:hover{ background:#FDE8A6; }
.badge-category--purple{ color:#4B1E6B; background:#F1E7FB; }
.badge-category--purple:hover{ background:#E6D5F7; }
.badge-category--green{ color:#065F46; background:#D1FAE5; }
.badge-category--green:hover{ background:#B9F3D4; }
.badge-category--pink{ color:#9D174D; background:#FCE7F3; }
.badge-category--pink:hover{ background:#FBCFE8; }
.badge-category--teal{ color:#0F4C42; background:#DFF5F0; }
.badge-category--teal:hover{ background:#C7EDE2; }

.follow-icon{
  width:30px; height:30px; border-radius:999px;
  display:flex; align-items:center; justify-content:center;
  background:#F1F5F9; color:#475569;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.follow-icon svg{ width:15px; height:15px; }
.follow-icon:hover{ background: var(--brand); color:#fff; transform: translateY(-2px); }

.promo-box{
  position:relative;
  border: 1px solid #DCE8FB;
  border-radius: 4px;
  background: linear-gradient(160deg, var(--brand-light) 0%, #fff 70%);
  padding: 1.3rem 1.2rem 1.1rem;
  text-align:center;
  box-shadow: 0 1px 2px rgba(16,24,64,.04), 0 10px 24px -16px rgba(27,79,156,.25);
}
.promo-box__l1{ color:#B3175A; font-weight:800; font-family: var(--font-display); font-size:1.02rem; margin:0 0 .3rem; }
.promo-box__l2{ color:#166534; font-weight:600; font-size:.9rem; margin:0 0 .6rem; }
.promo-box__link{
  display:inline-flex; align-items:center; gap:.35rem;
  color:#fff; background: var(--brand);
  font-weight:700; font-size:.85rem;
  padding:.5rem 1.1rem; border-radius: 3px;
  text-decoration:none;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.promo-box__link:hover{ background: var(--brand-dark); transform: translateY(-1px); }

.section-bar{
  display:flex; align-items:center; gap:.55rem;
  background: linear-gradient(90deg, var(--brand), var(--brand-dark));
  color:#fff;
  font-family: var(--font-display); font-weight:700; font-size:.95rem;
  padding: .75rem 1.1rem;
  border-radius: 3px;
  margin: 0 0 .85rem;
}
.section-bar--plain{ padding-left: 1.1rem; }
.section-bar__icon{ width:19px; height:19px; flex-shrink:0; opacity:.9; }

.table-wrap {
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  width: 100% !important;
  border: none !important;
  box-shadow: none !important;
  background: transparent !important;
  margin: 1.25rem 0 !important;
}

/* ---------------------------------------------------------------------------
   JOB TABLE & IMPORTANT LINKS TABLE (CLEAN SINGLE SLEEK BORDER)
--------------------------------------------------------------------------- */
.job-table,
.job-table--links {
  width: 100% !important;
  max-width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #1D5BB8 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  box-shadow: 0 4px 14px rgba(29, 91, 184, 0.08) !important;
  margin: 0 !important;
}

.job-table thead,
.job-table--links thead {
  background: #1D5BB8 !important;
}

.job-table thead tr,
.job-table--links thead tr {
  background: #1D5BB8 !important;
}

.job-table th,
.job-table--links th {
  background: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 0.88rem !important;
  letter-spacing: 0.04em !important;
  text-transform: uppercase !important;
  padding: 0.85rem 1rem !important;
  border: none !important;
  vertical-align: middle !important;
}

.job-table th:first-child,
.job-table--links th:first-child {
  text-align: left !important;
}

.job-table th:last-child,
.job-table--links th:last-child {
  text-align: right !important;
}

.job-table td,
.job-table--links td {
  padding: 0.8rem 1rem !important;
  border-top: 1px solid #E2E8F0 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 0.9rem !important;
  vertical-align: middle !important;
  transition: background-color 0.2s ease !important;
}

.job-table td:first-child,
.job-table--links td:first-child {
  text-align: left !important;
  font-weight: 700 !important;
  color: #1E293B !important;
}

.job-table td:last-child,
.job-table--links td:last-child {
  text-align: right !important;
}

.job-table tbody tr:nth-child(even) td,
.job-table--links tbody tr:nth-child(even) td {
  background: #F8FAFC !important;
}

.job-table tbody tr:hover td,
.job-table--links tbody tr:hover td {
  background: #F0F6FF !important;
}

/* LINK BUTTONS / ANCHORS INSIDE IMPORTANT LINKS TABLE */
.btn-table-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.35rem 0.85rem !important;
  border-radius: 3px !important;
  background-color: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 0.8rem !important;
  text-decoration: none !important;
  box-shadow: 0 2px 4px rgba(29, 91, 184, 0.2) !important;
  transition: all 0.2s ease !important;
  white-space: nowrap !important;
}
.btn-table-link:hover {
  background-color: #154593 !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 4px 10px rgba(29, 91, 184, 0.35) !important;
}
.btn-table-link.bg-\[\#0088CC\],
.btn-table-link[class*="bg-[#0088CC]"] {
  background-color: #0088CC !important;
  color: #ffffff !important;
}
.btn-table-link.bg-\[\#0088CC\]:hover,
.btn-table-link[class*="bg-[#0088CC]"]:hover {
  background-color: #0077B5 !important;
  color: #ffffff !important;
}

.qualification-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:.6rem; }
.qualification-list li{
  display:flex; align-items:flex-start; gap:.6rem;
  background:#fff; border:1px solid #E7ECF5; border-radius: 3px;
  padding:.75rem .9rem; font-size:.87rem; color: var(--ink);
  box-shadow: 0 1px 2px rgba(16,24,64,.04);
}
.qualification-list__icon{ width:18px; height:18px; color: var(--brand); flex-shrink:0; margin-top:2px; }

.dates-list{ list-style:none; margin:0 0 0.75rem; padding:0; display:flex; flex-direction:column; gap:0; border:1px solid #E7ECF5; border-radius: 3px; overflow:hidden; box-shadow: 0 1px 2px rgba(16,24,64,.05); }
.dates-list li{
  display:flex; align-items:center; justify-content:space-between; gap:1rem;
  padding:.7rem .95rem; font-size:.87rem;
}
.dates-list li:nth-child(even){ background:#FAFBFE; }
.dates-list li span{ color:#475569; display:flex; align-items:center; gap:.5rem; }
.dates-list li span::before{
  content:''; width:6px; height:6px; border-radius:999px; background: var(--brand); flex-shrink:0; opacity:.6;
}
.dates-list li strong{ color: var(--ink); font-family: var(--font-display); white-space:nowrap; }
.text-lastdate{ color: var(--lastdate) !important; }

.note-red{
  margin-top:.7rem;
  font-size:.85rem;
  color:#991B1B;
  background:#FEF2F2;
  border-left:3px solid var(--lastdate);
  padding:.55rem .8rem;
  border-radius:0 6px 6px 0;
}

.rich-text{ font-size:.92rem; color:#374151; display:flex; flex-direction:column; gap:.5rem; }
.rich-text strong{ color: var(--ink); }

/* Author Box styles consolidated at bottom of file (see CONSOLIDATED section) */

/* ---------------------------------------------------------------------------
   SIDEBAR WIDGET ("Latest Jobs / Recent Posts" - Premium WP Theme Style)
--------------------------------------------------------------------------- */
.sidebar-latest-container {
  background: #ffffff;
  border: 1px solid #E2E8F0;
  border-radius: 4px;
  padding: 0.85rem;
  box-shadow: 0 4px 16px rgba(15, 23, 42, 0.04);
}
.sidebar-latest-header {
  background: #1D5BB8;
  color: #ffffff;
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 0.95rem;
  padding: 0.5rem 0.85rem;
  border-radius: 3px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin-bottom: 0.45rem;
}
.sidebar-latest-list {
  display: flex;
  flex-direction: column;
  gap: 0.35rem !important;
}
.sidebar-job-card {
  display: block !important;
  background: #ffffff !important;
  border: 1.5px solid #1D5BB8 !important;
  border-radius: 4px !important;
  padding: 0.45rem 0.65rem !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.sidebar-job-card:hover {
  border-color: #154593 !important;
  background: #F4F8FF !important;
  transform: translateY(-1px) !important;
  box-shadow: 0 3px 8px rgba(29, 91, 184, 0.15) !important;
}
.sidebar-job-card.is-current {
  border-color: #1D5BB8 !important;
  background: #F4F8FF !important;
}

/* ---------------------------------------------------------------------------
   GLOBAL READ MORE & CHECK NOW BUTTON HIGHLIGHT (SOLID BRAND BLUE #1D5BB8)
--------------------------------------------------------------------------- */
.cat-page-btn,
.btn-read-more {
  background-color: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  border: 1px solid #1D5BB8 !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 6px rgba(29, 91, 184, 0.25) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.btn-check-now {
  background-color: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  border: 1px solid #1D5BB8 !important;
  border-radius: 3px !important;
  box-shadow: 0 2px 4px rgba(29, 91, 184, 0.2) !important;
  transition: all 0.25s cubic-bezier(0.16, 1, 0.3, 1) !important;
}
.cat-page-btn:hover,
.btn-read-more:hover,
.btn-check-now:hover {
  background-color: #154593 !important;
  color: #ffffff !important;
  border-color: #154593 !important;
  box-shadow: 0 4px 12px rgba(21, 69, 147, 0.35) !important;
  transform: translateY(-1px) !important;
}
.sidebar-job-title {
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.83rem !important;
  color: #0F172A;
  line-height: 1.3 !important;
  margin-bottom: 0.2rem !important;
  display: block;
}
.sidebar-job-card:hover .sidebar-job-title {
  color: #1D5BB8;
}
.sidebar-job-meta {
  display: flex;
  align-items: center;
  gap: 0.5rem !important;
  font-size: 0.7rem !important;
  color: #475569;
  font-weight: 600;
  flex-wrap: wrap;
}

.sidebar-widget{
  background:#fff; border:1px solid #E7ECF5; border-radius: var(--radius-lg);
  overflow:hidden; box-shadow: var(--shadow-card);
}
.sidebar-widget__title{
  background: var(--brand); color:#fff;
  font-family: var(--font-display); font-weight:800; font-size:.9rem;
  padding:.85rem 1.1rem; margin:0;
}
.sidebar-widget__list{ list-style:none; margin:0; padding:.4rem; display:flex; flex-direction:column; gap:.3rem; }
.sidebar-post{
  display:block; padding:.7rem .8rem; border-radius: 3px;
  border-bottom:1px solid #F1F5F9;
  transition: background-color .3s cubic-bezier(.22,1,.36,1);
}
.sidebar-post:last-child{ border-bottom:none; }
.sidebar-post:hover{ background:#F8FAFC; }
.sidebar-post a{
  display:block; font-size:.83rem; font-weight:600; color: var(--ink); margin-bottom:.4rem; line-height:1.4;
}
.sidebar-post a:hover{ color: var(--brand); }
.sidebar-post.is-current{
  background: var(--brand-light);
  border-left: 3px solid var(--brand);
  border-bottom-color: transparent;
}
.sidebar-post.is-current a{ color: var(--brand); }

/* ---------------------------------------------------------------------------
   ACCESSIBILITY / MOTION / PRINT
--------------------------------------------------------------------------- */
:focus-visible{ outline: 3px solid #93C5FD; outline-offset: 2px; }

@media (prefers-reduced-motion: reduce){
  .ticker__track, .btn-cta--whatsapp svg, .countdown-badge--urgent{ animation: none !important; }
  *{ transition-duration: 0.01ms !important; }
}

@media print{
  header, footer, .social-rail, .back-to-top, #mobile-menu,
  .sidebar-widget, .btn-cta, .promo-box, .col-header__link,
  aside.lg\:col-span-4 { display:none !important; }
  body{ background:#fff; }
  .job-table, .job-table th, .job-table td{ border-color:#000; }
  .section-bar{ background:#eee !important; color:#000 !important; -webkit-print-color-adjust: exact; }
  a[href]::after{ content: " (" attr(href) ")"; font-size: .75em; color:#555; }
}

/* ---------------------------------------------------------------------------
   PAGINATION (category / archive / search / comments)
--------------------------------------------------------------------------- */
.page-numbers{
  display:inline-flex; align-items:center; justify-content:center;
  min-width:2.4rem; height:2.4rem; padding:0 .6rem;
  border-radius: 3px; border:1px solid #E2E8F0;
  background:#fff; color: var(--ink);
  font-family: var(--font-display); font-weight:600; font-size:.85rem;
  transition: background-color .3s cubic-bezier(.22,1,.36,1), color .3s cubic-bezier(.22,1,.36,1), border-color .3s cubic-bezier(.22,1,.36,1), transform .3s cubic-bezier(.22,1,.36,1);
}
.page-numbers:hover{ transform: translateY(-1px); background: var(--brand-light); border-color: var(--brand); color: var(--brand); }
.page-numbers.current{ background: var(--brand); border-color: var(--brand); color:#fff; }
.page-numbers.dots{ border:none; background:none; }


/* ---------------------------------------------------------------------------
   ARTICLE + PAGE CONTENT TYPOGRAPHY - applies to native block-editor output
   (Heading/Paragraph/List/Quote/Table/Image blocks) inside .job-post-details
   (single posts) AND .rich-text (legal/static pages) - same rules, one
   source of truth, so headings look identical and correctly sized on both.
   Custom classes like .job-table / .qualification-list / .promo-box keep
   their own look untouched - these rules only fill the gap for plain blocks.
--------------------------------------------------------------------------- */
.job-post-details h1, .rich-text h1{ font-size: 1.35rem !important; color: #1D5BB8 !important; font-family: var(--font-display) !important; font-weight: 800 !important; margin-top: 1.15rem !important; margin-bottom: 0.3rem !important; }
.job-post-details h2, .rich-text h2{ font-size: 1.22rem !important; color: #1D5BB8 !important; font-family: var(--font-display) !important; font-weight: 800 !important; padding-bottom: 0.35rem !important; border-bottom: 2px solid #E2E8F0 !important; margin-top: 0.95rem !important; margin-bottom: 0.3rem !important; }
.job-post-details h3, .rich-text h3{ font-size: 1.1rem !important; color: #1D5BB8 !important; font-family: var(--font-display) !important; font-weight: 700 !important; margin-top: 0.9rem !important; margin-bottom: 0.3rem !important; }
.job-post-details h4, .rich-text h4{ font-size: 1rem !important; margin-top: 0.85rem !important; margin-bottom: 0.25rem !important; }
.job-post-details h5, .rich-text h5{ font-size: 0.95rem !important; margin-top: 0.8rem !important; margin-bottom: 0.25rem !important; }
.job-post-details h6, .rich-text h6{ font-size: 0.9rem !important; margin-top: 0.75rem !important; margin-bottom: 0.2rem !important; }
.job-post-details > h1:first-child, .job-post-details > h2:first-child, .job-post-details > h3:first-child,
.rich-text > h1:first-child, .rich-text > h2:first-child, .rich-text > h3:first-child{ margin-top: 0 !important; }

/* UNIVERSAL OPTIMIZED TIGHT SPACING FOR ANY TABLE, LIST, OR ELEMENT DIRECTLY FOLLOWING ANY HEADING (H1-H6) */
.job-post-details h1 + *, .rich-text h1 + *,
.job-post-details h2 + *, .rich-text h2 + *,
.job-post-details h3 + *, .rich-text h3 + *,
.job-post-details h4 + *, .rich-text h4 + *,
.job-post-details h5 + *, .rich-text h5 + *,
.job-post-details h6 + *, .rich-text h6 + * {
  margin-top: 0 !important;
}

/* SPECIFIC TABLE WRAPPER MARGIN-BOTTOM OPTIMIZATION */
.job-post-details .table-wrap,
.job-post-details .overflow-x-auto,
.job-post-details .wp-block-table,
.job-post-details table,
.rich-text .table-wrap,
.rich-text .overflow-x-auto,
.rich-text .wp-block-table,
.rich-text table {
  margin-bottom: 0.55rem !important;
}
.job-post-details p, .rich-text p{ font-size: .93rem; line-height: 1.75; color: #374151; margin: 0 0 .55rem; }
/* AUTOMATIC TICK MARK SVG BADGE FOR ANY UNORDERED LIST / POINTS IN POST EDITOR */
.job-post-details ul:not(.qualification-list):not(.dates-list),
.rich-text ul:not(.qualification-list):not(.dates-list) {
  list-style: none !important;
  padding-left: 0 !important;
  margin: 0 0 0.55rem !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 0.5rem !important;
}
.job-post-details ul:not(.qualification-list):not(.dates-list) > li,
.rich-text ul:not(.qualification-list):not(.dates-list) > li {
  position: relative !important;
  padding-left: 1.85rem !important;
  font-size: 0.93rem !important;
  line-height: 1.65 !important;
  color: #374151 !important;
  margin: 0 !important;
  display: block !important;
}
.job-post-details ul:not(.qualification-list):not(.dates-list) > li::before,
.rich-text ul:not(.qualification-list):not(.dates-list) > li::before {
  content: '' !important;
  position: absolute !important;
  left: 0 !important;
  top: 3px !important;
  width: 19px !important;
  height: 19px !important;
  border-radius: 999px !important;
  background-color: #1D5BB8 !important; /* Royal Blue Circle matching user uploaded image */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='20 6 9 17 4 12'%3E%3C/polyline%3E%3C/svg%3E") !important;
  background-size: 11px 11px !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  box-shadow: 0 1px 3px rgba(29, 91, 184, 0.25) !important;
  flex-shrink: 0 !important;
}
.job-post-details ol, .rich-text ol{ list-style: decimal; padding-left: 1.25rem; margin: 0 0 .9rem; display:block; }
.job-post-details ol li, .rich-text ol li{ font-size: .93rem; line-height: 1.65; margin-bottom: .35rem; display:list-item; }
.job-post-details a:not(.btn-apply-sm):not(.promo-box__link),
.rich-text a:not(.btn-apply-sm):not(.promo-box__link){ color: var(--brand); text-decoration: underline; text-underline-offset: 2px; font-weight: 600; }
.job-post-details strong, .rich-text strong{ color: var(--ink); font-weight: 700; }
.job-post-details blockquote, .rich-text blockquote{ border-left: 4px solid var(--brand); background: var(--brand-light); padding: .8rem 1rem; border-radius: 0 3px 3px 0; font-style: italic; color: #334155; margin: 0 0 .9rem; }
.job-post-details img, .rich-text img{ max-width: 100%; height: auto; border-radius: 3px; display:block; }

/* AUTOMATIC DEFAULT STYLING FOR ANY TABLE ADDED IN POST EDITOR */
.job-post-details table,
.rich-text table,
.job-post-details .wp-block-table table,
.rich-text .wp-block-table table {
  width: 100% !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #ffffff !important;
  border: 1.5px solid #1D5BB8 !important;
  border-radius: 4px !important;
  overflow: hidden !important;
  margin: 0 0 0.75rem !important;
  box-shadow: 0 1px 4px rgba(15, 23, 42, 0.04) !important;
}
.job-post-details table:not(.job-table--links) th,
.rich-text table:not(.job-table--links) th,
.job-post-details .wp-block-table th,
.rich-text .wp-block-table th {
  background: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 0.9rem !important;
  padding: 0.8rem 1.1rem !important;
  text-align: left !important;
  border: none !important;
}
.job-post-details table:not(.job-table--links) td,
.rich-text table:not(.job-table--links) td,
.job-post-details .wp-block-table td,
.rich-text .wp-block-table td {
  padding: 0.75rem 1.1rem !important;
  border-top: 1px solid #EDF1F7 !important;
  border-bottom: none !important;
  border-left: none !important;
  border-right: none !important;
  font-size: 0.9rem !important;
  color: #334155 !important;
  transition: background-color 0.2s ease !important;
}
.job-post-details table:not(.job-table--links) tbody tr:nth-child(even) td,
.rich-text table:not(.job-table--links) tbody tr:nth-child(even) td,
.job-post-details .wp-block-table tbody tr:nth-child(even) td,
.rich-text .wp-block-table tbody tr:nth-child(even) td {
  background: #FAFBFE !important;
}
.job-post-details table:not(.job-table--links) tbody tr:hover td,
.rich-text table:not(.job-table--links) tbody tr:hover td,
.job-post-details .wp-block-table tbody tr:hover td,
.rich-text .wp-block-table tbody tr:hover td {
  background: #F0F6FF !important;
}
/* ---------------------------------------------------------------------------
   ARTICLE TABLE CELL ALIGNMENT CONTROLS (Center, Left, Right Manual Options)
   Supports Gutenberg alignments, classes, HTML align attributes, and inline styles.
--------------------------------------------------------------------------- */
.job-post-details table th.has-text-align-center,
.job-post-details table td.has-text-align-center,
.job-post-details table th[align="center"],
.job-post-details table td[align="center"],
.job-post-details table th.text-center,
.job-post-details table td.text-center,
.job-post-details table th.align-center,
.job-post-details table td.align-center,
.rich-text table th.has-text-align-center,
.rich-text table td.has-text-align-center,
.rich-text table th[align="center"],
.rich-text table td[align="center"],
.rich-text table th.text-center,
.rich-text table td.text-center,
.rich-text table th.align-center,
.rich-text table td.align-center {
  text-align: center !important;
}

.job-post-details table th.has-text-align-left,
.job-post-details table td.has-text-align-left,
.job-post-details table th[align="left"],
.job-post-details table td[align="left"],
.job-post-details table th.text-left,
.job-post-details table td.text-left,
.job-post-details table th.align-left,
.job-post-details table td.align-left,
.rich-text table th.has-text-align-left,
.rich-text table td.has-text-align-left,
.rich-text table th[align="left"],
.rich-text table td[align="left"],
.rich-text table th.text-left,
.rich-text table td.text-left,
.rich-text table th.align-left,
.rich-text table td.align-left {
  text-align: left !important;
}

.job-post-details table th.has-text-align-right,
.job-post-details table td.has-text-align-right,
.job-post-details table th[align="right"],
.job-post-details table td[align="right"],
.job-post-details table th.text-right,
.job-post-details table td.text-right,
.job-post-details table th.align-right,
.job-post-details table td.align-right,
.rich-text table th.has-text-align-right,
.rich-text table td.has-text-align-right,
.rich-text table th[align="right"],
.rich-text table td[align="right"],
.rich-text table th.text-right,
.rich-text table td.text-right,
.rich-text table th.align-right,
.rich-text table td.align-right {
  text-align: right !important;
}

/* ---------------------------------------------------------------------------
   FEATURED IMAGE (single post, top of article - standard WP convention)
--------------------------------------------------------------------------- */
.featured-image{
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(16,24,64,.06), 0 12px 28px -16px rgba(16,24,64,.25);
  background:#F1F5F9;
}
.featured-image__img{
  width:100%;
  height:auto;
  max-height:460px;
  object-fit:cover;
  display:block;
  aspect-ratio: 16/9;
}
.job-post-details .wp-block-table, .rich-text .wp-block-table{ overflow-x: auto; display: block; margin: 0 0 .9rem; }
.job-post-details table:not(.job-table), .rich-text table:not(.job-table){ width: 100%; border-collapse: collapse; font-size: .85rem; }
.job-post-details table:not(.job-table) th, .job-post-details table:not(.job-table) td,
.rich-text table:not(.job-table) th, .rich-text table:not(.job-table) td{ border: 1px solid #E2E8F0; padding: .55rem .7rem; text-align: left; }
.job-post-details table:not(.job-table) th, .rich-text table:not(.job-table) th{ background: var(--brand); color: #fff; font-family: var(--font-display); }
@media (max-width: 640px){
  .job-post-details h2, .rich-text h2{ font-size: 1.1rem; }
  .job-post-details h3, .rich-text h3{ font-size: 1.02rem; }
  .job-post-details table:not(.job-table) th, .job-post-details table:not(.job-table) td,
  .rich-text table:not(.job-table) th, .rich-text table:not(.job-table) td{ padding: .45rem .55rem; font-size: .8rem; }
}

/* ---------------------------------------------------------------------------
   HEADER LOGO - keeps an uploaded logo (any width) fitting the header height
--------------------------------------------------------------------------- */
.custom-logo-wrap{ display:flex; align-items:center; }
.custom-logo-wrap img{ max-height:44px; width:auto; display:block; }

/* ---------------------------------------------------------------------------
   FOOTER LOGO - device-safe sizing for a 150x60 uploaded image
--------------------------------------------------------------------------- */
.footer-logo-link{ display:inline-block; }
.footer-logo-img{ max-width:150px; max-height:60px; width:auto; height:auto; display:block; }
@media (max-width:639px){
  .footer-logo-img{ max-width:130px; max-height:52px; }
}

/* ---------------------------------------------------------------------------
   IN-FEED AD - spans the full grid row (used by mnj_ad_infeed_slot())
--------------------------------------------------------------------------- */
.col-span-full{ grid-column: 1 / -1; }

/* ---------------------------------------------------------------------------
   UTILITY GAP-FILL - classes used by templates added after the original
   prototype (404.php, page.php, comments.php, single.php author-photo ring)
   that weren't present in the prototype's compiled utility snapshot.
   Hand-written to match Tailwind's exact values so spacing stays consistent
   with the rest of the site.
--------------------------------------------------------------------------- */
.max-w-\[700px\]{ max-width: 700px; }
.max-w-\[900px\]{ max-width: 900px; }
.p-5{ padding: 1.25rem; }
.px-1{ padding-left: .25rem; padding-right: .25rem; }
.py-3{ padding-top: .75rem; padding-bottom: .75rem; }
.py-8{ padding-top: 2rem; padding-bottom: 2rem; }
.py-16{ padding-top: 4rem; padding-bottom: 4rem; }
.mb-1{ margin-bottom: .25rem; }
.leading-none{ line-height: 1; }
.shadow-sm{ box-shadow: 0 1px 2px 0 rgba(0,0,0,.05); }
.ring-2{ box-shadow: 0 0 0 2px var(--tw-ring-color, rgba(27,79,156,.5)); }
.ring-white{ --tw-ring-color: #ffffff; }
.text-\[24px\]{ font-size: 24px; }
.text-\[64px\]{ font-size: 64px; }
.focus\:ring-brand\/20:focus{ box-shadow: 0 0 0 4px rgba(27,79,156,.2); }

@media (min-width: 640px){
  .sm\:p-7{ padding: 1.75rem; }
  .sm\:py-12{ padding-top: 3rem; padding-bottom: 3rem; }
  .sm\:py-24{ padding-top: 6rem; padding-bottom: 6rem; }
  .sm\:text-\[26px\]{ font-size: 26px; }
  .sm\:text-\[30px\]{ font-size: 30px; }
  .sm\:-mt-10{ margin-top: -2.5rem; }
  .sm\:gap-4{ gap: 1rem; }
}

/* Confirmed missing via real-browser render test (v3.7.0 Quick Category
   grid + AdSense slot markup) - grid-cols-4/md:grid-cols-8 were never in
   the original prototype's compiled snapshot, so the Quick Category icons
   rendered as one full-width row per icon instead of a grid. */
.grid-cols-4{ grid-template-columns: repeat(4, minmax(0, 1fr)); }
.-mt-8{ margin-top: -2rem; }
.z-10{ z-index: 10; }
.my-1{ margin-top: .25rem; margin-bottom: .25rem; }
.my-5{ margin-top: 1.25rem; margin-bottom: 1.25rem; }
.col-span-full{ grid-column: 1 / -1; }

@media (min-width: 768px){
  .md\:grid-cols-8{ grid-template-columns: repeat(8, minmax(0, 1fr)); }
}

/* ---------------------------------------------------------------------------
   EVOLVED HOMEPAGE ADDITIONS - stats bar, trending ribbon, posted-time
--------------------------------------------------------------------------- */
.stats-bar{
  display:grid; grid-template-columns:repeat(2,1fr); gap:1px;
  background:#E7ECF5; border-radius: 4px; overflow:hidden;
  border:1px solid #E7ECF5;
}
.stats-bar__item{ background:#fff; padding:1rem .6rem .9rem; text-align:center; }
.stats-bar__icon{
  width:30px; height:30px; margin:0 auto .4rem; border-radius:999px;
  background: var(--brand-light); color: var(--brand);
  display:flex; align-items:center; justify-content:center;
}
.stats-bar__icon svg{ width:16px; height:16px; }
.stats-bar__num{ font-family:var(--font-display); font-weight:800; font-size:1.3rem; color:var(--brand); line-height:1.2; }
.stats-bar__label{ font-size:.68rem; color:#64748b; font-weight:600; margin-top:.15rem; }
@media (min-width:640px){
  .stats-bar{ grid-template-columns:repeat(4,1fr); }
  .stats-bar__num{ font-size:1.6rem; }
  .stats-bar__icon{ width:36px; height:36px; }
  .stats-bar__icon svg{ width:18px; height:18px; }
}

.tile__ribbon{
  position:absolute; top:6px; right:-22px; transform:rotate(35deg); z-index:1;
  background:#FFD24C; color:#5A3A00; font-size:.58rem; font-weight:800;
  padding:.1rem 1.6rem; font-family:var(--font-display); letter-spacing:.02em;
  box-shadow:0 1px 3px rgba(0,0,0,.25);
}

.job-card__posted{ font-size:.68rem; color:#94a3b8; font-weight:500; }

@media (min-width:640px){
  .sm\:space-y-14>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(3.5rem*(1 - var(--tw-space-y-reverse)));margin-bottom:calc(3.5rem*var(--tw-space-y-reverse))}
}

/* ---------------------------------------------------------------------------
   PREMIUM SEARCH MODAL DRAWER
--------------------------------------------------------------------------- */
.search-modal-backdrop{
  position: fixed; inset: 0; z-index: 50;
  background: rgba(15, 27, 51, 0.65);
  backdrop-filter: blur(6px);
  display: flex; align-items: flex-start; justify-content: center;
  padding-top: 15vh;
  opacity: 0; visibility: hidden;
  transition: opacity .25s ease, visibility .25s ease;
}
.search-modal-backdrop.is-open{
  opacity: 1; visibility: visible;
}
.search-modal{
  background: #ffffff;
  width: 90%; max-width: 620px;
  border-radius: 4px;
  box-shadow: 0 25px 50px -12px rgba(15, 27, 51, 0.35);
  border: 1px solid #E2E8F0;
  overflow: hidden;
  transform: translateY(-20px);
  transition: transform .25s cubic-bezier(0.16, 1, 0.3, 1);
}
.search-modal-backdrop.is-open .search-modal{
  transform: translateY(0);
}

/* ---------------------------------------------------------------------------
   QUICK JOB SUMMARY CARD (Single Post)
--------------------------------------------------------------------------- */
.job-summary-card{
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  border-left: 4px solid var(--brand);
  border-radius: 4px;
  padding: 1.25rem;
  margin: 1.25rem 0;
  box-shadow: 0 1px 3px rgba(16, 24, 64, 0.04);
}
.job-summary-card__header{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 1.05rem;
  color: var(--brand);
  margin-bottom: 0.75rem;
  display: flex; align-items: center; gap: 0.5rem;
}
.job-summary-grid{
  display: grid;
  grid-template-columns: repeat(1, minmax(0, 1fr));
  gap: 0.75rem;
}
@media (min-width: 640px){
  .job-summary-grid{
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}
.job-summary-item{
  display: flex; flex-direction: column;
  background: #ffffff;
  padding: 0.65rem 0.85rem;
  border-radius: 3px;
  border: 1px solid #EDF1F7;
}
.job-summary-item__label{
  font-size: 0.75rem;
  color: #64748B;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}
.job-summary-item__value{
  font-family: var(--font-display);
  font-size: 0.92rem;
  font-weight: 700;
  color: var(--ink);
  margin-top: 0.15rem;
}

/* ---------------------------------------------------------------------------
   SCREENSHOT EXACT LAYOUT COMPONENTS (Category Boxes, Join Bars, Info Cards)
--------------------------------------------------------------------------- */
.join-bar{
  display: flex; align-items: center; justify-content: space-between;
  padding: 0.65rem 1rem; border-radius: 3px;
  background: #F8FAFC; border: 1px solid #E2E8F0;
  box-shadow: 0 1px 2px rgba(0,0,0,0.03);
}
.join-bar__title{
  display: flex; align-items: center; gap: 0.6rem;
  font-family: var(--font-display); font-weight: 700; font-size: 0.95rem; color: #1E293B;
}
.join-bar__btn{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.4rem 1.1rem; border-radius: 3px;
  font-family: var(--font-display); font-weight: 700; font-size: 0.85rem; color: #ffffff;
  transition: all 0.2s ease; text-decoration: none;
}
.join-bar__btn--whatsapp{ background: #25D366; }
.join-bar__btn--whatsapp:hover{ background: #1DA851; }
.join-bar__btn--telegram{ background: #38BDF8; }
.join-bar__btn--telegram:hover{ background: #0284C7; }

/* HERO SECTION EXACT REFERENCE STYLING (MATCHING IMAGE 1) */
.hero-ref-bg {
  background: linear-gradient(180deg, #1D5BB8 0%, #154593 100%) !important;
  position: relative !important;
  overflow: hidden !important;
  padding-top: 3.25rem !important;
  padding-bottom: 7.5rem !important;
}
.hero-svg-wave {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  pointer-events: none !important;
}

/* FLOATING WHITE CONTAINER OVERLAPPING HERO (1-3% SLEEK RADIUS) */
.featured-tiles-floating-card {
  background: #ffffff !important;
  border-radius: 4px !important;
  padding: 1.25rem !important;
  box-shadow: 0 16px 35px -10px rgba(0, 0, 0, 0.16) !important;
  border: 1px solid #e2e8f0 !important;
  position: relative !important;
  z-index: 20 !important;
  margin-top: -5rem !important;
}
.featured-tiles-floating-card .grid,
.featured-tiles-floating-card > div {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 0.875rem !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  .featured-tiles-floating-card .grid,
  .featured-tiles-floating-card > div {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.875rem !important;
  }
}

/* ATTRACTIVE GRADIENT TILES BELOW HERO (BUTTERY SMOOTH HOVER) */
.tile-grad{
  display: flex; align-items: center; justify-content: center; text-align: center;
  padding: 1.1rem 0.85rem; min-height: 76px;
  border-radius: 3px !important;
  color: #ffffff; text-decoration: none;
  font-family: var(--font-display); font-weight: 700; font-size: 0.92rem; line-height: 1.3;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.1);
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1);
  position: relative;
  z-index: 1;
}
.tile-grad:hover{
  transform: translateY(-3px);
  box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
  z-index: 5;
}
.tile-grad__title{
  color: #ffffff; text-shadow: 0 1px 2px rgba(0,0,0,0.2);
}

/* STRICT 3-BUTTON HORIZONTAL ROW (NEVER STACKS DOWN) */
.quick-cat-3row {
  display: flex !important;
  flex-direction: row !important;
  flex-wrap: nowrap !important;
  gap: 1rem !important;
  width: 100% !important;
}
.quick-cat-3row .quick-cat {
  flex: 1 1 0% !important;
  min-width: 0 !important;
  white-space: nowrap !important;
}

/* RESPONSIVE CATEGORY GRID (1-COLUMN ON MOBILE, 3-COLUMNS ON DESKTOP) */
.cat-grid-3col {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 1.5rem !important;
  width: 100% !important;
}
@media (min-width: 768px) {
  .cat-grid-3col {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

.cat-box{
  background: #ffffff;
  border-radius: 3px;
  overflow: hidden;
  display: flex; flex-direction: column;
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.06);
  border: 1.5px solid #E2E8F0;
}
.cat-box__header{
  background: #1D5BB8;
  color: #ffffff;
  text-align: center;
  padding: 0.75rem 1rem;
}
.cat-box__header h2{
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.1rem;
  color: #ffffff;
  margin: 0;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
.cat-box__body{
  padding: 1rem;
  display: flex; flex-direction: column; gap: 0.75rem;
  flex: 1;
  background: #ffffff;
}
.cat-post-card{
  border: 1.5px solid #1D5BB8;
  border-radius: 3px;
  padding: 0.75rem 0.85rem;
  background: #ffffff;
  transition: transform 0.35s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.35s cubic-bezier(0.16, 1, 0.3, 1), background-color 0.35s ease, border-color 0.35s ease;
  position: relative;
  cursor: pointer;
}
.cat-post-card:hover{
  border-color: #154593;
  background: #F0F6FF;
  box-shadow: 0 8px 20px -3px rgba(29, 91, 184, 0.22);
  transform: translateY(-3px);
}
.cat-post-card__title{
  font-family: var(--font-display);
  font-weight: 700;
  font-size: 0.92rem;
  line-height: 1.35;
  color: #111827;
  display: block;
  text-decoration: none;
  margin-bottom: 0.35rem;
  transition: color 0.2s ease;
}
.cat-post-card:hover .cat-post-card__title,
.cat-post-card__title:hover{
  color: #154593;
}
.cat-post-card__bottom{
  display: flex; align-items: flex-end; justify-content: space-between;
  gap: 0.5rem; margin-top: 0.45rem; flex-wrap: wrap;
}
.cat-post-card__meta{
  display: flex; align-items: center; justify-content: flex-start;
  flex-wrap: wrap; gap: 0.75rem;
  font-size: 0.72rem; color: #475569; font-weight: 600;
}
.btn-check-now{
  display: inline-flex; align-items: center; justify-content: center;
  padding: 0.35rem 0.85rem; border-radius: 3px !important;
  background: #1D5BB8 !important; color: #ffffff !important;
  font-family: var(--font-display); font-weight: 700; font-size: 0.78rem;
  text-decoration: none; transition: all 0.25s ease;
  white-space: nowrap;
  box-shadow: 0 2px 4px rgba(29, 91, 184, 0.2);
}
.cat-post-card:hover .btn-check-now,
.btn-check-now:hover{
  background: #154593 !important;
  transform: translateY(-1px);
  box-shadow: 0 4px 10px rgba(29, 91, 184, 0.35);
}
.cat-box__footer{
  padding: 0.75rem 1rem 1rem 1rem;
  background: #ffffff;
}
.btn-read-more{
  display: flex; width: 100%; align-items: center; justify-content: center; text-align: center;
  background: #1D5BB8 !important; color: #ffffff !important;
  font-family: var(--font-display); font-weight: 800; font-size: 0.92rem;
  padding: 0.65rem 1rem; border-radius: 3px !important;
  transition: all 0.25s ease; text-decoration: none;
  box-shadow: 0 2px 6px rgba(29, 91, 184, 0.2);
}
.btn-read-more:hover{
  background: #154593 !important;
  transform: translateY(-1px);
  box-shadow: 0 6px 14px rgba(29, 91, 184, 0.35);
}

/* SEO INFORMATIONAL CARDS (STATIC & SOLID - CENTER ALIGNED FOR PC & MOBILE) */
.info-card{
  background: #ffffff;
  border: 1.5px solid #1D5BB8;
  border-radius: 4px;
  overflow: hidden;
  box-shadow: 0 4px 14px rgba(29, 91, 184, 0.06);
  text-align: center !important;
}
.info-card__header{
  background: #1D5BB8;
  color: #ffffff;
  text-align: center !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  padding: 0.75rem 1rem;
  transition: background 0.28s ease;
}
.info-card:hover .info-card__header{
  background: #154593;
}
.info-card__header h2,
.info-card__header h3{
  font-family: var(--font-display);
  font-weight: 800; font-size: 1.1rem;
  color: #ffffff; margin: 0;
  text-align: center !important;
}
.info-card__body{
  padding: 1.25rem 1.5rem;
  font-size: 0.92rem; color: #334155; line-height: 1.65;
  text-align: center !important;
}
.info-card__body p{
  text-align: center !important;
  margin: 0 auto !important;
  max-width: 1050px !important;
}

/* FLOATING FOOTER CARD LAYOUT */
.floating-footer-wrap {
  position: relative;
  background: #2A2E35;
  padding-top: 3.5rem;
  color: #CBD5E1;
}
.floating-footer-card {
  background: #ffffff;
  border-radius: 3px !important;
  padding: 2.25rem 2.5rem;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18);
  border: 1px solid #E2E8F0;
  color: #1E293B;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  position: relative;
  z-index: 10;
}
.floating-footer-card h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1rem;
  color: #0F172A;
  margin-bottom: 1rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
.floating-footer-card p {
  font-size: 0.88rem;
  line-height: 1.6;
  color: #475569;
}
.floating-footer-card ul {
  list-style: none; padding: 0; margin: 0;
}
.floating-footer-card ul li {
  margin-bottom: 0.5rem;
}
.floating-footer-card ul li a {
  color: #475569; font-size: 0.88rem; text-decoration: none;
  transition: color 0.2s ease;
}
.floating-footer-card ul li a:hover {
  color: #1D5BB8;
}

.footer-dark-bottom {
  background: #2A2E35;
  padding-top: 2.5rem;
  padding-bottom: 2.25rem;
  text-align: center;
}
.footer-divider-title {
  display: flex; align-items: center; justify-content: center; gap: 1.5rem;
  margin-bottom: 1.5rem;
}
.footer-divider-line {
  flex: 1; height: 1px; background: #475569; opacity: 0.35;
}
.footer-brand-title {
  font-family: var(--font-display);
  font-weight: 900;
  font-size: 2.2rem;
  color: #ffffff;
  letter-spacing: -0.02em;
}
.footer-social-circles {
  display: flex; align-items: center; justify-content: center; gap: 0.75rem;
  margin-bottom: 1.5rem;
}
.footer-social-circle {
  width: 40px; height: 40px; border-radius: 50%;
  background: #E2E8F0; color: #1E293B;
  display: flex; align-items: center; justify-content: center;
  transition: all 0.2s ease; text-decoration: none;
}
.footer-social-circle:hover {
  background: #ffffff; color: #2E9A68; transform: translateY(-2px);
}

/* ---------------------------------------------------------------------------
   HOMEPAGE SEO INFORMATIONAL CARDS (EXACT MATCH OF REFERENCE IMAGE IN BRAND BLUE)
--------------------------------------------------------------------------- */
.info-card {
  margin-bottom: 1.75rem;
  border: 1.5px solid #1D5BB8;
  border-radius: 4px;
  overflow: hidden;
  background: #ffffff;
  box-shadow: 0 4px 14px rgba(29, 91, 184, 0.05);
  padding: 0.4rem;
}
.info-card__header {
  background: #1D5BB8;
  color: #ffffff;
  padding: 0.75rem 1.25rem;
  text-align: center;
  border-radius: 3px;
}
.info-card__header h2,
.info-card__header h3 {
  font-family: var(--font-display);
  font-weight: 800;
  font-size: 1.15rem;
  color: #ffffff !important;
  margin: 0;
  line-height: 1.3;
}
.info-card__body {
  padding: 1.1rem 1.35rem 1.25rem 1.35rem;
  font-size: 0.92rem;
  color: #334155;
  line-height: 1.7;
}
.info-card__body p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.7;
}

/* ===========================================================================
   MOBILE-FIRST ULTRA-RESPONSIVE OPTIMIZATION RULES (PHONES & TABLETS)
=========================================================================== */
@media (max-width: 767px) {
  /* 1. Hide Fixed Left Social Rail on Mobile Phones to Prevent Content Overlap */
  .social-rail {
    display: none !important;
  }

  /* 2. Fluid Horizontal Touch Scrolling & Tight Spacing for All Tables on Mobile */
  .table-wrap,
  .overflow-x-auto,
  .wp-block-table,
  .job-post-details table,
  .rich-text table {
    display: block;
    width: 100% !important;
    max-width: 100% !important;
    overflow-x: auto !important;
    -webkit-overflow-scrolling: touch !important;
    border-radius: 3px;
    margin-top: 0 !important;
    margin-bottom: 0.5rem !important;
  }
  .job-post-details h1, .rich-text h1 { margin-top: 0.9rem !important; margin-bottom: 0.25rem !important; }
  .job-post-details h2, .rich-text h2 { margin-top: 0.75rem !important; margin-bottom: 0.25rem !important; }
  .job-post-details h3, .rich-text h3 { margin-top: 0.65rem !important; margin-bottom: 0.2rem !important; }
  .job-post-details p, .rich-text p { margin-bottom: 0.45rem !important; }
  .job-post-details ul:not(.qualification-list):not(.dates-list),
  .rich-text ul:not(.qualification-list):not(.dates-list) { margin-bottom: 0.45rem !important; gap: 0.4rem !important; }
  .dates-list { margin-bottom: 0.45rem !important; }
  .job-table {
    min-width: 320px !important;
  }
  .job-table th,
  .job-table td {
    padding: 0.55rem 0.65rem !important;
    font-size: 0.8rem !important;
    white-space: normal;
  }

  /* 3. Thumb-Friendly Touch Targets for Specific Action Buttons */
  .btn-read-more,
  .btn-apply-sm {
    min-height: 40px !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: 0.88rem !important;
    padding: 0.5rem 1rem !important;
    touch-action: manipulation;
  }

  /* 4. Responsive Card Padding & Spacing */
  .floating-footer-card {
    padding: 1.5rem 1.25rem !important;
    border-radius: 3px !important;
  }
  .info-card__header {
    padding: 0.65rem 0.85rem !important;
  }
  .info-card__header h2,
  .info-card__header h3 {
    font-size: 1rem !important;
  }
  .info-card__body {
    padding: 1rem 1.15rem !important;
    font-size: 0.86rem !important;
    line-height: 1.6 !important;
    text-align: center !important;
  }

  /* 5. Fluid Responsive Article Title & Headers */
  h1.font-display {
    font-size: 1.5rem !important;
    line-height: 1.3 !important;
  }
  .job-post-details,
  .rich-text {
    font-size: 0.9rem !important;
    line-height: 1.65 !important;
  }

  /* 6. Touch-Friendly Footer Links */
  .floating-footer-card ul li a {
    display: inline-block;
    padding: 0.25rem 0;
    font-size: 0.9rem !important;
  }

  /* 7. Compact 8 Featured Category Tiles on Mobile */
  .tile-grad {
    padding: 0.65rem 0.5rem !important;
    min-height: 52px !important;
    font-size: 0.8rem !important;
    border-radius: 4px !important;
  }

  /* 8. Compact Category Post Cards (~5% Height & Size Reduction) */
  .cat-post-card {
    padding: 0.55rem 0.65rem !important;
    border-radius: 4px !important;
  }
  .cat-post-card__title {
    font-size: 0.82rem !important;
    line-height: 1.3 !important;
    margin-bottom: 0.2rem !important;
  }
  .cat-box__body {
    padding: 0.65rem !important;
    gap: 0.5rem !important;
  }
  .cat-box__header {
    padding: 0.5rem 0.65rem !important;
  }
  .cat-box__header h2 {
    font-size: 0.95rem !important;
  }

  /* 9. Separate Category Archive Post Cards (Compact, Sleek Mobile Fit) */
  .cat-page-card {
    padding: 0.75rem 0.85rem !important;
    border-radius: 3px !important;
    border-width: 1.5px !important;
  }
  .cat-page-card a.font-display,
  .cat-page-card h2,
  .cat-page-card h3 {
    font-size: 0.88rem !important;
    line-height: 1.35 !important;
    margin-bottom: 0.4rem !important;
  }
  .cat-page-card .text-xs {
    font-size: 0.72rem !important;
    margin-bottom: 0.5rem !important;
  }
  .cat-page-btn {
    padding: 0.35rem 0.75rem !important;
    font-size: 0.74rem !important;
    min-height: 30px !important;
    border-radius: 3px !important;
  }

  /* 10. Compact & Neat Check Now Buttons for Mobile Users */
  .btn-check-now {
    padding: 0.2rem 0.55rem !important;
    font-size: 0.7rem !important;
    min-height: 26px !important;
    border-radius: 4px !important;
    font-weight: 700 !important;
  }
  .btn-read-more {
    padding: 0.5rem 0.75rem !important;
    font-size: 0.84rem !important;
    min-height: 36px !important;
    border-radius: 3px !important;
  }
}

/* ===========================================================================
   11. ULTRA-HIGH-SPEED ZERO-CLS GOOGLE ADSENSE & LITESPEED AD CONTAINERS
=========================================================================== */
.mnj-ad-slot-wrap {
  display: flex !important;
  flex-direction: column !important;
  justify-content: center !important;
  align-items: center !important;
  text-align: center !important;
  background: #F8FAFC !important;
  border: 1px dashed #CBD5E1 !important;
  border-radius: 3px !important;
  overflow: hidden !important;
  position: relative !important;
  content-visibility: auto !important;
  contain-intrinsic-size: 250px !important;
  margin: 1rem auto !important;
  max-width: 100% !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
.mnj-ad-slot-wrap::before {
  content: 'ADVERTISEMENT';
  position: absolute;
  top: 2px;
  right: 6px;
  font-size: 0.6rem;
  font-family: var(--font-display, sans-serif);
  font-weight: 700;
  color: #94A3B8;
  letter-spacing: 0.05em;
  pointer-events: none;
  z-index: 1;
}
.mnj-ad-slot-wrap--header,
.mnj-ad-slot-wrap--footer {
  min-height: 90px !important;
  contain-intrinsic-size: 90px !important;
}
.mnj-ad-slot-wrap--content,
.mnj-ad-slot-wrap--sidebar {
  min-height: 250px !important;
  contain-intrinsic-size: 250px !important;
}
.mnj-ad-slot-wrap--infeed {
  min-height: 120px !important;
  contain-intrinsic-size: 120px !important;
}
ins.adsbygoogle {
  display: block !important;
  max-width: 100% !important;
}
@media (max-width: 767px) {
  .mnj-ad-slot-wrap--header,
  .mnj-ad-slot-wrap--footer {
    min-height: 60px !important;
    contain-intrinsic-size: 60px !important;
  }
  .mnj-ad-slot-wrap--content,
  .mnj-ad-slot-wrap--sidebar {
    min-height: 250px !important;
    contain-intrinsic-size: 250px !important;
  }
}

/* ===========================================================================
   GENERATEPRESS PARENT THEME CSS OVERRIDES
   These rules counteract GeneratePress's default link styling that bleeds
   through into the child theme's custom components.
   =========================================================================== */

/* ---------------------------------------------------------------------------
   FIX 1: TICKER - Remove blue underline on ticker links
   GeneratePress sets `a { color: ...; text-decoration: underline; }` globally.
   The ticker links must inherit white color from the dark ticker bar and have
   no underline by default (only on hover).
--------------------------------------------------------------------------- */
.ticker__track a,
.ticker__track li a {
  color: #ffffff !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.ticker__track a:hover,
.ticker__track li a:hover {
  text-decoration: underline !important;
  color: #FDE68A !important;
}

/* ---------------------------------------------------------------------------
   FIX 2: FEATURED TILES 8-CARD GRID - Full-width fix
   Ensure the floating card and grid take full available width and don't
   get squeezed by GeneratePress container widths.
--------------------------------------------------------------------------- */
.featured-tiles-floating-card {
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.featured-tiles-floating-card > .grid {
  width: 100% !important;
}
.tile-grad {
  width: 100% !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
  word-break: break-word !important;
}

/* ---------------------------------------------------------------------------
   FIX 3: FOOTER - Override GP default link styling in footer area
   All footer links should be unstyled by default (inherit color from parent)
   and show brand color on hover, no underline.
--------------------------------------------------------------------------- */
.floating-footer-card a,
.floating-footer-card ul li a,
.floating-footer-card p a,
footer a {
  color: inherit !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.floating-footer-card ul li a:hover,
.floating-footer-card p a:hover {
  color: #1D5BB8 !important;
  text-decoration: none !important;
}
.footer-social-circle {
  color: #1E293B !important;
  text-decoration: none !important;
}
.footer-social-circle:hover {
  color: #1D5BB8 !important;
}
footer .footer-dark-bottom a {
  color: #CBD5E1 !important;
  text-decoration: none !important;
}

/* ---------------------------------------------------------------------------
   FIX 4: HEADER - Professional logo/text treatment, no tagline
   Hide the tagline/description line, keep site title professional.
   Supports both custom logo image and text fallback.
--------------------------------------------------------------------------- */
/* Hide the tagline/description text entirely */
#site-header .leading-tight > span:last-child,
header .leading-tight > span:last-child {
  display: none !important;
}
/* Professional site title */
#site-header .leading-tight > span:first-child,
header .leading-tight > span:first-child {
  font-size: 1.35rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.01em !important;
}
@media (min-width: 640px) {
  #site-header .leading-tight > span:first-child,
  header .leading-tight > span:first-child {
    font-size: 1.55rem !important;
  }
}
/* Custom logo wrapper - prevent GP from overriding logo sizing */
.custom-logo-wrap .custom-logo-link,
.custom-logo-wrap a {
  display: inline-flex !important;
  align-items: center !important;
  border-bottom: none !important;
  box-shadow: none !important;
  text-decoration: none !important;
}
.custom-logo-wrap .custom-logo,
.custom-logo-wrap img {
  width: 44px !important;
  height: 44px !important;
  max-width: 52px !important;
  max-height: 52px !important;
  object-fit: contain !important;
  border-radius: 3px !important;
}
@media (min-width: 640px) {
  .custom-logo-wrap .custom-logo,
  .custom-logo-wrap img {
    width: 48px !important;
    height: 48px !important;
    max-width: 56px !important;
    max-height: 56px !important;
  }
}

/* ---------------------------------------------------------------------------
   GLOBAL: Override GeneratePress default link decoration on all theme
   components to prevent blue underlines on internal nav, chips, tiles etc.
--------------------------------------------------------------------------- */
.chip,
.chip:hover,
.nav-link,
.nav-link:hover,
.mobile-nav-link,
.mobile-nav-link:hover,
.cat-box a,
.cat-post-card a,
.quick-cat,
.quick-cat:hover,
a.tile-grad,
a.tile-grad:hover {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* Ensure GP doesn't add underlines to the header home link */
#site-header a,
header#site-header a {
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ===========================================================================
   RESPONSIVE GRIDS FOR INLINE-STYLED TEMPLATES
   (footer, category, page - these templates use inline styles for base layout
    but need media queries for responsive breakpoints)
   =========================================================================== */

/* FOOTER - 4-column grid on desktop */
@media (min-width: 768px) {
  .mnj-footer-grid {
    grid-template-columns: repeat(4, 1fr) !important;
  }
  .mnj-hero-tiles-grid {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 0.85rem !important;
  }
}

/* CATEGORY PAGE - 2-col posts grid on sm+, sidebar layout on lg+ */
@media (min-width: 640px) {
  .mnj-cat-grid {
    grid-template-columns: repeat(2, 1fr) !important;
  }
}
@media (min-width: 1024px) {
  .mnj-cat-layout {
    grid-template-columns: 2fr 1fr !important;
  }
  .mnj-cat-sidebar {
    position: sticky !important;
    top: 6rem !important;
  }
}

/* PAGE & ARTICLE TEMPLATES - Fix GP's default list counters/markers on breadcrumb */
nav[aria-label="Breadcrumb"] ol,
nav[aria-label="Breadcrumb"] li,
.mnj-breadcrumb,
.mnj-breadcrumb * {
  list-style: none !important;
  list-style-type: none !important;
  counter-reset: none !important;
}
nav[aria-label="Breadcrumb"] ol::before,
nav[aria-label="Breadcrumb"] li::before,
.mnj-breadcrumb::before,
.mnj-breadcrumb *::before {
  content: none !important;
  display: none !important;
}

/* Page content - override GP heading counters & list numbering artifacts */
.mnj-page-content h1::before,
.mnj-page-content h2::before,
.mnj-page-content h3::before,
.mnj-page-content h4::before,
.mnj-page-content h5::before,
.mnj-page-content h6::before {
  content: none !important;
  display: none !important;
  counter-increment: none !important;
}
.mnj-page-content ol,
.mnj-page-content ul {
  list-style-position: inside !important;
}
.mnj-page-content ol {
  list-style-type: decimal !important;
}
.mnj-page-content ul {
  list-style-type: disc !important;
}

/* Page content - professional styling */
.mnj-page-content {
  font-size: 0.95rem !important;
  line-height: 1.75 !important;
  color: #334155 !important;
}
.mnj-page-content h2 {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 1.35rem !important;
  color: #1D5BB8 !important;
  margin-top: 1.5rem !important;
  margin-bottom: 0.75rem !important;
  border-bottom: 2px solid #E2E8F0 !important;
  padding-bottom: 0.5rem !important;
}
.mnj-page-content h3 {
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 1.15rem !important;
  color: #0F172A !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0.5rem !important;
}
.mnj-page-content p {
  margin-bottom: 0.75rem !important;
}
.mnj-page-content a {
  color: #1D5BB8 !important;
  text-decoration: underline !important;
}

/* FOOTER WALKER LINKS - force inherit color and no decoration in footer */
footer ul li a,
footer .menu-item a {
  color: #475569 !important;
  text-decoration: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  font-size: 0.88rem !important;
}
footer ul li a:hover,
footer .menu-item a:hover {
  color: #1D5BB8 !important;
}

/* Fix GeneratePress container interference with our templates */
body .site-content,
body .site,
body #page {
  max-width: none !important;
  width: 100% !important;
  padding: 0 !important;
  margin: 0 !important;
}

/* Hide GP's own header/footer if they appear (we use our own) */
.site-header,
.site-footer,
.site-info {
  display: none !important;
}

/* ---------------------------------------------------------------------------
   UPPER ROYAL BLUE SEARCH STRIP (Exact Reference Image 3 Replica)
--------------------------------------------------------------------------- */
.mnj-search-strip {
  background: #1D5BB8 !important;
  background-color: #1D5BB8 !important;
  width: 100% !important;
  padding: 12px 16px !important;
  box-sizing: border-box !important;
}
.mnj-search-strip form {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  width: 100% !important;
  max-width: 680px !important;
  margin: 0 auto !important;
}
.mnj-search-strip input[type="search"] {
  width: 100% !important;
  height: 44px !important;
  padding-left: 44px !important;
  padding-right: 16px !important;
  font-size: 14px !important;
  color: #1E293B !important;
  background: #ffffff !important;
  border-radius: 3px !important;
  border: 1px solid #CBD5E1 !important;
  outline: none !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.08) !important;
  box-sizing: border-box !important;
  font-family: var(--font-display) !important;
}
.mnj-search-strip button[type="submit"] {
  height: 44px !important;
  padding: 0 24px !important;
  background: #FBBF24 !important;
  color: #111827 !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 14px !important;
  border-radius: 3px !important;
  border: none !important;
  cursor: pointer !important;
  flex-shrink: 0 !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.12) !important;
  transition: background 0.15s ease !important;
}
.mnj-search-strip button[type="submit"]:hover {
  background: #F59E0B !important;
}

/* ---------------------------------------------------------------------------
   8 HERO TILES RESPONSIVE GRID
--------------------------------------------------------------------------- */
.mnj-hero-tiles-8col {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}
@media (min-width: 768px) {
  .mnj-hero-tiles-8col {
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 14px !important;
  }
}



/* ---------------------------------------------------------------------------
   TABLE TEXT ALIGNMENT CONTROLS & UTILITIES (Left, Center, Right)
--------------------------------------------------------------------------- */
.table-align-toolbar {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  background: #F8FAFC !important;
  border: 1px solid #E2E8F0 !important;
  border-bottom: none !important;
  border-radius: 3px 8px 0 0 !important;
  padding: 6px 12px !important;
  font-family: var(--font-display) !important;
  font-size: 12px !important;
  color: #475569 !important;
  margin-top: 1.25rem !important;
  margin-bottom: 0 !important;
  position: relative !important;
  z-index: 5 !important;
}
.table-align-toolbar span {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  font-weight: 700 !important;
  color: #1E293B !important;
}
.table-align-btn-group {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
}
.table-align-btn {
  display: inline-flex !important;
  align-items: center !important;
  gap: 4px !important;
  padding: 3px 8px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  border-radius: 4px !important;
  border: 1px solid #CBD5E1 !important;
  background: #ffffff !important;
  color: #334155 !important;
  cursor: pointer !important;
  transition: all 0.15s ease !important;
  user-select: none !important;
}
.table-align-btn:hover {
  background: #EFF6FF !important;
  color: #1D5BB8 !important;
  border-color: #1D5BB8 !important;
}
.table-align-btn.is-active {
  background: #1D5BB8 !important;
  color: #ffffff !important;
  border-color: #1D5BB8 !important;
  box-shadow: 0 1px 3px rgba(29, 91, 184, 0.3) !important;
}

/* Whole-table alignment classes */
.table-align-left,
.table-align-left th,
.table-align-left td,
table.table-align-left th,
table.table-align-left td {
  text-align: left !important;
}

.table-align-center,
.table-align-center th,
.table-align-center td,
table.table-align-center th,
table.table-align-center td {
  text-align: center !important;
}

.table-align-right,
.table-align-right th,
.table-align-right td,
table.table-align-right th,
table.table-align-right td {
  text-align: right !important;
}

/* Individual cell alignment classes */
th.align-left, td.align-left, [data-align="left"], .has-text-align-left {
  text-align: left !important;
}
th.align-center, td.align-center, [data-align="center"], .has-text-align-center {
  text-align: center !important;
}
th.align-right, td.align-right, [data-align="right"], .has-text-align-right {
  text-align: right !important;
}

/* Interactive cell highlight when hover */
.job-post-details table th,
.job-post-details table td {
  transition: text-align 0.15s ease, background-color 0.15s ease;
}



/* ===========================================================================
   CONSOLIDATED THEME EXTENSIONS (Single Source of Truth)
   =========================================================================== */

/* ---------------------------------------------------------------------------
   STICKY SIDEBAR (Latest Posts) - Single, Category & Archive Pages
--------------------------------------------------------------------------- */
.mnj-sticky-sidebar,
aside.mnj-sticky-sidebar {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 84px !important;
  align-self: flex-start !important;
  z-index: 20 !important;
}

/* ---------------------------------------------------------------------------
   CATEGORY POSTS GRID - Mobile-First (1-col mobile, 2-col desktop)
--------------------------------------------------------------------------- */
.category-posts-grid,
div.category-posts-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
  margin-top: 0.75rem !important;
  margin-bottom: 2rem !important;
}
@media (min-width: 768px) {
  .category-posts-grid,
  div.category-posts-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 20px !important;
  }
}

/* ---------------------------------------------------------------------------
   CATEGORY JOB CARDS - Clean Dashed Border with Simple Hover
--------------------------------------------------------------------------- */
.category-job-card,
article.category-job-card {
  background: #ffffff !important;
  border: 1.5px dashed #1D5BB8 !important;
  border-radius: 4px !important;
  padding: 16px 18px !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: space-between !important;
  box-sizing: border-box !important;
  margin: 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.04) !important;
  transition: all 0.2s ease !important;
  text-decoration: none !important;
}
.category-job-card:hover {
  border-color: #154593 !important;
  border-style: solid !important;
  box-shadow: 0 4px 12px rgba(29, 91, 184, 0.12) !important;
  transform: translateY(-2px) !important;
}

.category-job-card__title {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 1.05rem !important;
  color: #111827 !important;
  line-height: 1.4 !important;
  margin-bottom: 12px !important;
  display: block !important;
  text-decoration: none !important;
}

.category-job-card__meta {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 14px !important;
  font-size: 12px !important;
  color: #475569 !important;
  font-weight: 600 !important;
  margin-bottom: 14px !important;
}

.category-job-card__meta-item {
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
}
.category-job-card__meta-item svg {
  width: 14px !important;
  height: 14px !important;
  color: #1D5BB8 !important;
  flex-shrink: 0 !important;
}

.category-job-card__btn {
  display: block !important;
  width: 100% !important;
  padding: 8px 16px !important;
  border-radius: 9999px !important;
  border: 1.5px solid #1D5BB8 !important;
  background: transparent !important;
  color: #1D5BB8 !important;
  font-family: var(--font-display) !important;
  font-weight: 700 !important;
  font-size: 13px !important;
  text-align: center !important;
  text-decoration: none !important;
  box-sizing: border-box !important;
  transition: all 0.2s ease !important;
}
.category-job-card__btn:hover {
  background: #1D5BB8 !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(29, 91, 184, 0.25) !important;
}

/* ---------------------------------------------------------------------------
   CENTERED AUTHOR BOX - Vertical Column Layout with Blue Avatar Ring
--------------------------------------------------------------------------- */
.author-box,
div#author-box {
  background: #ffffff !important;
  border: 1px solid #CBD5E1 !important;
  border-radius: 4px !important;
  padding: 24px 20px !important;
  margin-top: 2rem !important;
  box-shadow: 0 1px 4px rgba(0,0,0,0.04) !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  text-align: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
}

.author-box__avatar-wrap {
  width: 86px !important;
  height: 86px !important;
  border-radius: 50% !important;
  border: 2.5px solid #1D5BB8 !important;
  background: #1D5BB8 !important;
  color: #ffffff !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  overflow: hidden !important;
  margin: 0 auto 12px !important;
  box-shadow: 0 2px 8px rgba(29, 91, 184, 0.2) !important;
  flex-shrink: 0 !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 22px !important;
}
.author-box__avatar-wrap img {
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
}

.author-box__header-line {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  margin-bottom: 8px !important;
}
.author-box__name {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 1.25rem !important;
  color: #111827 !important;
  line-height: 1.3 !important;
}
.author-box__verified-badge {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  color: #1D5BB8 !important;
}
.author-box__verified-badge svg {
  width: 20px !important;
  height: 20px !important;
}
.author-box__bio {
  font-size: 0.92rem !important;
  color: #475569 !important;
  line-height: 1.65 !important;
  max-width: 520px !important;
  margin: 0 auto !important;
  text-align: center !important;
}

/* ---------------------------------------------------------------------------
   FULL-WIDTH RESPONSIVE TABLES - Blue Header, Zero Blank Space
--------------------------------------------------------------------------- */
.job-post-details .overflow-x-auto,
.job-post-details .table-wrapper,
.job-post-details figure.wp-block-table,
.table-responsive-box {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: auto !important;
  -webkit-overflow-scrolling: touch !important;
  border: 1.5px solid #1D5BB8 !important;
  border-radius: 4px !important;
  margin: 1.25rem 0 !important;
  background: #ffffff !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

.job-post-details table,
.job-post-details .job-table,
.wp-block-table table {
  width: 100% !important;
  min-width: 100% !important;
  border-collapse: collapse !important;
  border-spacing: 0 !important;
  margin: 0 !important;
  border: none !important;
  table-layout: fixed !important;
  box-sizing: border-box !important;
}

.job-post-details table thead,
.job-post-details table thead tr {
  width: 100% !important;
  background: #1D5BB8 !important;
  background-color: #1D5BB8 !important;
  color: #ffffff !important;
}

.job-post-details table th {
  background: #1D5BB8 !important;
  background-color: #1D5BB8 !important;
  color: #ffffff !important;
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 13px !important;
  text-transform: uppercase !important;
  letter-spacing: 0.04em !important;
  padding: 12px 16px !important;
  border: none !important;
  border-bottom: 1.5px solid #154593 !important;
  box-sizing: border-box !important;
}

.job-post-details table td {
  padding: 11px 16px !important;
  font-size: 13.5px !important;
  color: #1E293B !important;
  border: none !important;
  border-bottom: 1px solid #E2E8F0 !important;
  box-sizing: border-box !important;
}

.job-post-details table tbody tr:nth-child(even) {
  background-color: #F8FAFC !important;
}
.job-post-details table tbody tr:nth-child(odd) {
  background-color: #ffffff !important;
}
.job-post-details table tr:last-child td {
  border-bottom: none !important;
}

/* ---------------------------------------------------------------------------
   RICH TEXT LISTS - Clean Bullets & Numbers (NOT tables)
--------------------------------------------------------------------------- */
.job-post-details ol {
  list-style-type: decimal !important;
  padding-left: 1.5rem !important;
  margin: 1rem 0 !important;
  display: block !important;
}
.job-post-details li {
  margin-bottom: 0.5rem !important;
  line-height: 1.65 !important;
  color: #334155 !important;
}

/* ---------------------------------------------------------------------------
   HEADER LOGO & TEXT - Mobile-First Protected Layout
--------------------------------------------------------------------------- */
.custom-logo-wrap,
.custom-logo-link {
  display: inline-flex !important;
  align-items: center !important;
}
.custom-logo-wrap img,
.custom-logo-link img {
  max-height: 42px !important;
  width: auto !important;
  object-fit: contain !important;
  display: block !important;
}
@media (max-width: 639px) {
  .custom-logo-wrap img,
  .custom-logo-link img {
    max-height: 36px !important;
  }
}


/* SVG STYLES PROTECTOR - Prevents 300px Giant SVGs in Cards */
.category-job-card__meta-item svg,
.category-job-card svg,
.author-box__verified-badge svg {
  width: 16px !important;
  height: 16px !important;
  max-width: 16px !important;
  max-height: 16px !important;
  flex-shrink: 0 !important;
  display: inline-block !important;
}
.author-box__verified-badge svg {
  width: 20px !important;
  height: 20px !important;
  max-width: 20px !important;
  max-height: 20px !important;
}

/* AUTHOR BOX MOBILE STACK PROTECTOR */
@media (max-width: 767px) {
  .author-box,
  div#author-box {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 20px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
  }
  .author-box__bio {
    text-align: center !important;
    width: 100% !important;
    max-width: 100% !important;
    display: block !important;
  }
  .author-box__header-line {
    justify-content: center !important;
    text-align: center !important;
    width: 100% !important;
  }
}


/* POST META BAR AUTHOR AVATAR BADGE UNDER H1 - Fixed 42px x 42px Circular Size Across All Devices */
.author-avatar-badge,
div.author-avatar-badge {
  width: 42px !important;
  height: 42px !important;
  min-width: 42px !important;
  min-height: 42px !important;
  max-width: 42px !important;
  max-height: 42px !important;
  border-radius: 50% !important;
  border: 2px solid #1D5BB8 !important;
  background: #1D5BB8 !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  flex-shrink: 0 !important;
  box-shadow: 0 1px 3px rgba(0,0,0,0.1) !important;
}

.author-avatar-badge img {
  width: 100% !important;
  height: 100% !important;
  max-width: 42px !important;
  max-height: 42px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 50% !important;
}


/* ==========================================================================
   2-COLUMN DESKTOP GRID SYSTEM (ARTICLE ON LEFT, STICKY SIDEBAR ON RIGHT)
   ========================================================================== */
.grid {
  display: grid !important;
}

.grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr)) !important;
}

@media (min-width: 1024px) {
  .lg\:grid-cols-12 {
    display: grid !important;
    grid-template-columns: repeat(12, minmax(0, 1fr)) !important;
  }
  
  .lg\:col-span-8,
  article.lg\:col-span-8,
  div.lg\:col-span-8 {
    grid-column: span 8 / span 8 !important;
    min-width: 0 !important;
    width: 100% !important;
  }
  
  .lg\:col-span-4,
  aside.lg\:col-span-4,
  div.lg\:col-span-4 {
    grid-column: span 4 / span 4 !important;
    min-width: 0 !important;
    width: 100% !important;
    display: block !important;
  }

  .mnj-sticky-sidebar {
    position: sticky !important;
    top: 84px !important;
    align-self: flex-start !important;
  }
}


/* ==========================================================================
   ENHANCED 2-COLUMN DESKTOP/TABLET GRID (ARTICLE ON LEFT, SIDEBAR ON RIGHT)
   ========================================================================== */
@media (min-width: 900px) {
  .grid.lg\:grid-cols-12,
  .grid-cols-1.lg\:grid-cols-12 {
    display: grid !important;
    grid-template-columns: 1fr 340px !important;
    gap: 2rem !important;
    align-items: start !important;
  }

  .lg\:col-span-8,
  article.lg\:col-span-8,
  div.lg\:col-span-8 {
    grid-column: 1 / 2 !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  .lg\:col-span-4,
  aside.lg\:col-span-4,
  div.lg\:col-span-4 {
    grid-column: 2 / 3 !important;
    width: 340px !important;
    min-width: 340px !important;
    display: block !important;
    position: sticky !important;
    top: 84px !important;
    align-self: flex-start !important;
  }
}


/* ==========================================================================
   PREMIUM 4-COLUMN FLOATING FOOTER CARD & DARK BOTTOM BAR (IMAGE 2 REPLICA)
   ========================================================================== */
.mnj-footer-card {
  background: #ffffff !important;
  border-radius: 4px !important;
  padding: 2.25rem 2.5rem !important;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.18) !important;
  border: 1px solid #E2E8F0 !important;
  color: #1E293B !important;
  position: relative !important;
  z-index: 10 !important;
  box-sizing: border-box !important;
}

.mnj-footer-grid {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 2rem !important;
  width: 100% !important;
}

@media (min-width: 640px) and (max-width: 1023px) {
  .mnj-footer-grid {
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 2rem 2.5rem !important;
  }
}

@media (min-width: 1024px) {
  .mnj-footer-grid {
    grid-template-columns: 1.3fr 1fr 1fr 1.2fr !important;
    gap: 2.5rem !important;
  }
}

.mnj-footer-col h3 {
  font-family: var(--font-display) !important;
  font-weight: 800 !important;
  font-size: 1rem !important;
  color: #0F172A !important;
  margin: 0 0 1rem 0 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.05em !important;
}

.mnj-footer-col p {
  font-size: 0.88rem !important;
  line-height: 1.65 !important;
  color: #475569 !important;
  margin: 0 !important;
}

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

.mnj-footer-col ul li {
  margin-bottom: 0.5rem !important;
  list-style: none !important;
}

.mnj-footer-col ul li a {
  color: #475569 !important;
  font-size: 0.88rem !important;
  text-decoration: none !important;
  transition: color 0.2s ease !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

.mnj-footer-col ul li a:hover {
  color: #1D5BB8 !important;
}

.mnj-footer-contact-item {
  display: flex !important;
  align-items: flex-start !important;
  gap: 0.65rem !important;
  margin-bottom: 0.75rem !important;
  font-size: 0.88rem !important;
  color: #475569 !important;
  line-height: 1.5 !important;
}

.mnj-footer-contact-item svg {
  width: 16px !important;
  height: 16px !important;
  min-width: 16px !important;
  min-height: 16px !important;
  color: #1D5BB8 !important;
  flex-shrink: 0 !important;
  margin-top: 3px !important;
}

/* Dark Bottom Bar */
.mnj-footer-bottom {
  background: #1F242D !important;
  padding: 2.5rem 0 2rem !important;
  text-align: center !important;
  width: 100% !important;
}

.mnj-footer-brand-title {
  font-family: var(--font-display) !important;
  font-weight: 900 !important;
  font-size: 2.2rem !important;
  color: #ffffff !important;
  letter-spacing: -0.02em !important;
  margin: 0 !important;
  text-align: center !important;
}

.mnj-footer-social-btn {
  width: 42px !important;
  height: 42px !important;
  border-radius: 50% !important;
  background: #ffffff !important;
  color: #1E293B !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-decoration: none !important;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.15) !important;
  transition: transform 0.2s ease, background 0.2s ease !important;
}

.mnj-footer-social-btn:hover {
  transform: translateY(-2px) !important;
}

.mnj-footer-social-btn.social-wa:hover { background: #25D366 !important; color: #ffffff !important; }
.mnj-footer-social-btn.social-tg:hover { background: #0088CC !important; color: #ffffff !important; }
.mnj-footer-social-btn.social-ig:hover { background: #E1306C !important; color: #ffffff !important; }


/* ==========================================================================
   GENERATEPRESS FULL-WIDTH OVERRIDES (ELIMINATE 800px BODY COMPRESSION)
   ========================================================================== */
html,
body,
body.grid-container,
body.separate-containers,
body.contained-content,
body.contained-nav,
body.one-container {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

#page,
.site,
.site-content,
.site-main {
  max-width: 100% !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
}

.max-w-\[1280px\] {
  max-width: 1280px !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box !important;
}


/* ==========================================================================
   STICKY SIDEBAR (GUARANTEED PINNING ON SCROLL)
   ========================================================================== */
html,
body,
#page,
.site,
.site-content,
.site-main,
main,
.grid,
.grid.lg\:grid-cols-12 {
  overflow: visible !important;
  overflow-x: clip !important;
  overflow-y: visible !important;
  contain: none !important;
}

.mnj-sticky-sidebar,
aside.mnj-sticky-sidebar,
aside.lg\:col-span-4,
.lg\:col-span-4 {
  position: -webkit-sticky !important;
  position: sticky !important;
  top: 84px !important;
  align-self: flex-start !important;
  align-self: start !important;
  z-index: 20 !important;
  height: -webkit-fit-content !important;
  height: -moz-fit-content !important;
  height: fit-content !important;
  display: block !important;
}
/* ==========================================================================
   MOBILE-FRIENDLY TYPOGRAPHY & LAYOUT (SINGLE POST & CATEGORY PAGES)
   ========================================================================== */
@media (max-width: 767px) {
  .job-post-details,
  div.job-post-details {
    padding: 14px 12px !important;
    border-radius: 4px !important;
    font-size: 15px !important;
    line-height: 1.7 !important;
    margin-bottom: 1.5rem !important;
    background: #ffffff !important;
    border: 1px solid #E2E8F0 !important;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05) !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
  }

  .job-post-details p {
    margin-bottom: 0.9rem !important;
    line-height: 1.75 !important;
    font-size: 14.5px !important;
    color: #1E293B !important;
  }

  .job-post-details h1 {
    font-size: 1.35rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    margin-bottom: 0.85rem !important;
    color: #0F172A !important;
  }

  .job-post-details h2,
  .job-post-details h3 {
    font-size: 1.15rem !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    margin-top: 1.25rem !important;
    margin-bottom: 0.65rem !important;
    color: #1D5BB8 !important;
  }

  .job-post-details ul,
  .job-post-details ol {
    padding-left: 1.25rem !important;
    margin-bottom: 1rem !important;
  }

  .job-post-details li {
    margin-bottom: 0.5rem !important;
    line-height: 1.65 !important;
    font-size: 14px !important;
  }

  .job-post-details a {
    color: #1D5BB8 !important;
    text-decoration: underline !important;
    font-weight: 600 !important;
    word-break: break-word !important;
  }

  .category-posts-grid,
  div.category-posts-grid {
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    margin-top: 0.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .category-job-card,
  article.category-job-card {
    padding: 12px 14px !important;
    border-radius: 4px !important;
    border: 1.5px solid #1D5BB8 !important;
  }

  .category-job-card__title {
    font-size: 0.95rem !important;
    line-height: 1.35 !important;
    margin-bottom: 8px !important;
  }

  .category-job-card__meta {
    gap: 10px !important;
    font-size: 11.5px !important;
    margin-bottom: 10px !important;
  }

  .category-job-card__btn {
    padding: 6px 12px !important;
    font-size: 12px !important;
  }

  .sidebar-latest-container,
  aside.mnj-sticky-sidebar {
    width: 100% !important;
    margin-top: 1.5rem !important;
  }
}

/* ==========================================================================
   UNIVERSAL DEVICE PADDING & ALIGNMENT (MOBILE, TABLET, DESKTOP)
   ========================================================================== */
main {
  box-sizing: border-box !important;
}

@media (max-width: 639px) {
  main {
    padding-left: 12px !important;
    padding-right: 12px !important;
    padding-top: 1rem !important;
    padding-bottom: 2rem !important;
  }
  
  .job-post-details {
    padding: 16px 14px !important;
    border-radius: 6px !important;
    border: 1px solid #E2E8F0 !important;
    background: #ffffff !important;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05) !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }

  .category-posts-grid {
    gap: 14px !important;
    margin-top: 0.5rem !important;
  }

  .category-job-card {
    padding: 14px 16px !important;
    border-radius: 6px !important;
    border: 1.5px solid #1D5BB8 !important;
    background: #ffffff !important;
    box-sizing: border-box !important;
    width: 100% !important;
  }
}

@media (min-width: 640px) and (max-width: 1023px) {
  main {
    padding-left: 20px !important;
    padding-right: 20px !important;
  }
  .job-post-details {
    padding: 24px 20px !important;
  }
}

@media (min-width: 1024px) {
  main {
    padding-left: 24px !important;
    padding-right: 24px !important;
  }
  .job-post-details {
    padding: 28px 32px !important;
  }
}
