/* Header contract: themes can tune these values or opt out in theme.json. */
.mr-header-flow-origin { display: block; height: 0; pointer-events: none; }

@media (min-width: 992px) {
  .mr-header-contract.mr-header-compact-enabled .nav-shell,
  .mr-header-contract.mr-header-compact-enabled .nav-shell .header_container,
  .mr-header-contract.mr-header-compact-enabled .brand-media img,
  .mr-header-contract.mr-header-compact-enabled .mr-navbar-nav > li,
  .mr-header-contract.mr-header-compact-enabled .mr-navbar-nav > li > a {
    transition-duration: 220ms;
    transition-property: min-height, max-height, padding, width;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1);
  }

  .mr-header-contract.mr-header-compact-enabled.is-compact .nav-shell,
  .mr-header-contract.mr-header-compact-enabled.is-compact .nav-shell .header_container {
    min-height: var(--mr-header-compact-height, 4rem) !important;
  }

  .mr-header-contract.mr-header-compact-enabled.is-compact .nav-shell .header_container {
    padding-block: var(--mr-header-compact-padding-y, 0.25rem);
  }

  .mr-header-contract.mr-header-compact-enabled.is-compact .brand-media img {
    width: var(--mr-header-compact-logo-width, 110px);
    height: auto;
    max-width: 100%;
    max-height: var(--mr-header-compact-logo-height, 2.75rem);
  }

  .mr-header-contract.mr-header-compact-enabled.is-compact .mr-navbar-nav > li > a {
    min-height: calc(
      var(--mr-header-compact-height, 4rem)
      - var(--mr-header-compact-padding-y, 0.25rem)
      - var(--mr-header-compact-padding-y, 0.25rem)
    );
    padding-block: var(--mr-header-compact-nav-padding-y, 0.75rem);
  }

  .mr-header-contract.mr-header-compact-enabled.is-compact .mr-navbar-nav > li {
    padding-block: 0;
  }
  /* The outer sticky landmark is the permanent expanded layout slot. Only its
     visual shell animates; no per-frame flow spacer or scroll compensation. */
  .mr-header-contract.mr-header-reserved {
    box-sizing: border-box;
    height: var(--mr-header-expanded-height);
    min-height: var(--mr-header-expanded-height);
    background: transparent;
    border-color: transparent;
    box-shadow: none;
    pointer-events: none;
    transition: none;
  }
  .mr-header-contract.mr-header-reserved > .nav-shell {
    position: absolute;
    inset: 0 0 auto;
    box-sizing: border-box;
    height: var(--mr-header-expanded-height);
    min-height: 0 !important;
    border-bottom: var(--mr-header-shell-border, 0);
    box-shadow: var(--mr-header-shell-shadow, none);
    pointer-events: auto;
    transition: height 280ms cubic-bezier(.22, 1, .36, 1);
  }
  .mr-header-contract.mr-header-reserved.is-compact > .nav-shell {
    height: var(--mr-header-compact-measured-height);
  }
  .mr-header-contract.mr-header-reserved > .nav-shell > .header_container {
    box-sizing: border-box;
    height: 100%;
    min-height: 0 !important;
    align-items: center;
    transition: padding 280ms cubic-bezier(.22, 1, .36, 1);
  }
  .mr-header-contract.mr-header-reserved:not(.is-compact) .brand-media img {
    width: var(--mr-header-expanded-logo-width);
    max-height: var(--mr-header-expanded-logo-height);
  }
  .mr-header-contract.mr-header-reserved .brand-media img {
    transition: width 280ms cubic-bezier(.22, 1, .36, 1), max-height 280ms cubic-bezier(.22, 1, .36, 1);
  }
  .mr-header-contract.mr-header-measuring,
  .mr-header-contract.mr-header-measuring *,
  .mr-header-contract.mr-header-before-content > .nav-shell,
  .mr-header-contract.mr-header-before-content > .nav-shell > .header_container,
  .mr-header-contract.mr-header-before-content .brand-media img {
    transition: none !important;
  }

}

@media (prefers-reduced-motion: reduce) {
  .mr-header-contract.mr-header-compact-enabled * {
    transition-duration: 0.01ms !important;
  }
}

/* Optional shared editable desktop action. Empty by default for existing themes. */
.mr-header-action{display:none}
@media(min-width:992px){.mr-header-action{display:block;flex:none}.mr-header-action-content a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:var(--mr-header-action-padding,11px 24px);font:600 var(--mr-header-action-font-size,.875rem)/1.4 var(--mr-font-main);background:var(--mr-header-action-background,var(--mr-color-dark));color:var(--mr-header-action-color,var(--mr-color-light));text-decoration:none}.mr-header-action-content a:hover{background:var(--mr-header-action-hover-background,var(--mr-color-primary))}.mr-header-action-content a:focus-visible{outline:3px solid var(--mr-color-primary);outline-offset:4px}}

/* Keep contract headers in normal mobile flow, including text-only brands.
   Legacy mobile.css uses !important fixed positioning; the contract owns this. */
@media (max-width:991px) {
  .page > header.mr-header-contract {position:sticky !important;top:0}
  .mr-header-contract .nav-shell .header_container {min-height:var(--mr-mobile-header-height,58px);padding-block:0}
}
