/* MoneySastra — canonical header component
   One geometry across all pages.
*/
.msgh-header{
  position:sticky;
  top:0;
  z-index:1000;
  background:rgba(255,252,245,.95);
  backdrop-filter:blur(10px);
  border-bottom:1px solid #E7E2D7;
  font-family:'Poppins',system-ui,sans-serif;
}
.msgh-stripe{
  display:flex;
  height:5px;
}
.msgh-stripe i{flex:1}

.msgh-inner{
  box-sizing:border-box;
  width:calc(100% - 40px);
  max-width:1260px;
  min-height:64px;
  margin:0 auto;
  padding:0;
  display:flex;
  align-items:center;
  gap:1rem;
}
.msgh-brand{
  display:inline-flex;
  align-items:center;
  gap:.58rem;
  flex:0 0 auto;
  margin:0;
  padding:0;
  color:inherit;
  text-decoration:none;
}
.msgh-brand svg{
  display:block;
  width:30px;
  height:auto;
  flex:0 0 30px;
}
.msgh-word{
  color:#1B7A5A;
  font-size:1.32rem;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
}
.msgh-word b{
  color:#F5A623;
  font-weight:700;
}
.msgh-nav{
  margin:0 0 0 auto;
  padding:0;
  display:flex;
  align-items:center;
  gap:1.28rem;
}
.msgh-nav a{
  margin:0;
  padding:0;
  color:#4F5F58;
  font-family:'Poppins',system-ui,sans-serif;
  font-size:.9rem;
  font-weight:500;
  line-height:1.2;
  text-decoration:none;
  white-space:nowrap;
}
.msgh-nav a:hover{color:#1B7A5A}
.msgh-nav .msgh-member{
  padding:.58rem .9rem;
  border-radius:999px;
  background:#1B7A5A;
  color:#fff;
  font-weight:700;
}
.msgh-nav .msgh-member:hover{
  background:#0E3D2C;
  color:#fff;
}

.msgh-mobile-actions{
  display:none;
  margin-left:auto;
  align-items:center;
  gap:.45rem;
}
.msgh-mobile-member{
  padding:.58rem .72rem;
  border-radius:999px;
  background:#1B7A5A;
  color:#fff;
  font-size:.68rem;
  font-weight:700;
  line-height:1;
  text-decoration:none;
  white-space:nowrap;
}
.msgh-menu{
  display:none;
  width:40px;
  height:40px;
  border:2px solid #1B7A5A;
  border-radius:10px;
  background:#fff;
  color:#0E3D2C;
  align-items:center;
  justify-content:center;
  flex-direction:column;
  cursor:pointer;
}
.msgh-menu span,
.msgh-menu::before,
.msgh-menu::after{
  content:"";
  display:block;
  width:20px;
  height:2px;
  border-radius:2px;
  background:currentColor;
  transition:.18s ease;
}
.msgh-menu span{margin:4px 0}
.msgh-menu.open{
  background:#1B7A5A;
  color:#fff;
}
.msgh-menu.open::before{transform:translateY(6px) rotate(45deg)}
.msgh-menu.open span{opacity:0}
.msgh-menu.open::after{transform:translateY(-6px) rotate(-45deg)}

.msgh-mobile-nav{
  box-sizing:border-box;
  width:calc(100% - 24px);
  max-width:1260px;
  margin:0 auto;
  display:none;
  padding:.38rem;
  border-top:1px solid #E7E2D7;
  background:#FFFCF5;
}
.msgh-mobile-nav.show{display:grid}
.msgh-mobile-nav a{
  min-height:42px;
  display:flex;
  align-items:center;
  padding:.55rem .7rem;
  border-radius:8px;
  color:#4F5F58;
  font-size:.82rem;
  font-weight:500;
  text-decoration:none;
}
.msgh-mobile-nav a:hover{
  background:#F2EEE5;
  color:#0E3D2C;
}

/* Same physical grid for the existing PHP/member header.
   This rule is loaded after member.css. */
@media(min-width:781px){
  html body .msw-header > .msw-shell-wrap.msw-head{
    box-sizing:border-box !important;
    width:calc(100% - 40px) !important;
    max-width:1260px !important;
    min-height:64px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    display:flex !important;
    align-items:center !important;
    gap:1rem !important;
    position:relative !important;
    left:auto !important;
    right:auto !important;
    transform:none !important;
  }
  html body .msw-header > .msw-shell-wrap.msw-head > .msw-logo-brand{
    margin:0 !important;
    flex:0 0 auto !important;
  }
  html body .msw-header > .msw-shell-wrap.msw-head > .msw-nav{
    margin-left:auto !important;
    margin-right:0 !important;
    gap:1.28rem !important;
    position:static !important;
    transform:none !important;
    width:auto !important;
  }
  html body .msw-header > .msw-shell-wrap.msw-head > .msw-nav > a{
    font-size:.9rem !important;
    line-height:1.2 !important;
    white-space:nowrap !important;
  }
}

@media(max-width:780px){
  .msgh-inner{
    width:calc(100% - 24px);
    min-height:60px;
  }
  .msgh-nav{display:none}
  .msgh-mobile-actions{display:flex}
  .msgh-menu{display:flex}
  .msgh-brand svg{
    width:27px;
    flex-basis:27px;
  }
  .msgh-word{font-size:1.17rem}

  html body .msw-header > .msw-shell-wrap.msw-head{
    width:calc(100% - 24px) !important;
    max-width:1260px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
    position:relative !important;
    left:auto !important;
    transform:none !important;
  }
}