/* 2026-05-07 EMERGENCY GLOBAL SCROLL FIX
   Purpose: all pages must vertically scroll normally in browser and Android WebView.
   Fixed header/footer stays. Main document/window scrolls. Pull-refresh can happen only at real page top. */
html,
body{
  height:auto!important;
  min-height:100%!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  position:static!important;
  overscroll-behavior-y:auto!important;
  touch-action:pan-y!important;
  -webkit-overflow-scrolling:auto!important;
  scroll-behavior:auto!important;
}
body.te-app-body,
body.te-page,
.te-app-body,
.te-page{
  height:auto!important;
  min-height:100vh!important;
  max-height:none!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  position:static!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:auto!important;
}
.te-scroll-area,
.te-page-scroll,
.main,
.page-content,
.content,
.content-scroll{
  position:relative!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  min-height:100vh!important;
  overflow:visible!important;
  overflow-x:hidden!important;
  overflow-y:visible!important;
  -webkit-overflow-scrolling:auto!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:auto!important;
}
.te-scroll-area{padding-top:calc(var(--header-h, 140px) + 10px)!important;padding-bottom:calc(var(--footer-h, 64px) + env(safe-area-inset-bottom,0px) + 18px)!important;}
.te-page-scroll{padding-top:calc(var(--te-page-header, 64px) + 12px)!important;padding-bottom:calc(var(--te-page-footer, 58px) + env(safe-area-inset-bottom,0px) + 18px)!important;}
.te-fixed-header,
.te-page-header{position:fixed!important;top:0!important;left:0!important;right:0!important;z-index:9999!important;}
.te-fixed-footer,
.te-page-footer{
  position:fixed!important;
  left:0!important;
  right:0!important;
  bottom:0!important;
  z-index:9999!important;
  display:flex!important;
  grid-template-columns:none!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  justify-content:flex-start!important;
  align-items:stretch!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  white-space:nowrap!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
  -webkit-overflow-scrolling:touch!important;
}
.te-fixed-footer::-webkit-scrollbar,
.te-page-footer::-webkit-scrollbar{display:none!important;}
.te-fixed-footer a,
.te-page-footer a{
  flex:0 0 68px!important;
  min-width:68px!important;
  max-width:68px!important;
  height:100%!important;
  text-decoration:none!important;
}
.te-fixed-footer svg,
.te-page-footer svg{width:23px!important;height:23px!important;flex:0 0 23px!important;}
.te-fixed-footer span,
.te-page-footer span{font-size:9.5px!important;text-decoration:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;}
a,a:visited,a:hover,a:focus,a *,a:visited *,a:hover *,a:focus *{text-decoration:none!important;}
.te-category-strip{
  display:flex!important;
  flex-wrap:nowrap!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  scrollbar-width:none!important;
  -ms-overflow-style:none!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
  scroll-behavior:auto!important;
}
.te-category-strip::-webkit-scrollbar{display:none!important;}
.pd-gallery-scroll{
  overflow-x:auto!important;
  overflow-y:hidden!important;
  -webkit-overflow-scrolling:touch!important;
  touch-action:pan-x!important;
  overscroll-behavior-x:contain!important;
}
@media(max-width:560px){
  :root{--header-h:136px!important;--footer-h:58px!important;--te-page-header:58px!important;--te-page-footer:56px!important;}
  .te-scroll-area{padding-top:calc(var(--header-h) + 8px)!important;padding-bottom:calc(var(--footer-h) + env(safe-area-inset-bottom,0px) + 16px)!important;}
  .te-page-scroll{padding-top:calc(var(--te-page-header) + 10px)!important;padding-bottom:calc(var(--te-page-footer) + env(safe-area-inset-bottom,0px) + 16px)!important;}
  .te-fixed-footer a,.te-page-footer a{flex-basis:64px!important;min-width:64px!important;max-width:64px!important;}
  .te-fixed-footer svg,.te-page-footer svg{width:22px!important;height:22px!important;}
  .te-fixed-footer span,.te-page-footer span{font-size:9px!important;}
}


/* FINAL 2026-05-09: Home title + category row single-line smooth scroll */
@media (min-width: 900px){
  body.home-index .te-category-strip,
  .te-category-strip{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:18px !important;
    max-width:1200px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:0 4px 12px !important;
    grid-template-columns:none !important;
    grid-auto-flow:column !important;
    scroll-behavior:smooth !important;
    -webkit-overflow-scrolling:touch !important;
    white-space:nowrap !important;
    scrollbar-width:thin !important;
  }
  body.home-index .te-category-strip .te-cat-icon,
  .te-category-strip .te-cat-icon{
    flex:0 0 96px !important;
    width:96px !important;
    min-width:96px !important;
    max-width:96px !important;
    display:block !important;
    white-space:normal !important;
  }
  body.home-index .te-category-strip .te-cat-icon span,
  .te-category-strip .te-cat-icon span{
    width:62px !important;
    height:62px !important;
    margin:0 auto 7px !important;
  }
  body.home-index .te-category-strip .te-cat-icon b,
  .te-category-strip .te-cat-icon b{
    display:block !important;
    font-size:13px !important;
    line-height:1.1 !important;
    min-height:30px !important;
    text-align:center !important;
    overflow:hidden !important;
  }
}
@media (max-width: 899px){
  body.home-index .te-category-strip,
  .te-category-strip{
    display:flex !important;
    flex-wrap:nowrap !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    gap:4px !important;
    padding:0 2px 8px !important;
    grid-template-columns:none !important;
    scroll-behavior:smooth !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-x pan-y !important;
    scrollbar-width:none !important;
  }
  body.home-index .te-category-strip::-webkit-scrollbar,
  .te-category-strip::-webkit-scrollbar{display:none !important;}
  body.home-index .te-category-strip .te-cat-icon,
  .te-category-strip .te-cat-icon{
    flex:0 0 calc((100vw - 22px)/5) !important;
    width:calc((100vw - 22px)/5) !important;
    min-width:calc((100vw - 22px)/5) !important;
    max-width:calc((100vw - 22px)/5) !important;
  }
  body.home-index .te-category-strip .te-cat-icon span,
  .te-category-strip .te-cat-icon span{
    width:48px !important;
    height:48px !important;
    margin:0 auto 5px !important;
  }
  body.home-index .te-category-strip .te-cat-icon b,
  .te-category-strip .te-cat-icon b{
    font-size:10px !important;
    line-height:1.05 !important;
    text-align:center !important;
    text-decoration:none !important;
  }
}
