/* ══════════════════════════════════════════════════════
   MesraHR Elementor Widgets — v2.0
   Design tokens updated from MesraHR Web App UI Kit
══════════════════════════════════════════════════════ */

/* ── DESIGN TOKENS ── */
:root {
  /* Brand */
  --mhr-teal:        #3DBFB8;
  --mhr-teal-d:      #157A74;
  --mhr-teal-deep:   #1A8F88;
  --mhr-teal-lt:     #A8EDE8;
  --mhr-teal-pale:   #E6F9F8;
  --mhr-teal-hero1:  #0a3d38;
  --mhr-teal-hero2:  #0E5651;
  /* Grays (from UI kit) */
  --mhr-gray-800:    #2D3142;
  --mhr-gray-700:    #454E64;
  --mhr-gray-600:    #636D85;
  --mhr-gray-500:    #8A93A8;
  --mhr-gray-300:    #D1D5E0;
  --mhr-gray-200:    #EAECF2;
  --mhr-gray-50:     #F5F6FA;
  /* Status */
  --mhr-success:     #4CAF82;
  --mhr-warning:     #F5A623;
  --mhr-error:       #E05252;
  /* Fonts */
  --mhr-font-display: 'Plus Jakarta Sans', sans-serif;
  --mhr-font-ui:      'Plus Jakarta Sans', sans-serif;
  --mhr-font-body:    'Inter', sans-serif;
  /* Radius */
  --mhr-r-sm:  8px;  --mhr-r-md: 14px;
  --mhr-r-lg:  20px; --mhr-r-xl: 28px;
  --mhr-r-2xl: 36px; --mhr-r-full: 9999px;
}

/* ── KEYFRAMES ── */
@keyframes mhr-ray-pulse { 0%,100%{opacity:.55} 50%{opacity:.8} }
@keyframes mhr-bob       { 0%,100%{transform:translateY(0)} 50%{transform:translateY(6px)} }
@keyframes mhr-fade-rise { from{opacity:0;transform:translateY(20px)} to{opacity:1;transform:none} }

/* ══════════════════════════════════════════
   TITLE BLOCK
══════════════════════════════════════════ */
.mhr-title-block { }

/* Alignment */
.mhr-tb--center   { text-align: center; }
.mhr-tb--center .mhr-eyebrow { justify-content: center; }
.mhr-tb--center .mhr-tb__sub { margin-left: auto; margin-right: auto; }
.mhr-tb--right    { text-align: right; }
.mhr-tb--right .mhr-eyebrow  { justify-content: flex-end; }

/* Badge */
.mhr-tb__badge { margin-bottom: 22px; }
.mhr-badge {
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 16px; border-radius: var(--mhr-r-full);
  font-family: var(--mhr-font-body); font-size: 13px; font-weight: 500;
}
.mhr-badge__dot {
  width: 8px; height: 8px; border-radius: 50%;
  box-shadow: 0 0 0 3px rgba(76,175,130,.25);
  flex-shrink: 0;
}
/* Badge styles */
.mhr-badge--glass {
  background: rgba(255,255,255,.14);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
  border: 1px solid rgba(255,255,255,.3);
  color: rgba(255,255,255,.9);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.2);
}
.mhr-badge--solid   { background: var(--mhr-teal); color: #fff; }
.mhr-badge--outline { background: rgba(61,191,184,.08); color: var(--mhr-teal-d); border: 1.5px solid var(--mhr-teal-lt); }
.mhr-badge--coming-soon {
  background: #FEF3C7; color: #92400E;
  border: 1.5px solid #FDE68A;
  font-weight: 600; letter-spacing: .02em;
}

/* Eyebrow */
.mhr-eyebrow {
  display: inline-flex; align-items: center; gap: 10px;
  font-family: var(--mhr-font-body); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .12em; margin-bottom: 12px;
}
.mhr-eyebrow--tl {
  color: var(--mhr-teal-d);
  padding-left: 14px;
  border-left: 3px solid var(--mhr-teal);
}
.mhr-eyebrow--line {
  color: var(--mhr-gray-600);
}
.mhr-eyebrow--line::before {
  content: '—'; color: var(--mhr-teal);
}
.mhr-eyebrow--pill {
  background: var(--mhr-teal-pale); color: var(--mhr-teal-d);
  padding: 5px 12px; border-radius: var(--mhr-r-full);
}
.mhr-eyebrow--plain { color: var(--mhr-teal-d); }
.mhr-eyebrow--light { color: rgba(168,237,232,.85); border-left-color: var(--mhr-teal-lt); }
.mhr-eyebrow--light.mhr-eyebrow--line::before { color: var(--mhr-teal-lt); }

/* Heading */
.mhr-tb__heading {
  font-family: var(--mhr-font-display);
  font-size: clamp(28px, 4vw, 48px);
  font-weight: normal; line-height: 1.12;
  letter-spacing: -0.02em; margin-bottom: 14px;
}
.mhr-tb--dark-text  .mhr-tb__heading { color: var(--mhr-gray-800); }
.mhr-tb--dark-text  .mhr-tb__heading em { color: var(--mhr-teal-d); font-style: italic; }
.mhr-tb--light-text .mhr-tb__heading { color: #fff; }
.mhr-tb--light-text .mhr-tb__heading em { color: var(--mhr-teal-lt); font-style: italic; }

/* Subtext */
.mhr-tb__sub {
  font-family: var(--mhr-font-body); font-size: 16px;
  line-height: 1.75; max-width: 560px;
}
.mhr-tb--dark-text  .mhr-tb__sub { color: var(--mhr-gray-600); }
.mhr-tb--light-text .mhr-tb__sub { color: rgba(255,255,255,.72); }

/* ══════════════════════════════════════════
   BUTTONS
══════════════════════════════════════════ */
.mhr-btn {
  display: inline-flex; align-items: center; gap: 8px;
  border-radius: var(--mhr-r-full); font-family: var(--mhr-font-body);
  font-weight: 600; border: none; cursor: pointer;
  white-space: nowrap; text-decoration: none;
  transition: all .22s ease;
}

/* Sizes */
.mhr-btn--sm { font-size: 13px; padding: 9px 20px; }
.mhr-btn--md { font-size: 15px; padding: 13px 28px; }
.mhr-btn--lg { font-size: 16px; padding: 16px 36px; }

/* Full width */
.mhr-btn--full { width: 100%; justify-content: center; }

/* Styles */
.mhr-btn--teal {
  background: var(--mhr-teal); color: #fff;
  box-shadow: 0 6px 24px rgba(61,191,184,.35);
}
.mhr-btn--teal:hover {
  background: var(--mhr-teal-d); transform: translateY(-2px);
  box-shadow: 0 12px 32px rgba(61,191,184,.5);
}
.mhr-btn--glass {
  background: rgba(255,255,255,.12); color: #fff;
  border: 1.5px solid rgba(255,255,255,.45);
  backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px);
}
.mhr-btn--glass:hover { background: rgba(255,255,255,.2); transform: translateY(-2px); }

.mhr-btn--wa {
  background: #25D366; color: #fff;
  box-shadow: 0 6px 22px rgba(37,211,102,.38);
}
.mhr-btn--wa:hover { background: #1fbe5a; transform: translateY(-2px); }

.mhr-btn--outline {
  background: rgba(61,191,184,.07); color: var(--mhr-teal-d);
  border: 1.5px solid var(--mhr-teal-lt);
}
.mhr-btn--outline:hover { background: var(--mhr-teal-pale); transform: translateY(-1px); }

.mhr-btn--ghost {
  background: transparent; color: rgba(255,255,255,.8);
  border: 1.5px solid rgba(255,255,255,.25);
}
.mhr-btn--ghost:hover { background: rgba(255,255,255,.08); }

.mhr-btn--chip {
  background: rgba(255,255,255,.09); color: rgba(255,255,255,.88);
  border: 1px solid rgba(255,255,255,.18);
  backdrop-filter: blur(6px); -webkit-backdrop-filter: blur(6px);
  font-size: 14px; padding: 10px 18px;
}
.mhr-btn--chip:hover { background: rgba(255,255,255,.16); transform: translateY(-1px); }

/* ── Button Group ── */
.mhr-btn-group {
  display: flex; align-items: center; gap: 14px;
}
.mhr-btn-group--horizontal { flex-direction: row; }
.mhr-btn-group--stacked    { flex-direction: column; align-items: flex-start; }
.mhr-btn-group--wrap       { flex-wrap: wrap; }

/* ══════════════════════════════════════════
   LIST BLOCK
══════════════════════════════════════════ */
.mhr-list { list-style: none; margin: 0; padding: 0; }

/* Item */
.mhr-list__item {
  display: flex; align-items: flex-start; gap: 12px;
  font-family: var(--mhr-font-body); font-weight: 500;
}
.mhr-list--regular .mhr-list__item { padding: 12px 0; font-size: 15px; }
.mhr-list--compact .mhr-list__item { padding: 7px 0;  font-size: 13px; }
.mhr-list--large   .mhr-list__item { padding: 16px 0; font-size: 16px; }

/* Separators */
.mhr-list--sep-soft   .mhr-list__item { border-bottom: 1px solid rgba(255,255,255,.06); }
.mhr-list--sep-soft.mhr-list--light .mhr-list__item { border-bottom: 1px solid var(--mhr-gray-200); }
.mhr-list--sep-medium .mhr-list__item { border-bottom: 1px solid rgba(255,255,255,.14); }
.mhr-list--sep-medium.mhr-list--light .mhr-list__item { border-bottom: 1px solid var(--mhr-gray-300); }
.mhr-list__item:last-child { border-bottom: none; }

/* Color modes */
.mhr-list--light .mhr-list__item { color: var(--mhr-gray-700); }
.mhr-list--dark  .mhr-list__item { color: rgba(255,255,255,.88); }

/* Icon */
.mhr-list__icon {
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; color: var(--mhr-success);
}
.mhr-list--regular .mhr-list__icon { width: 20px; height: 20px; margin-top: 2px; }
.mhr-list--compact .mhr-list__icon { width: 18px; height: 18px; }
.mhr-list--large   .mhr-list__icon { width: 22px; height: 22px; }

.mhr-list__icon--circle { border-radius: 50%; }
.mhr-list__icon--square { border-radius: 7px; }
.mhr-list__icon--circle,
.mhr-list__icon--square {
  background: rgba(76,175,130,.15);
  width: 28px; height: 28px;
}

/* Dot style */
.mhr-list--dotted .mhr-list__icon { color: var(--mhr-teal); font-size: 18px; line-height: 1; }
.mhr-list__dot { width: 6px; height: 6px; border-radius: 50%; background: var(--mhr-teal); margin-top: 6px; }

/* Numbered */
.mhr-list__num { font-weight: 800; font-size: 13px; }

/* Sublabel */
.mhr-list__sub { display: block; font-size: 12px; margin-top: 2px; opacity: .65; font-weight: 400; }
.mhr-list__text { flex: 1; }

/* ══════════════════════════════════════════
   CARD BASE
══════════════════════════════════════════ */
.mhr-card {
  border-radius: var(--mhr-r-xl);
  padding: 28px;
  transition: all .28s ease;
  position: relative; overflow: visible;
}

/* Backgrounds */
.mhr-card--bg-white       { background: #fff; }
.mhr-card--bg-glass-light {
  background: rgba(255,255,255,.68);
  backdrop-filter: blur(16px) saturate(1.5);
  -webkit-backdrop-filter: blur(16px) saturate(1.5);
}
.mhr-card--bg-glass-dark  {
  background: rgba(14,86,81,.52);
  backdrop-filter: blur(20px) saturate(1.4);
  -webkit-backdrop-filter: blur(20px) saturate(1.4);
}
.mhr-card--bg-gradient    { background: linear-gradient(135deg, var(--mhr-teal-d) 0%, var(--mhr-teal) 100%); }
.mhr-card--bg-transparent { background: transparent; }

/* Blur overrides */
.mhr-card--blur-none   { backdrop-filter: none; -webkit-backdrop-filter: none; }
.mhr-card--blur-soft   { backdrop-filter: blur(8px)  saturate(1.3); -webkit-backdrop-filter: blur(8px)  saturate(1.3); }
.mhr-card--blur-medium { backdrop-filter: blur(16px) saturate(1.5); -webkit-backdrop-filter: blur(16px) saturate(1.5); }
.mhr-card--blur-strong { backdrop-filter: blur(28px) saturate(1.8); -webkit-backdrop-filter: blur(28px) saturate(1.8); }

/* Borders */
.mhr-card--border-glass        { border: 1px solid rgba(255,255,255,.65); box-shadow: 0 2px 20px rgba(61,191,184,.07), inset 0 1px 0 rgba(255,255,255,.85); }
.mhr-card--border-solid        { border: 1px solid rgba(61,191,184,.28); }
.mhr-card--border-gradient-top {
  border: 1px solid rgba(255,255,255,.15);
}
.mhr-card--border-gradient-top::before {
  content: ''; position: absolute; top: 0; left: 0; right: 0; height: 3px;
  background: linear-gradient(90deg, var(--mhr-teal-lt), var(--mhr-teal));
  border-radius: inherit inherit 0 0; border-radius: var(--mhr-r-xl) var(--mhr-r-xl) 0 0;
  opacity: 0; transition: opacity .3s;
}
.mhr-card--border-gradient-top:hover::before { opacity: 1; }

/* Hover effects */
.mhr-card--hover-lift:hover      { transform: translateY(-6px); }
.mhr-card--hover-lift-glow:hover {
  transform: translateY(-6px);
  box-shadow: 0 16px 48px rgba(61,191,184,.18), inset 0 1px 0 rgba(255,255,255,.9);
}
.mhr-card--hover-slide:hover     { transform: translateX(6px); }
.mhr-card--hover-scale:hover     { transform: scale(1.025); }

/* ── Feature type ── */
.mhr-card--feature { display: flex; flex-direction: column; align-items: flex-start; }
.mhr-card--feature .mhr-card__title,
.mhr-card--feature .mhr-card__desc { width: 100%; }
.mhr-card--feature .mhr-card__icon { margin-bottom: 18px; }
.mhr-card--feature .mhr-card__emoji { font-size: 44px; line-height: 1; display: block; filter: drop-shadow(0 4px 10px rgba(61,191,184,.22)); }
.mhr-card--feature .mhr-card__icon img { width: 52px; height: 52px; object-fit: contain; }
.mhr-card--feature .mhr-card__icon i  { font-size: 32px; color: var(--mhr-teal); }
.mhr-card__title {
  font-family: var(--mhr-font-ui); font-size: clamp(14px, 1.8vw, 17px); font-weight: 700;
  color: var(--mhr-gray-800); margin-bottom: 10px; line-height: 1.3;
}
.mhr-card__desc {
  font-family: var(--mhr-font-body); font-size: 14px;
  color: var(--mhr-gray-600); line-height: 1.72;
}
.mhr-card__link {
  display: inline-flex; align-items: center; gap: 6px; margin-top: 14px;
  font-size: 13px; font-weight: 600; color: var(--mhr-teal-d); text-decoration: none;
  transition: gap .2s;
}
.mhr-card__link:hover { gap: 10px; }

/* ── Testimonial type ── */
.mhr-card--testimonial { display: flex; flex-direction: column; }
.mhr-card__stars    { color: var(--mhr-warning); font-size: 15px; letter-spacing: 3px; margin-bottom: 14px; }
.mhr-card__quote    { font-family: var(--mhr-font-display); font-style: italic; font-size: 15px; color: var(--mhr-gray-600); line-height: 1.82; flex: 1; margin-bottom: 22px; }
.mhr-card__author   { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid rgba(61,191,184,.1); }
.mhr-card__avatar   { width: 40px; height: 40px; border-radius: 50%; background: linear-gradient(135deg, var(--mhr-teal), var(--mhr-teal-d)); color: #fff; display: flex; align-items: center; justify-content: center; font-weight: 700; font-size: 13px; flex-shrink: 0; overflow: hidden; }
.mhr-card__avatar img { width: 100%; height: 100%; object-fit: cover; }
.mhr-card__name     { font-family: var(--mhr-font-ui); font-size: 14px; font-weight: 700; color: var(--mhr-gray-800); }
.mhr-card__co       { font-size: 12px; color: var(--mhr-gray-500); margin-top: 1px; }

/* ── Stat type ── */
.mhr-card--stat { display: flex; flex-direction: column; align-items: flex-start; }
.mhr-card--stat .mhr-card__stat-num { font-family: var(--mhr-font-ui); font-size: 32px; font-weight: 800; color: var(--mhr-teal-d); letter-spacing: -.025em; line-height: 1; }
.mhr-card--stat .mhr-card__stat-lbl { font-size: 12px; color: var(--mhr-gray-500); margin-top: 4px; font-weight: 500; }
.mhr-card--stat .mhr-card__stat-sub { font-size: 11px; color: var(--mhr-gray-500); margin-top: 2px; }

/* On dark bg, flip stat colors */
.mhr-card--bg-glass-dark .mhr-card__stat-num { color: var(--mhr-teal-lt); }
.mhr-card--bg-glass-dark .mhr-card__stat-lbl,
.mhr-card--bg-glass-dark .mhr-card__stat-sub  { color: rgba(255,255,255,.55); }

/* ── Why type ── */
.mhr-card--why { display: flex; align-items: center; gap: 16px; }
.mhr-card__why-icon {
  width: 52px; height: 52px; border-radius: 13px;
  display: flex; align-items: center; justify-content: center;
  font-size: 26px; flex-shrink: 0;
}
.mhr-card__why-body h4 { font-family: var(--mhr-font-ui); font-size: 15px; font-weight: 700; color: #fff; margin-bottom: 4px; }
.mhr-card__why-body p  { font-size: 13px; color: rgba(255,255,255,.58); line-height: 1.6; margin: 0; }

/* ── Plain type ── */
.mhr-card--plain .mhr-card__content { font-size: 15px; color: var(--mhr-gray-600); line-height: 1.75; }
.mhr-card--plain .mhr-card__content p { margin-bottom: 12px; }

/* ── Clickable card (whole-card link via stretched overlay) ── */
.mhr-card--clickable { cursor: pointer; }
.mhr-card__stretch { position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
/* keep real inner links/buttons above the overlay */
.mhr-card--clickable .mhr-card__link,
.mhr-card--clickable a:not(.mhr-card__stretch),
.mhr-card--clickable button { position: relative; z-index: 2; }

/* ── Card Badge / Label ── */
.mhr-card__badge {
  position: absolute;
  z-index: 2;
  display: inline-flex; align-items: center;
  padding: 4px 10px;
  border-radius: 20px;
  font-family: var(--mhr-font-body);
  font-size: 11px; font-weight: 700;
  letter-spacing: .04em; text-transform: uppercase;
  white-space: nowrap;
  pointer-events: none;
  /* position vars */
  --badge-offset: 14px;
}
/* Corner positions */
.mhr-card__badge--top-right    { top: var(--badge-offset); right: var(--badge-offset); }
.mhr-card__badge--top-left     { top: var(--badge-offset); left: var(--badge-offset); }
.mhr-card__badge--bottom-right { bottom: var(--badge-offset); right: var(--badge-offset); }
.mhr-card__badge--bottom-left  { bottom: var(--badge-offset); left: var(--badge-offset); }

/* Ribbon positions — card needs overflow:hidden (.mhr-card--ribbon) */
.mhr-card--ribbon { overflow: hidden; }
.mhr-card__badge--ribbon-tr {
  top: 14px; right: -28px;
  width: 110px; justify-content: center;
  padding: 5px 0;
  border-radius: 0;
  transform: rotate(45deg);
  transform-origin: 50% 50%;
}
.mhr-card__badge--ribbon-tl {
  top: 14px; left: -28px;
  width: 110px; justify-content: center;
  padding: 5px 0;
  border-radius: 0;
  transform: rotate(-45deg);
  transform-origin: 50% 50%;
}

/* Badge style variants */
.mhr-card__badge--coming-soon { background: #FEF3C7; color: #92400E; border: 1.5px solid #FDE68A; }
.mhr-card__badge--solid       { background: var(--mhr-teal); color: #fff; }
.mhr-card__badge--outline     { background: transparent; color: var(--mhr-teal-d); border: 1.5px solid var(--mhr-teal); }
.mhr-card__badge--dark        { background: #181D2E; color: #fff; }
.mhr-card__badge--glass       { background: rgba(255,255,255,.18); backdrop-filter: blur(8px); -webkit-backdrop-filter: blur(8px); border: 1px solid rgba(255,255,255,.35); color: #fff; }

/* Orange dot — minimal "coming soon" indicator (text hidden, kept as tooltip) */
.mhr-card__badge--dot {
  width: 12px; height: 12px;
  min-width: 12px;
  padding: 0;
  border-radius: 50%;
  background: #F97316;
  border: 2px solid #fff;
  font-size: 0; letter-spacing: 0;
  pointer-events: auto;
  box-shadow: 0 1px 3px rgba(0,0,0,.18);
  animation: mhr-badge-pulse 2s ease-out infinite;
}
@keyframes mhr-badge-pulse {
  0%   { box-shadow: 0 1px 3px rgba(0,0,0,.18), 0 0 0 0 rgba(249,115,22,.55); }
  70%  { box-shadow: 0 1px 3px rgba(0,0,0,.18), 0 0 0 8px rgba(249,115,22,0); }
  100% { box-shadow: 0 1px 3px rgba(0,0,0,.18), 0 0 0 0 rgba(249,115,22,0); }
}
@media (prefers-reduced-motion: reduce) {
  .mhr-card__badge--dot { animation: none; }
}

/* ── Card Grid ── */
/* Column counts are now set via Elementor responsive selectors on .mhr-card-grid.
   The --cols-N classes remain for backward compatibility only. */
.mhr-card-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.mhr-card-grid--cols-1 { grid-template-columns: 1fr; }
.mhr-card-grid--cols-2 { grid-template-columns: repeat(2, 1fr); }
.mhr-card-grid--cols-3 { grid-template-columns: repeat(3, 1fr); }
.mhr-card-grid--cols-4 { grid-template-columns: repeat(4, 1fr); }
.mhr-card-grid--cols-5 { grid-template-columns: repeat(5, 1fr); }
.mhr-card-grid--cols-6 { grid-template-columns: repeat(6, 1fr); }

/* ══════════════════════════════════════════
   TRUST BAR v2  (responsive flex — layout computed in render())
══════════════════════════════════════════ */
.mhr-tb2 { width: 100%; }
.mhr-tb2__grid {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;          /* default — overridden by scoped <style> in render() */
  justify-content: center;
  align-items: center;
}
.mhr-tb2__item { display: flex; flex-direction: column; align-items: center; width: 100%; }
.mhr-tb2__img-wrap > a { display: block; width: 100%; height: 100%; line-height: 0; }
/* Marquee (auto-scroll) — layout sizing is emitted per-widget in render() */
.mhr-tb2--marquee .mhr-tb2__marquee { overflow: hidden; width: 100%; }
.mhr-tb2--marquee .mhr-tb2__track { display: flex; flex-wrap: nowrap; will-change: transform; }
.mhr-tb2__img-wrap {
  width: 100%; height: 80px; /* default — overridden by responsive slider */
  overflow: hidden; position: relative; flex-shrink: 0;
}
.mhr-tb2__img-wrap img { width: 100%; height: 100%; object-fit: contain; display: block; }
.mhr-tb2__label { width: 100%; padding-top: 6px; text-align: center; font-size: 13px; color: #181D2E; }
.mhr-tb2__label--overlay {
  position: absolute; bottom: 0; left: 0; right: 0;
  background: rgba(0,0,0,.45); color: #fff;
  padding: 4px 8px; text-align: center;
}

/* ══════════════════════════════════════════
   TRUST BAR (legacy — pills / text-only style used in older templates)
══════════════════════════════════════════ */
.mhr-trust-bar {
  display: flex; align-items: center; justify-content: space-between;
  gap: 20px; flex-wrap: wrap; padding: 18px 0;
}
.mhr-trust-bar__label {
  font-family: var(--mhr-font-body); font-size: 11px; font-weight: 700;
  text-transform: uppercase; letter-spacing: .1em; color: var(--mhr-gray-500);
  white-space: nowrap;
}
.mhr-trust-bar__items { display: flex; flex-wrap: wrap; }
.mhr-trust-item { display: flex; align-items: center; gap: 10px; padding: 8px 22px; border-right: 1px solid var(--mhr-gray-200); }
.mhr-trust-item:last-child { border-right: none; }
.mhr-trust-item__ico {
  width: 34px; height: 34px; border-radius: 9px;
  background: var(--mhr-teal-pale); color: var(--mhr-teal-d);
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
}
.mhr-trust-item strong { display: block; font-size: 13px; font-weight: 700; color: var(--mhr-gray-800); }
.mhr-trust-item span   { font-size: 11px; color: var(--mhr-gray-500); }

/* ══════════════════════════════════════════
   STAT ROW
══════════════════════════════════════════ */
.mhr-stat-row { display: grid; grid-template-columns: repeat(2,1fr); gap: 14px; }
.mhr-stat-box {
  padding: 18px 20px; border-radius: var(--mhr-r-lg);
  background: rgba(255,255,255,.75); border: 1px solid rgba(61,191,184,.18);
  backdrop-filter: blur(10px); box-shadow: 0 2px 12px rgba(61,191,184,.07);
}
.mhr-stat-row--dark .mhr-stat-box { background: rgba(255,255,255,.09); border-color: rgba(168,237,232,.15); }
.mhr-stat-box__num { font-family: var(--mhr-font-ui); font-size: 28px; font-weight: 800; color: var(--mhr-teal-d); letter-spacing: -.025em; line-height: 1; }
.mhr-stat-box__lbl { font-size: 12px; color: var(--mhr-gray-500); margin-top: 4px; font-weight: 500; }
.mhr-stat-row--dark .mhr-stat-box__num { color: var(--mhr-teal-lt); }
.mhr-stat-row--dark .mhr-stat-box__lbl { color: rgba(255,255,255,.5); }

/* ══════════════════════════════════════════
   FAQ LIST
══════════════════════════════════════════ */
.mhr-faq-list { display: flex; flex-direction: column; gap: 10px; }
.mhr-faq-item {
  border-radius: var(--mhr-r-lg); overflow: hidden;
  background: rgba(255,255,255,.85);
  border: 1px solid var(--mhr-gray-200);
  box-shadow: 0 2px 10px rgba(61,191,184,.05);
  backdrop-filter: blur(10px);
  transition: all .2s;
}
.mhr-faq-item[open] { border-color: rgba(61,191,184,.3); box-shadow: 0 4px 22px rgba(61,191,184,.12); }
.mhr-faq-item__q {
  display: flex; justify-content: space-between; align-items: center; gap: 16px;
  padding: 18px 22px; cursor: pointer; font-family: var(--mhr-font-ui);
  font-weight: 600; font-size: clamp(14px, 1.6vw, 16px); color: var(--mhr-gray-800);
  list-style: none; user-select: none;
}
.mhr-faq-item__q-text {
  margin: 0; padding: 0; font-size: inherit !important; font-weight: inherit;
  color: inherit; font-family: inherit; line-height: inherit; display: inline;
}
h1.mhr-faq-item__q-text,
h2.mhr-faq-item__q-text,
h3.mhr-faq-item__q-text,
h4.mhr-faq-item__q-text,
h5.mhr-faq-item__q-text,
h6.mhr-faq-item__q-text { font-size: inherit !important; font-weight: inherit; margin: 0; }
.mhr-faq-item__q::-webkit-details-marker { display: none; }
.mhr-faq-item__chev {
  width: 26px; height: 26px; border-radius: 50%;
  background: var(--mhr-teal-pale); color: var(--mhr-teal-d);
  display: flex; align-items: center; justify-content: center;
  flex-shrink: 0; transition: all .2s;
}
.mhr-faq-item[open] .mhr-faq-item__chev { background: var(--mhr-teal); color: #fff; rotate: 45deg; }
.mhr-faq-item__a { padding: 0 22px 18px; font-size: 14px; color: var(--mhr-gray-600); line-height: 1.8; overflow: hidden; }

/* FAQ CTA button — visual defaults; Elementor controls override via selectors */
.mhr-faq-cta {
  display: inline-flex; align-items: center; justify-content: center; gap: 6px;
  font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 600; font-size: 14px;
  text-decoration: none; cursor: pointer; transition: opacity .2s ease, transform .2s ease;
  border: 1.5px solid transparent; line-height: 1;
}
.mhr-faq-cta:hover { opacity: .85; transform: translateY(-1px); }
.mhr-faq-cta.is-primary   { background: #3DBFB8; color: #fff; border-color: #3DBFB8; }
.mhr-faq-cta.is-secondary { background: transparent; color: #3DBFB8; border-color: #3DBFB8; }
.mhr-faq-cta.is-link      { background: transparent; color: #3DBFB8; border-color: transparent; padding-left: 0; padding-right: 0; }

/* ══════════════════════════════════════════
   RESPONSIVE
══════════════════════════════════════════ */
@media(max-width: 960px) {
  /* Card grid columns are handled by Elementor responsive selectors (tablet_default).
     The --cols-N legacy classes fall back to 2 columns on tablet. */
  .mhr-card-grid--cols-3,
  .mhr-card-grid--cols-4 { grid-template-columns: repeat(2, 1fr); }
}
@media(max-width: 640px) {
  /* Card grid legacy classes: single column on mobile */
  .mhr-card-grid--cols-2,
  .mhr-card-grid--cols-3,
  .mhr-card-grid--cols-4 { grid-template-columns: 1fr; }
  .mhr-btn-group--horizontal { flex-direction: column; align-items: stretch; }
  .mhr-btn-group--horizontal .mhr-btn { justify-content: center; }
  .mhr-trust-bar { flex-direction: column; align-items: flex-start; }
  .mhr-trust-bar__items { flex-direction: column; }
  .mhr-trust-item { border-right: none; border-bottom: 1px solid var(--mhr-gray-200); padding: 10px 0; }
  .mhr-trust-item:last-child { border-bottom: none; }
  .mhr-stat-row { grid-template-columns: 1fr 1fr; }

  /* Headings: relax line-height + tracking so multi-line headings don't cramp on mobile */
  .mhr-tb__heading { line-height: 1.2; letter-spacing: -0.01em; }
  .mhr-card__title { line-height: 1.32; }
  .mhr-ib__title   { line-height: 1.3; }
  .mhr-why__title  { line-height: 1.3; }
}

/* ══════════════════════════════════════════
   IMAGE ICON SUPPORT — All card types
   Updated in v2.1 to support image icons
   for feature, why, stat, and plain cards
══════════════════════════════════════════ */

/* Feature card — image icon */
.mhr-card--feature .mhr-card__icon img {
  width: 56px;
  height: 56px;
  object-fit: contain;
  border-radius: 10px;
  display: block;
  filter: drop-shadow(0 4px 12px rgba(61,191,184,.2));
}
.mhr-card--feature .mhr-card__icon i {
  font-size: 36px;
  color: var(--mhr-teal);
  display: block;
}
/* Allow custom sizes (set via selectors in widget) */
.mhr-card--feature .mhr-card__emoji {
  font-size: 44px;
  line-height: 1;
  display: block;
  filter: drop-shadow(0 4px 10px rgba(61,191,184,.22));
}

/* Why card — image icon */
.mhr-card--why .mhr-card__why-icon img {
  width: 28px;
  height: 28px;
  object-fit: contain;
  border-radius: 6px;
  display: block;
}
.mhr-card--why .mhr-card__why-icon .mhr-card__emoji {
  font-size: 24px;
  line-height: 1;
}
.mhr-card--why .mhr-card__why-icon i {
  font-size: 22px;
  color: var(--mhr-teal-lt);
}

/* Stat icon wrapper */
.mhr-card__stat-icon-wrap img {
  object-fit: contain;
  border-radius: 8px;
  display: block;
}
.mhr-card__stat-icon-wrap .mhr-card__emoji {
  line-height: 1;
}

/* Plain card icon wrapper */
.mhr-card__plain-icon-wrap img {
  object-fit: contain;
  border-radius: 8px;
  display: block;
}
.mhr-card__plain-icon-wrap .mhr-card__emoji {
  line-height: 1;
}

/* Testimonial avatar — image or emoji */
.mhr-card__avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: 50%;
}

/* Grid item image icon sizing */
.mhr-card-grid .mhr-card--feature .mhr-card__icon img {
  width: 52px;
  height: 52px;
}
.mhr-card-grid .mhr-card--why .mhr-card__why-icon img {
  width: 26px;
  height: 26px;
}

/* ══════════════════════════════════════════
   FONT UPDATES — Match design system
   Plus Jakarta Sans = UI headings
   Poppins = body text
   Plus Jakarta Sans = display headings
══════════════════════════════════════════ */
:root {
  --mhr-font-display: 'Plus Jakarta Sans', sans-serif;
  --mhr-font-ui:      'Plus Jakarta Sans', sans-serif;
  --mhr-font-body:    'Poppins', sans-serif;
}

/* Card titles use UI font (Plus Jakarta Sans) */
.mhr-card__title,
.mhr-card__name,
.mhr-card__why-body h4,
.mhr-card--stat .mhr-card__stat-num,
.mhr-faq-item__q {
  font-family: var(--mhr-font-ui);
}

/* Card body text uses body font (Poppins) */
.mhr-card__desc,
.mhr-card__co,
.mhr-card__why-body p,
.mhr-card--stat .mhr-card__stat-lbl,
.mhr-card--stat .mhr-card__stat-sub,
.mhr-card--plain .mhr-card__content,
.mhr-faq-item__a,
.mhr-list__item,
.mhr-tb__sub,
.mhr-badge {
  font-family: var(--mhr-font-body);
}

/* Display font (Plus Jakarta Sans) for quotes */
.mhr-card__quote {
  font-family: var(--mhr-font-display);
}

/* Eyebrow/label uses body font */
.mhr-eyebrow,
.mhr-trust-bar__label,
.mhr-trust-item strong,
.mhr-stat-box__lbl {
  font-family: var(--mhr-font-body);
}
.mhr-trust-item strong {
  font-family: var(--mhr-font-ui);
}
.mhr-stat-box__num {
  font-family: var(--mhr-font-ui);
}

/* Title block heading uses display font */
.mhr-tb__heading {
  font-family: var(--mhr-font-display);
}

/* ── Button font update ── */
.mhr-btn {
  font-family: var(--mhr-font-ui);
}

/* ═══════════════════════════
   ICON BOX
═══════════════════════════ */
.mhr-ib { display: flex; }
.mhr-ib--vertical  { flex-direction: column; }
.mhr-ib--horizontal,
.mhr-ib--inline    { flex-direction: row; align-items: flex-start; }
.mhr-ib--center    { align-items: center; text-align: center; }
.mhr-ib--center .mhr-ib__icon { margin-left: auto; margin-right: auto; }

.mhr-ib__title {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: clamp(14px, 1.8vw, 18px);
  font-weight: 700;
  color: var(--mhr-ink);
  margin-bottom: 8px;
}
.mhr-ib__desc {
  font-family: 'Poppins', sans-serif;
  font-size: 13.5px;
  line-height: 1.65;
  color: var(--mhr-gray-600);
  margin: 0;
}
.mhr-ib__link {
  font-family: 'Poppins', sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--mhr-teal-500);
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 12px;
  transition: gap .2s;
}
.mhr-ib__link:hover { gap: 8px; }

/* ═══════════════════════════
   COUNTER
═══════════════════════════ */
.mhr-counter__num {
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-weight: 800;
  line-height: 1;
  margin-bottom: 8px;
}
.mhr-counter__label {
  font-family: 'Poppins', sans-serif;
  font-size: 14px;
}

/* ═══════════════════════════
   PRICE TABLE
═══════════════════════════ */
.mhr-ptable {
  transition: transform .3s ease, box-shadow .3s ease;
}
.mhr-ptable:hover {
  transform: translateY(-4px);
  box-shadow: 0 12px 40px rgba(61,191,184,.15);
}
.mhr-ptable--featured:hover {
  transform: translateY(-12px);
}

/* ═══════════════════════════
   TABS
═══════════════════════════ */
.mhr-tabs__nav { flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
.mhr-tabs__nav::-webkit-scrollbar { display: none; }
.mhr-tab-btn { user-select: none; }
.mhr-tab-panel > *:last-child { margin-bottom: 0; }

/* ═══════════════════════════════════════════════════════════
   TAG-AWARE HEADING DEFAULTS
   These apply BEFORE Elementor's generated CSS kicks in.
   Elementor's inline styles override these when user sets
   a custom size via the panel slider.
═══════════════════════════════════════════════════════════ */

/* ─ Title-Block ─────────────────────────────────── */
h1.mhr-tb__heading { font-size: clamp(30px, 5vw,   64px); }
h2.mhr-tb__heading { font-size: clamp(24px, 3.5vw, 40px); }
h3.mhr-tb__heading { font-size: clamp(20px, 2.5vw, 30px); }
h4.mhr-tb__heading { font-size: clamp(17px, 2vw,   24px); }
h5.mhr-tb__heading { font-size: clamp(15px, 1.8vw, 20px); }
h6.mhr-tb__heading { font-size: clamp(13px, 1.6vw, 17px); }
p.mhr-tb__heading, div.mhr-tb__heading, span.mhr-tb__heading { font-size: clamp(14px, 1.4vw, 16px); }

/* ─ Icon-Box ─────────────────────────────────────── */
h1.mhr-ib__title { font-size: clamp(18px, 2.5vw, 28px); }
h2.mhr-ib__title { font-size: clamp(16px, 2vw,   22px); }
h3.mhr-ib__title { font-size: clamp(14px, 1.8vw, 18px); }
h4.mhr-ib__title { font-size: clamp(13px, 1.6vw, 16px); }
h5.mhr-ib__title { font-size: clamp(12px, 1.4vw, 14px); }
h6.mhr-ib__title { font-size: clamp(11px, 1.2vw, 13px); }

/* ─ Card Feature ─────────────────────────────────── */
h1.mhr-card__title { font-size: clamp(16px, 2.2vw, 26px); }
h2.mhr-card__title { font-size: clamp(15px, 1.8vw, 20px); }
h3.mhr-card__title { font-size: clamp(14px, 1.6vw, 17px); }
h4.mhr-card__title { font-size: clamp(13px, 1.4vw, 15px); }
h5.mhr-card__title { font-size: clamp(12px, 1.2vw, 14px); }
h6.mhr-card__title { font-size: clamp(11px, 1vw,   13px); }

/* ─ Card Why ─────────────────────────────────────── */
h1.mhr-why__title { font-size: clamp(16px, 2.2vw, 26px); }
h2.mhr-why__title { font-size: clamp(14px, 1.8vw, 20px); }
h3.mhr-why__title { font-size: clamp(13px, 1.6vw, 17px); }
h4.mhr-why__title { font-size: clamp(12px, 1.4vw, 15px); }
h5.mhr-why__title { font-size: clamp(11px, 1.2vw, 13px); }
h6.mhr-why__title { font-size: clamp(10px, 1vw,   12px); }

/* ─ Flip-Box ─────────────────────────────────────── */
h1.mhr-flipbox__title { font-size: clamp(18px, 2.5vw, 28px); }
h2.mhr-flipbox__title { font-size: clamp(16px, 2vw,   22px); }
h3.mhr-flipbox__title { font-size: clamp(14px, 1.8vw, 20px); }
h4.mhr-flipbox__title { font-size: clamp(13px, 1.6vw, 17px); }
h5.mhr-flipbox__title { font-size: clamp(12px, 1.4vw, 15px); }
h6.mhr-flipbox__title { font-size: clamp(11px, 1.2vw, 13px); }

/* ─ Timeline ─────────────────────────────────────── */
/* Class-level defaults — Elementor typography / card controls override these. */
.mhr-tl__card { background: #ffffff; border-radius: 12px; padding: 18px 22px; box-shadow: 0 2px 12px rgba(0,0,0,.06); border: 0 solid #E6E9EF; }
.mhr-tl__card.is-hover-lift { transition: transform .25s ease, box-shadow .25s ease; }
.mhr-tl__card.is-hover-lift:hover { transform: translateY(-4px); }
.mhr-tl__card.is-hover-glow:hover { box-shadow: 0 16px 40px rgba(61,191,184,.22); }
.mhr-tl-date  { font-family: 'Poppins', sans-serif; font-size: 12px; font-weight: 600; letter-spacing: .06em; text-transform: uppercase; display: block; margin-bottom: 6px; color: #3DBFB8; }
.mhr-tl-title { font-family: 'Plus Jakarta Sans', sans-serif; font-weight: 700; color: #2D3142; margin: 0 0 8px; line-height: 1.3; }
.mhr-tl-body  { font-family: 'Poppins', sans-serif; font-size: 14px; color: #636D85; line-height: 1.6; }
.mhr-tl-body p { margin: 0; }
h1.mhr-tl-title { font-size: clamp(16px, 2.2vw, 24px); }
h2.mhr-tl-title { font-size: clamp(14px, 1.8vw, 20px); }
h3.mhr-tl-title { font-size: clamp(13px, 1.6vw, 18px); }
h4.mhr-tl-title { font-size: clamp(12px, 1.4vw, 16px); }
h5.mhr-tl-title { font-size: clamp(11px, 1.2vw, 14px); }
h6.mhr-tl-title { font-size: clamp(10px, 1vw,   13px); }

/* ─ Team ─────────────────────────────────────────── */
h1.mhr-team__name { font-size: clamp(15px, 2vw,   24px); }
h2.mhr-team__name { font-size: clamp(14px, 1.8vw, 20px); }
h3.mhr-team__name { font-size: clamp(13px, 1.6vw, 18px); }
h4.mhr-team__name { font-size: clamp(12px, 1.4vw, 16px); }
h5.mhr-team__name { font-size: clamp(11px, 1.2vw, 14px); }
h6.mhr-team__name { font-size: clamp(10px, 1vw,   13px); }
