/* Site-shell header adapter for integrated curriculum modules. Scoped to avoid changing module UI. */
.mom-shell-header{--shell-bg:#f6f3ed;--shell-ink:#17212b;--shell-muted:#68727d;--shell-accent:#b43b2f;--shell-accent2:#174f4b;--shell-line:#ded8ce;position:sticky;top:0;z-index:100000;background:rgba(246,243,237,.98);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--shell-line);box-shadow:0 3px 12px rgba(23,33,43,.06);color:var(--shell-ink);font-family:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.25}
.mom-shell-header *{box-sizing:border-box}.mom-shell-header .topbar{max-width:1400px;margin:auto;padding:12px 18px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"brand support" "nav nav";align-items:center;gap:10px 16px;overflow:visible}.mom-shell-header .brand{grid-area:brand;justify-self:start;min-width:0;text-decoration:none;color:var(--shell-ink);font-weight:950;letter-spacing:-.02em}.mom-shell-header .brand small{display:block;color:var(--shell-muted);font-size:.73rem;letter-spacing:.09em;text-transform:uppercase}.mom-shell-header .donation-header-link{grid-area:support;justify-self:end;margin:0;position:static;max-width:330px;text-align:right;text-decoration:none;white-space:normal;line-height:1.05}.mom-shell-header .donation-header-link strong{display:block;color:var(--shell-accent);font-size:1.04rem;font-weight:950;letter-spacing:.12em;text-transform:uppercase}.mom-shell-header .donation-header-link small{display:block;margin-top:5px;color:var(--shell-muted);font-size:.67rem;font-weight:850;letter-spacing:.08em;text-transform:uppercase}.mom-shell-header .site-nav{grid-area:nav;width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0;overflow:visible;flex-wrap:nowrap}.mom-shell-header .nav-left,.mom-shell-header .nav-right{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.mom-shell-header .nav-right{justify-content:flex-end;margin-left:auto}.mom-shell-header .site-nav a,.mom-shell-header .nav-button{display:inline-flex;align-items:center;justify-content:center;min-height:36px;border:1px solid var(--shell-line);background:#fff;border-radius:999px;padding:8px 11px;text-decoration:none;font:inherit;font-weight:850;font-size:.86rem;line-height:1;color:var(--shell-ink);cursor:pointer;white-space:nowrap}.mom-shell-header .site-nav a.active{background:var(--shell-ink);color:#fff;border-color:var(--shell-ink)}.mom-shell-header .nav-button{background:#fff;color:var(--shell-ink)}.mom-shell-header .home-button{background:var(--shell-accent2)!important;color:#fff!important;border-color:var(--shell-accent2)!important}.mom-shell-header .nav-group{position:relative;display:inline-flex}.mom-shell-header .nav-panel{display:none;position:absolute;top:calc(100% + 8px);left:0;z-index:100001;min-width:230px;padding:8px;background:#fff;border:1px solid var(--shell-line);border-radius:16px;box-shadow:0 12px 28px rgba(23,33,43,.16)}.mom-shell-header .nav-group.align-right .nav-panel{left:auto;right:0}.mom-shell-header .nav-group.open>.nav-panel{display:grid;gap:4px}.mom-shell-header .nav-panel a{display:flex;justify-content:flex-start;width:100%;border:0;border-radius:10px;padding:10px 11px;background:transparent;color:var(--shell-ink);min-height:auto}.mom-shell-header .nav-panel a:hover,.mom-shell-header .nav-panel a.active{background:#f0ece5;color:var(--shell-ink)}.mom-shell-header .nav-panel a.active::after{content:"✓";margin-left:auto;font-weight:950;color:var(--shell-accent2)}
@media(max-width:900px){.mom-shell-header .site-nav{align-items:flex-start;flex-wrap:wrap}.mom-shell-header .nav-left,.mom-shell-header .nav-right{width:100%;justify-content:flex-start;margin-left:0}.mom-shell-header .nav-group.align-right .nav-panel{left:0;right:auto}}
.mom-module-course-nav{position:relative;z-index:99999;display:flex;gap:8px;justify-content:center;align-items:center;flex-wrap:wrap;padding:9px 14px;background:#17212b;color:#fff;font:800 13px/1.2 ui-rounded,system-ui,-apple-system,"Segoe UI",sans-serif}.mom-module-course-nav a{color:#fff!important;text-decoration:none!important;border:1px solid rgba(255,255,255,.38)!important;background:transparent!important;border-radius:999px!important;padding:7px 10px!important;font:inherit!important;line-height:1.1!important}.mom-module-course-nav .mom-current-module{opacity:.82;padding:7px 4px}.mom-module-course-nav .mom-library-link{background:#174f4b!important;border-color:#174f4b!important}
@media(max-width:560px){.mom-shell-header .topbar{grid-template-columns:1fr;grid-template-areas:"brand" "support" "nav"}.mom-shell-header .donation-header-link{justify-self:start;text-align:left}.mom-shell-header .nav-left,.mom-shell-header .nav-right{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));width:100%;gap:6px}.mom-shell-header .site-nav a,.mom-shell-header .nav-button,.mom-shell-header .nav-group{width:100%;text-align:center}.mom-shell-header .nav-panel{min-width:min(280px,calc(100vw - 36px));text-align:left}.mom-module-course-nav{justify-content:flex-start}}

/* Module engagement header behavior — shared across all 92 Spanish modules. */
body.mom-module-page .mom-shell-header,
body.mom-module-page .mom-module-course-nav{
  transition:padding .18s ease,box-shadow .18s ease,background .18s ease,border-color .18s ease;
}
body.mom-module-page .mom-shell-header .topbar,
body.mom-module-page .mom-shell-header .brand,
body.mom-module-page .mom-shell-header .brand small,
body.mom-module-page .mom-shell-header .site-nav,
body.mom-module-page .mom-shell-header .donation-header-link{
  transition:padding .18s ease,gap .18s ease,font-size .18s ease,opacity .14s ease,max-height .18s ease,margin .18s ease;
}
.mom-shell-header .mom-header-toggle{
  display:none;
  min-height:34px;
  border:1px solid var(--shell-line);
  background:#fff;
  color:var(--shell-ink);
  border-radius:999px;
  padding:7px 11px;
  font:inherit;
  font-weight:900;
  font-size:.82rem;
  line-height:1;
  cursor:pointer;
  white-space:nowrap;
}

/* Every module still carries one curriculum-local header beneath the shared website shell.
   On engagement it must collapse too; otherwise mobile Safari still appears to show a full header. */
body.mom-module-page.mom-module-engaged > header:not(.mom-shell-header){
  display:none!important;
}

/* Once the learner has moved into the module, reduce the full site shell to a compact bar. */
body.mom-module-page.mom-module-engaged .mom-shell-header .topbar{
  max-width:1400px;
  min-height:46px;
  padding:6px 14px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
body.mom-module-page.mom-module-engaged .mom-shell-header .brand{
  font-size:.94rem;
  line-height:1.05;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
body.mom-module-page.mom-module-engaged .mom-shell-header .brand small,
body.mom-module-page.mom-module-engaged .mom-shell-header .donation-header-link,
body.mom-module-page.mom-module-engaged .mom-shell-header .site-nav{
  display:none!important;
}
body.mom-module-page.mom-module-engaged .mom-shell-header .mom-header-toggle{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}
body.mom-module-page.mom-module-engaged .mom-module-course-nav{
  position:sticky;
  top:var(--mom-sticky-header-height,46px);
  z-index:99999;
  min-height:36px;
  padding:4px 10px!important;
  gap:6px;
  flex-wrap:nowrap;
  justify-content:flex-start;
  overflow-x:auto;
  overflow-y:hidden;
  scrollbar-width:none;
  -webkit-overflow-scrolling:touch;
  box-shadow:0 3px 10px rgba(23,33,43,.06);
}
body.mom-module-page.mom-module-engaged .mom-module-course-nav::-webkit-scrollbar{display:none}
body.mom-module-page.mom-module-engaged .mom-module-course-nav a,
body.mom-module-page.mom-module-engaged .mom-module-course-nav .mom-current-module{
  flex:0 0 auto;
  padding:5px 9px!important;
  font-size:.76rem!important;
  white-space:nowrap;
}

/* If the learner asks for the menu, temporarily restore the full header without leaving the module. */
body.mom-module-page.mom-module-menu-open .mom-shell-header .topbar{
  max-width:1400px;
  margin:auto;
  padding:12px 18px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto auto;
  grid-template-areas:"brand support toggle" "nav nav nav";
  align-items:center;
  gap:10px 16px;
}
body.mom-module-page.mom-module-menu-open .mom-shell-header .brand{font-size:inherit;line-height:1.25;white-space:normal}
body.mom-module-page.mom-module-menu-open .mom-shell-header .brand small{display:block!important}
body.mom-module-page.mom-module-menu-open .mom-shell-header .donation-header-link{display:block!important}
body.mom-module-page.mom-module-menu-open .mom-shell-header .site-nav{display:flex!important}
body.mom-module-page.mom-module-menu-open .mom-shell-header .mom-header-toggle{display:inline-flex;grid-area:toggle;justify-self:end;margin-left:0}

/* Anchor navigation must account for the compact header stack. */
html{scroll-padding-top:calc(var(--mom-sticky-header-height,46px) + var(--mom-module-course-nav-height,36px) + 12px)}

@media(max-width:900px){
  body.mom-module-page.mom-module-menu-open .mom-shell-header .site-nav{align-items:flex-start;flex-wrap:wrap}
}
@media(max-width:560px){
  body.mom-module-page.mom-module-engaged .mom-shell-header .topbar{min-height:44px;padding:5px 10px}
  body.mom-module-page.mom-module-engaged .mom-shell-header .brand{font-size:.86rem}
  body.mom-module-page.mom-module-engaged .mom-module-course-nav{top:var(--mom-sticky-header-height,44px)}
  body.mom-module-page.mom-module-menu-open .mom-shell-header .topbar{
    grid-template-columns:1fr auto;
    grid-template-areas:"brand toggle" "nav nav";
  }
  body.mom-module-page.mom-module-menu-open .mom-shell-header .donation-header-link{display:none!important}
  body.mom-module-page.mom-module-menu-open .mom-shell-header .mom-header-toggle{margin-left:0}
}
@media(prefers-reduced-motion:reduce){
  body.mom-module-page .mom-shell-header,
  body.mom-module-page .mom-module-course-nav,
  body.mom-module-page .mom-shell-header *{transition:none!important}
}



/* V3.32 — module screens always use the same three-line menu; Community Support remains visible for non-supporters. */
body.mom-module-page.mom-global-nav .mom-shell-header .topbar{
  max-width:1400px!important;min-height:48px!important;padding:7px 12px!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto auto!important;grid-template-areas:"brand support toggle" "nav nav nav"!important;align-items:center!important;gap:7px 12px!important;
}
body.mom-module-page.mom-global-nav .mom-shell-header .brand{grid-area:brand!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
html:not(.mom-supporter-active) body.mom-module-page.mom-global-nav .mom-shell-header .donation-header-link{grid-area:support!important;display:block!important;justify-self:end!important;text-align:right!important;margin:0!important}
body.mom-module-page.mom-global-nav .mom-shell-header .mom-header-toggle{
  grid-area:toggle!important;justify-self:end!important;display:inline-flex!important;width:44px!important;height:38px!important;min-height:38px!important;padding:0!important;border-radius:11px!important;position:relative!important;font-size:0!important;color:transparent!important;overflow:hidden!important;
}
body.mom-module-page.mom-global-nav .mom-shell-header .mom-header-toggle::before,
body.mom-module-page.mom-global-nav .mom-shell-header .mom-header-toggle::after{content:"";position:absolute;left:10px;right:10px;height:2px;border-radius:999px;background:#17212b;transition:transform .16s ease,box-shadow .16s ease}
body.mom-module-page.mom-global-nav:not(.mom-global-menu-open) .mom-shell-header .mom-header-toggle::before{top:18px;box-shadow:0 -7px 0 #17212b,0 7px 0 #17212b}
body.mom-module-page.mom-global-nav:not(.mom-global-menu-open) .mom-shell-header .mom-header-toggle::after{display:none}
body.mom-module-page.mom-global-nav.mom-global-menu-open .mom-shell-header .mom-header-toggle::before{top:18px;box-shadow:none;transform:rotate(45deg)}
body.mom-module-page.mom-global-nav.mom-global-menu-open .mom-shell-header .mom-header-toggle::after{top:18px;transform:rotate(-45deg)}
body.mom-module-page.mom-global-nav:not(.mom-global-menu-open) .mom-shell-header .site-nav{display:none!important}
body.mom-module-page.mom-global-nav.mom-global-menu-open .mom-shell-header .site-nav{display:flex!important}
body.mom-module-page.mom-global-nav:not(.mom-global-menu-open) .mom-module-course-nav{display:none!important}
body.mom-module-page.mom-global-nav.mom-global-menu-open .mom-module-course-nav{display:flex!important}
@media(max-width:560px){
 body.mom-module-page.mom-global-nav .mom-shell-header .topbar{grid-template-columns:minmax(0,1fr) auto!important;grid-template-areas:"brand toggle" "support support" "nav nav"!important;gap:6px 8px!important}
 html:not(.mom-supporter-active) body.mom-module-page.mom-global-nav .mom-shell-header .donation-header-link{justify-self:start!important;text-align:left!important;max-width:none!important}
 body.mom-module-page.mom-global-nav .mom-shell-header .donation-header-link strong{font-size:.82rem!important;letter-spacing:.07em!important}
 body.mom-module-page.mom-global-nav .mom-shell-header .donation-header-link small{font-size:.58rem!important;margin-top:2px!important}
}

/* V3.40 — attach the sticky module scorecard directly to the visible header.
   When the permanent hamburger collapses the curriculum-local course strip,
   do not reserve the hidden strip's old height. */
body.mom-module-page.mom-global-nav:not(.mom-global-menu-open) .mom-module-scorecard{
  top:var(--mom-sticky-header-height,48px)!important;
}
body.mom-module-page.mom-global-nav.mom-global-menu-open .mom-module-scorecard{
  top:calc(var(--mom-sticky-header-height,120px) + var(--mom-module-course-nav-height,36px))!important;
}
html:has(body.mom-module-page.mom-global-nav:not(.mom-global-menu-open)){
  scroll-padding-top:calc(var(--mom-sticky-header-height,48px) + var(--mom-scorecard-height,58px) + 12px)!important;
}
