/* Sankalp mobile CX completion layer.
 * Keeps each feature inside the viewport while preserving intentional local scrollers.
 */
#kk-spiritual-root .kk-shell-inner,
#kk-spiritual-root .kk-shell-inner > *,
#kk-spiritual-root :is(.kk-mantra-library,.kk-library-detail,.kk-reader,.kk-mantra-workspace,.kk-mantra-catalog){
  min-width:0!important;
  max-width:100%!important;
}

/* Tabs may scroll themselves; they must never make the page pan sideways. */
#kk-spiritual-root .kk-segments,
#kk-spiritual-root .kk-mantra-library > .kk-segments{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  overscroll-behavior-inline:contain!important;
  -webkit-overflow-scrolling:touch;
  scroll-snap-type:x proximity;
}
#kk-spiritual-root .kk-segment-btn,
#kk-spiritual-root .kk-mantra-library .kk-segment-btn{
  flex:0 0 auto!important;
  padding-inline:0!important;
  scroll-snap-align:start;
}

/* The library is a viewport-contained surface. Nested tabs keep their own scrolling. */
#kk-spiritual-root .kk-mantra-library{
  width:100%!important;
  overflow-x:clip!important;
}
#kk-spiritual-root .kk-mantra-library .kk-library-results{
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow-x:clip!important;
}
#kk-spiritual-root .kk-mantra-library .kk-library-results > .kk-list-btn{
  max-width:100%!important;
}
#kk-spiritual-root .kk-mantra-library .kk-list-actions{
  min-width:0!important;
  max-width:16px!important;
  width:16px!important;
  justify-self:end!important;
  overflow:hidden!important;
}
#kk-spiritual-root .kk-mantra-library .kk-list-tail,
#kk-spiritual-root .kk-mantra-library .kk-list-tail svg{
  display:block!important;
  width:16px!important;
  max-width:16px!important;
}

/* Reader controls can wrap without widening the manuscript. */
#kk-spiritual-root .kk-mantra-library :is(.kk-reader-toolbar,.kk-reader-navigation,.kk-reader-passage-controls,.kk-reader-unit-content,.kk-reader-column){
  min-width:0!important;
  max-width:100%!important;
}
#kk-spiritual-root .kk-mantra-library .kk-reader{
  overflow-x:clip!important;
}

/* All modal and header chrome remains reachable at narrow widths. */
#kk-spiritual-root :is(.kk-modal,.kk-deity-dialog){
  max-width:calc(100vw - 24px)!important;
}
#kk-spiritual-root .kk-top-actions,
#kk-spiritual-root .kk-language-switch{
  min-width:0!important;
}

/* Keep Virtual Puja actions legible in both themes even when legacy styles load first. */
#kk-spiritual-root [data-mandir-polish="1"] .kk-mandir-action-buttons > .kk-btn-primary{
  background:var(--kk-accent)!important;
  background-image:none!important;
  border-color:var(--kk-accent)!important;
  color:var(--kk-on-accent)!important;
  box-shadow:none!important;
}

@media(max-width:760px){
  #kk-spiritual-root .kk-shell-inner{
    width:100%!important;
    max-width:100%!important;
    overflow-x:clip!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-library-results > .kk-list-btn{
    grid-template-columns:24px minmax(0,1fr) 16px!important;
    gap:12px!important;
    padding-inline:0!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-list-leading{
    width:24px!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-library-toolbar{
    width:100%!important;
    min-width:0!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-search,
  #kk-spiritual-root .kk-mantra-library .kk-search .kk-input{
    max-width:100%!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-reader-body{
    width:100%!important;
    min-width:0!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-reader-text{
    max-width:100%!important;
    overflow-wrap:anywhere!important;
  }
}

@media(max-width:420px){
  #kk-spiritual-root .kk-top{
    align-items:flex-start!important;
  }
  #kk-spiritual-root .kk-top-actions{
    width:100%!important;
    flex:1 1 100%!important;
  }
  #kk-spiritual-root .kk-language-switch{
    flex:1 1 0!important;
    max-width:none!important;
    overflow-x:auto!important;
    overscroll-behavior-inline:contain!important;
  }
  #kk-spiritual-root .kk-top-account{
    flex:0 1 auto!important;
  }
  #kk-spiritual-root .kk-mantra-library > .kk-segments{
    gap:20px!important;
  }
  #kk-spiritual-root .kk-mantra-library .kk-reader-passage-controls{
    width:100%!important;
  }
}

@media(max-width:340px){
  #kk-spiritual-root .kk-top-account span{
    position:absolute!important;
    width:1px!important;
    height:1px!important;
    padding:0!important;
    margin:-1px!important;
    overflow:hidden!important;
    clip:rect(0,0,0,0)!important;
    white-space:nowrap!important;
    border:0!important;
  }
  #kk-spiritual-root .kk-top-account{
    width:44px!important;
    padding-inline:12px!important;
  }
}

@media(prefers-reduced-motion:reduce){
  #kk-spiritual-root .kk-segments{scroll-behavior:auto!important;}
}
