/* Only EMMH's new component and explicitly marked mobile elements are changed. */
#emmh-mobile-header { display: none !important; }
body.emmh-mobile-active .emmh-source-header { display: none !important; }
body.emmh-mobile-active #emmh-mobile-header {
  --emmh-purple: #431354; --emmh-dark: #270c35; --emmh-gold: #f3cb4e;
  --emmh-gold-light: #ffe798; --emmh-white: #ffffff;
  display: block !important;
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  z-index: 50;
  overflow: visible !important;
  box-sizing: border-box !important;
  border: 0 !important;
  border-bottom: 1px solid rgba(243,203,78,.55) !important;
  border-radius: 0 !important;
  color: var(--emmh-white) !important;
  background: linear-gradient(115deg, #2b0b39, #501963) !important;
  box-shadow: 0 4px 16px rgba(24,5,33,.12);
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif !important;
  font-size: 16px !important;
  line-height: 1.4 !important;
  text-align: left !important;
  direction: ltr;
  isolation: isolate;
}
body.emmh-mobile-active.emmh-market-space #emmh-mobile-header { padding-top: 56px !important; }
#emmh-mobile-header *, #emmh-mobile-header *::before, #emmh-mobile-header *::after { box-sizing: border-box !important; }
#emmh-mobile-header [hidden] { display: none !important; }
#emmh-mobile-header a, #emmh-mobile-header button {
  font: inherit !important; letter-spacing: normal !important;
  text-decoration: none !important; text-transform: none !important; text-shadow: none !important;
  -webkit-tap-highlight-color: transparent; touch-action: manipulation;
}
#emmh-mobile-header button { cursor: pointer; appearance: none; -webkit-appearance: none; }
#emmh-mobile-header a::before, #emmh-mobile-header a::after,
#emmh-mobile-header button::before, #emmh-mobile-header button::after { content: none !important; }
#emmh-mobile-header svg { width: 22px !important; height: 22px !important; flex: 0 0 auto; display: block; fill: none !important; stroke: currentColor !important; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; }
#emmh-mobile-header svg path { fill: none !important; stroke: currentColor !important; }
#emmh-mobile-header .emmh-bar {
  display: flex !important; align-items: center !important; justify-content: space-between !important;
  gap: 10px !important; width: 100% !important; margin: 0 !important; padding: 10px 14px !important;
  min-height: 84px !important;
}
#emmh-mobile-header .emmh-brand {
  display: flex !important; align-items: center !important; gap: 8px !important;
  flex: 1 1 auto !important; min-width: 0 !important; width: auto !important; height: auto !important;
  max-width: 240px !important; margin: 0 !important; padding: 0 !important;
  border: 0 !important; background: transparent !important; box-shadow: none !important; color: var(--emmh-gold-light) !important;
  border-radius: 6px !important;
}
#emmh-mobile-header img.emmh-logo {
  display: block !important; position: static !important; width: 64px !important; height: 64px !important;
  min-width: 64px !important; max-width: 64px !important; max-height: 64px !important; object-fit: contain !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  box-shadow: none !important; background: transparent !important; transform: none !important;
}
#emmh-mobile-header .emmh-brand-mark { display: grid; place-items: center; width: 52px; height: 52px; border: 1px solid rgba(243,203,78,.65); border-radius: 15px; background: rgba(255,255,255,.07); color: var(--emmh-gold); flex: 0 0 52px; }
#emmh-mobile-header .emmh-brand-mark svg { width: 30px !important; height: 30px !important; }
#emmh-mobile-header .emmh-wordmark { color: var(--emmh-gold-light) !important; font-size: 16px !important; line-height: 1.2 !important; font-weight: 750 !important; white-space: nowrap; }
#emmh-mobile-header .emmh-actions { display: flex !important; align-items: center; gap: 7px; flex: 0 0 auto !important; width: auto !important; margin: 0 !important; padding: 0 !important; }
#emmh-mobile-header .emmh-icon-link, #emmh-mobile-header .emmh-menu-toggle {
  display: inline-flex !important; align-items: center !important; justify-content: center !important;
  position: static !important; flex: 0 0 auto !important; width: 44px !important; min-width: 44px !important;
  height: 44px !important; min-height: 44px !important; max-height: 44px !important;
  padding: 0 !important; margin: 0 !important; border: 1px solid rgba(243,203,78,.8) !important; border-radius: 50% !important;
  color: #fff !important; background: rgba(255,255,255,.045) !important; box-shadow: inset 0 1px 0 rgba(255,255,255,.09) !important;
  transform: none !important;
}
#emmh-mobile-header .emmh-menu-toggle { width: 48px !important; min-width: 48px !important; height: 48px !important; max-height: 48px !important; border-radius: 13px !important; flex-direction: column !important; gap: 1px !important; background: var(--emmh-gold) !important; color: var(--emmh-dark) !important; }
#emmh-mobile-header .emmh-toggle-label { font-size: 9px !important; line-height: 1 !important; font-weight: 800 !important; }
#emmh-mobile-header .emmh-navigation {
  position: static !important; width: 100% !important; max-width: 100% !important;
  height: auto !important; max-height: none !important; overflow: visible !important;
  padding: 4px 14px 16px !important; margin: 0 !important;
  background: var(--emmh-dark) !important; border-top: 1px solid rgba(243,203,78,.25) !important;
}
#emmh-mobile-header .emmh-menu, #emmh-mobile-header .emmh-submenu { list-style: none !important; margin: 0 !important; padding: 0 !important; width: 100% !important; float: none !important; }
#emmh-mobile-header .emmh-item { display: block !important; position: static !important; list-style: none !important; width: 100% !important; height: auto !important; min-width: 0 !important; margin: 0 !important; padding: 0 !important; background: transparent !important; border: 0 !important; box-shadow: none !important; }
#emmh-mobile-header .emmh-row { display: flex !important; align-items: stretch !important; gap: 0 !important; width: 100% !important; border-bottom: 1px solid rgba(255,255,255,.12) !important; margin: 0 !important; padding: 0 !important; }
#emmh-mobile-header .emmh-link {
  display: flex !important; justify-content: space-between !important; align-items: center !important; gap: 12px !important;
  flex: 1 1 auto !important; width: auto !important; min-width: 0 !important; max-width: 100% !important;
  min-height: 50px !important; height: auto !important; margin: 0 !important; padding: 12px 10px !important;
  border: 0 !important; border-radius: 7px !important; background: transparent !important; color: #ffffff !important;
  box-shadow: none !important; font-size: 16px !important; font-weight: 600 !important; line-height: 1.45 !important;
  text-align: left !important; white-space: normal !important; overflow-wrap: anywhere !important;
}
#emmh-mobile-header .emmh-link:hover, #emmh-mobile-header .emmh-link[aria-current="page"] { color: var(--emmh-gold-light) !important; background: rgba(255,255,255,.05) !important; }
#emmh-mobile-header .emmh-sub-toggle { display: grid !important; place-items: center; flex: 0 0 44px !important; width: 44px !important; height: auto !important; min-height: 50px !important; margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 7px !important; background: transparent !important; color: var(--emmh-gold) !important; box-shadow: none !important; }
#emmh-mobile-header [aria-expanded="true"] > svg:last-child:not(:first-child), #emmh-mobile-header .emmh-sub-toggle[aria-expanded="true"] > svg { transform: rotate(180deg); }
#emmh-mobile-header .emmh-submenu { padding: 4px 0 6px 14px !important; border-left: 2px solid rgba(243,203,78,.55) !important; }
#emmh-mobile-header .emmh-submenu .emmh-link { font-size: 14px !important; min-height: 44px !important; font-weight: 500 !important; }
#emmh-mobile-header .emmh-submenu .emmh-sub-toggle { min-height: 44px !important; }
#emmh-mobile-header :is(a,button):focus-visible { outline: 3px solid #ffe798 !important; outline-offset: -3px !important; }

/* Make only the existing homepage filter responsive. No input names or actions change. */
body.emmh-mobile-active form.emmh-search-form { display: block !important; width: 100% !important; max-width: 520px !important; margin: 18px auto !important; padding: 0 16px !important; box-sizing: border-box !important; }
body.emmh-mobile-active form.emmh-search-form > ul { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr); align-items: stretch; gap: 10px !important; margin: 0 !important; padding: 0 !important; width: 100% !important; list-style: none !important; }
body.emmh-mobile-active form.emmh-search-form > ul > li { display: block !important; width: auto !important; min-width: 0 !important; max-width: none !important; margin: 0 !important; padding: 0 !important; float: none !important; }
body.emmh-mobile-active form.emmh-search-form .emmh-search-text, body.emmh-mobile-active form.emmh-search-form .emmh-search-submit { grid-column: 1 / -1; }
body.emmh-mobile-active form.emmh-search-form label { display: block; margin: 0; width: 100%; }
body.emmh-mobile-active form.emmh-search-form :is(input[type="text"],input[type="search"],select) { width: 100% !important; min-width: 0 !important; max-width: 100% !important; height: 46px !important; box-sizing: border-box !important; border: 1px solid #d9d3de !important; border-radius: 10px !important; background: #fff !important; color: #2d1836 !important; font-size: 16px !important; line-height: 1.3 !important; padding: 10px 12px !important; margin: 0 !important; }
body.emmh-mobile-active form.emmh-search-form :is(input[type="submit"],button[type="submit"]) { display: block !important; width: 100% !important; min-height: 46px !important; border: 1px solid #f3cb4e !important; border-radius: 10px !important; padding: 10px 18px !important; margin: 0 !important; font-size: 16px !important; font-weight: 700 !important; color: #2d1836 !important; background: #f3cb4e !important; }

/* Respect the popup plugin's own eligibility/open/closed state. Only the launcher is sized. */
body.emmh-mobile-active.emmh-compact-launcher #emlp-reopen { font-size: 13px !important; line-height: 1.25 !important; min-height: 44px !important; width: auto !important; max-width: calc(100vw - 32px) !important; padding: 10px 14px !important; right: 12px !important; bottom: calc(12px + env(safe-area-inset-bottom, 0px)) !important; border-radius: 999px !important; }
body.emmh-mobile-active.emmh-compact-launcher #emlp-reopen svg { width: 18px !important; height: 18px !important; }
body.emmh-mobile-active.emmh-menu-open #emlp-reopen { visibility: hidden !important; pointer-events: none !important; }
@media (max-width: 359px) { #emmh-mobile-header .emmh-wordmark { display: none !important; } #emmh-mobile-header .emmh-bar { padding-inline: 12px !important; } }
@media (prefers-reduced-motion: reduce) { #emmh-mobile-header * { animation: none !important; transition: none !important; } }

/* 1.1.0: One Quizzes control, two clearly separated groups. */
#emmh-mobile-header .emmh-menu-toggle { width: 56px !important; min-width: 56px !important; }
#emmh-mobile-header .emmh-toggle-label { font-size: 9px !important; line-height: 1.15 !important; }
#emmh-mobile-header .emmh-quiz-intro { display: block !important; margin: 0 !important; padding: 16px 2px 14px !important; }
#emmh-mobile-header .emmh-quiz-title { font: 750 21px/1.25 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; color: var(--emmh-gold-light) !important; text-align: left !important; margin: 0 0 4px !important; padding: 0 !important; }
#emmh-mobile-header .emmh-quiz-caption { font: 400 13px/1.5 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; color: #e3d8eb !important; margin: 0 !important; padding: 0 !important; }
#emmh-mobile-header .emmh-quiz-groups { display: grid !important; grid-template-columns: minmax(0,1fr) minmax(0,1fr) !important; gap: 10px !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
#emmh-mobile-header .emmh-quiz-group { display: block !important; min-width: 0 !important; margin: 0 !important; padding: 10px 8px 8px !important; border: 1px solid rgba(243,203,78,.32) !important; border-radius: 13px !important; background: rgba(255,255,255,.045) !important; box-shadow: none !important; }
#emmh-mobile-header .emmh-group-title { display: flex !important; align-items: center !important; justify-content: space-between !important; gap: 6px !important; margin: 0 0 10px !important; padding: 2px 3px 9px !important; border-bottom: 1px solid rgba(243,203,78,.35) !important; color: var(--emmh-gold-light) !important; font: 750 15px/1.3 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important; }
#emmh-mobile-header .emmh-count { border-radius: 20px !important; background: rgba(243,203,78,.13) !important; padding: 3px 7px !important; color: var(--emmh-gold-light) !important; font-size: 11px !important; font-weight: 650 !important; line-height: 1.3 !important; }
#emmh-mobile-header .emmh-quiz-links { display: block !important; list-style: none !important; margin: 0 !important; padding: 0 2px 0 0 !important; max-height: 340px !important; max-height: min(44dvh, 340px) !important; overflow-x: hidden !important; overflow-y: auto !important; overscroll-behavior: contain; scrollbar-width: thin; scrollbar-color: #c9a851 transparent; }
#emmh-mobile-header .emmh-quiz-item { display: block !important; position: static !important; width: 100% !important; margin: 0 0 6px !important; padding: 0 !important; list-style: none !important; border: 0 !important; background: transparent !important; }
#emmh-mobile-header .emmh-quiz-item:last-child { margin-bottom: 0 !important; }
#emmh-mobile-header .emmh-quiz-link { display: flex !important; align-items: center !important; justify-content: flex-start !important; min-height: 44px !important; height: auto !important; width: 100% !important; max-width: 100% !important; padding: 10px 9px !important; margin: 0 !important; border: 1px solid rgba(243,203,78,.28) !important; border-radius: 9px !important; color: #fff !important; background: linear-gradient(130deg,rgba(112,49,138,.5),rgba(63,19,83,.35)) !important; font-size: 13px !important; font-weight: 600 !important; line-height: 1.4 !important; text-align: left !important; overflow-wrap: anywhere !important; white-space: normal !important; box-shadow: none !important; }
#emmh-mobile-header .emmh-quiz-link:hover, #emmh-mobile-header .emmh-quiz-link[aria-current="page"] { color: #2d1239 !important; background: var(--emmh-gold) !important; border-color: var(--emmh-gold) !important; }
#emmh-mobile-header .emmh-empty { font-size: 12px !important; line-height: 1.5 !important; color: #e3d8eb !important; margin: 0 !important; padding: 4px !important; }
#emmh-mobile-header .emmh-browse-all { display: flex !important; align-items: center !important; justify-content: space-between !important; min-height: 44px !important; margin: 10px 0 0 !important; padding: 10px 12px !important; border: 1px solid rgba(243,203,78,.35) !important; border-radius: 10px !important; color: var(--emmh-gold-light) !important; background: rgba(243,203,78,.06) !important; font-size: 13px !important; font-weight: 650 !important; }
#emmh-mobile-header .emmh-browse-all svg { transform: rotate(-90deg); width: 16px !important; height: 16px !important; }
#emmh-mobile-header .emmh-site-links { margin: 14px 0 0 !important; padding: 12px 0 0 !important; border-top: 1px solid rgba(255,255,255,.12) !important; background: transparent !important; }
#emmh-mobile-header .emmh-site-title { color: #ddd0e7 !important; font: 600 11px/1.3 system-ui,sans-serif !important; text-transform: uppercase !important; letter-spacing: .07em !important; margin: 0 0 8px !important; padding: 0 !important; }
#emmh-mobile-header .emmh-site-links > .emmh-menu { display: flex !important; flex-wrap: wrap !important; gap: 5px !important; }
#emmh-mobile-header .emmh-site-links > .emmh-menu > .emmh-item { width: auto !important; max-width: 100% !important; flex: 0 1 auto !important; }
#emmh-mobile-header .emmh-site-links .emmh-row { border: 0 !important; }
#emmh-mobile-header .emmh-site-links .emmh-link { font-size: 12px !important; min-height: 44px !important; padding: 10px 8px !important; border: 1px solid rgba(255,255,255,.14) !important; background: rgba(255,255,255,.035) !important; }
#emmh-mobile-header .emmh-more { margin: 12px 0 0 !important; color: #fff !important; }
#emmh-mobile-header .emmh-more > summary { cursor: pointer; padding: 10px 4px; min-height: 44px; font-size: 13px; color: var(--emmh-gold-light); }
@media (min-width: 360px) and (max-width: 389px) {
  #emmh-mobile-header img.emmh-logo { width: 52px !important; min-width: 52px !important; max-width: 52px !important; height: 52px !important; max-height: 52px !important; }
  #emmh-mobile-header .emmh-wordmark { font-size: 14px !important; }
  #emmh-mobile-header .emmh-bar { gap: 6px !important; }
  #emmh-mobile-header .emmh-actions { gap: 5px !important; }
}
