/* KBM Theme Core rc.62 — V7 shell motion bridge.
 * Existing header/appbar controllers keep state ownership; this file only
 * harmonises their transitions with the V7 token contract. */

body.kbm-theme-core.kbm-theme-motion-v7{
  --kbm-theme-v7-fast:140ms;
  --kbm-theme-v7-normal:220ms;
  --kbm-theme-v7-slow:340ms;
  --kbm-theme-v7-enter:cubic-bezier(.16,1,.3,1);
  --kbm-theme-v7-standard:cubic-bezier(.2,.7,.2,1);
}

@media(max-width:1320px){
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-nav{
    transition:transform var(--kbm-theme-v7-slow) var(--kbm-theme-v7-enter),opacity var(--kbm-theme-v7-fast) ease,visibility var(--kbm-theme-v7-fast) step-end!important;
  }
  html.kbm-theme-menu-open body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-nav,
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical.kbm-theme-menu-open .kbm-theme-nav{
    transition:transform var(--kbm-theme-v7-slow) var(--kbm-theme-v7-enter),opacity var(--kbm-theme-v7-fast) ease,visibility 0s step-start!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-backdrop{
    transition:opacity var(--kbm-theme-v7-normal) ease,visibility var(--kbm-theme-v7-normal) step-end!important;
  }
  html.kbm-theme-menu-open body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-backdrop,
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical.kbm-theme-menu-open .kbm-theme-backdrop{
    transition:opacity var(--kbm-theme-v7-normal) ease,visibility 0s step-start!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-submenu{
    transition:max-height var(--kbm-theme-v7-normal) var(--kbm-theme-v7-standard),opacity var(--kbm-theme-v7-fast) ease,padding var(--kbm-theme-v7-normal) var(--kbm-theme-v7-standard)!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-nav__toggle::before{
    transition:transform var(--kbm-theme-v7-normal) var(--kbm-theme-v7-standard)!important;
  }
}

@media(min-width:1321px){
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-submenu{
    transition:opacity var(--kbm-theme-v7-fast) ease,transform var(--kbm-theme-v7-normal) var(--kbm-theme-v7-enter),visibility var(--kbm-theme-v7-fast) step-end!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-nav__item.is-open>.kbm-theme-submenu{
    transition:opacity var(--kbm-theme-v7-fast) ease,transform var(--kbm-theme-v7-normal) var(--kbm-theme-v7-enter),visibility 0s step-start!important;
  }
}

body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-search-inline__panel{
  transition:opacity var(--kbm-theme-v7-fast) ease,transform var(--kbm-theme-v7-normal) var(--kbm-theme-v7-enter),visibility var(--kbm-theme-v7-fast) step-end!important;
}
body.kbm-theme-core.kbm-theme-motion-v7.kbm-theme-header-canonical .kbm-theme-search-inline.is-open .kbm-theme-search-inline__panel{
  transition:opacity var(--kbm-theme-v7-fast) ease,transform var(--kbm-theme-v7-normal) var(--kbm-theme-v7-enter),visibility 0s step-start!important;
}

@media(max-width:980px){
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-more__backdrop{
    transition:opacity var(--kbm-theme-v7-normal) ease!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-more__sheet{
    transition:transform var(--kbm-theme-v7-slow) var(--kbm-theme-v7-enter)!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-appbar a,
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-appbar button{
    transition:transform var(--kbm-theme-v7-fast) ease,background-color var(--kbm-theme-v7-fast) ease,box-shadow var(--kbm-theme-v7-fast) ease!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-appbar :is(a,button):active{
    transform:scale(.97)!important;
  }
}

@media(prefers-reduced-motion:reduce){
  body.kbm-theme-core.kbm-theme-motion-v7 :is(
    .kbm-theme-nav,.kbm-theme-backdrop,.kbm-theme-submenu,.kbm-theme-search-inline__panel,
    .kbm-theme-nav__toggle::before,.kbm-theme-mobile-more__backdrop,.kbm-theme-mobile-more__sheet,
    .kbm-theme-mobile-appbar a,.kbm-theme-mobile-appbar button
  ){
    transition:none!important;
    animation:none!important;
  }
  body.kbm-theme-core.kbm-theme-motion-v7 .kbm-theme-mobile-appbar :is(a,button):active{transform:none!important}
}
