/* Белый Пушкин — стабильный фон + нормальный мобильный скролл v19
   Без fixed pseudo-layer и отрицательных z-index: фон ставится прямо на body/html. */

:root{
  --bp-bg-fallback:#120c08;
  --bp-bg-desktop-jpg:url('../images/bg-oriental-desktop.jpg');
  --bp-bg-mobile-jpg:url('../images/bg-oriental-mobile.jpg');
}

html{
  width:100%!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background-color:var(--bp-bg-fallback)!important;
  background-image:
    linear-gradient(180deg,rgba(10,7,5,.10),rgba(10,7,5,.24)),
    var(--bp-bg-desktop-jpg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
  scroll-behavior:auto!important;
  -webkit-text-size-adjust:100%;
}

body{
  position:relative!important;
  width:100%!important;
  min-height:100%!important;
  overflow-x:hidden!important;
  overflow-y:auto!important;
  background-color:var(--bp-bg-fallback)!important;
  background-image:
    linear-gradient(180deg,rgba(10,7,5,.10),rgba(10,7,5,.24)),
    var(--bp-bg-desktop-jpg)!important;
  background-size:cover!important;
  background-position:center center!important;
  background-repeat:no-repeat!important;
  background-attachment:scroll!important;
  touch-action:pan-y!important;
  overscroll-behavior-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
}

@supports (background-image:url('../images/bg-oriental-desktop.webp')){
  html,
  body{
    background-image:
      linear-gradient(180deg,rgba(10,7,5,.10),rgba(10,7,5,.24)),
      url('../images/bg-oriental-desktop.webp')!important;
  }
}

body::before,
body::after,
.page-bg{
  display:none!important;
  visibility:hidden!important;
  opacity:0!important;
  content:none!important;
  pointer-events:none!important;
}

main,
#home,
.section,
.hero,
.menu-section,
.menu-groups,
.menu-group,
.menu-grid,
.promo-grid,
.action-section,
.contacts,
.admin-shell,
.admin-panel,
.admin-grid{
  overflow-x:hidden!important;
  overflow-y:visible!important;
  height:auto!important;
  max-height:none!important;
}

.menu-group,
.promo-grid,
.action-section,
.contacts,
.admin-panel,
.menu-grid{
  content-visibility:visible!important;
  contain-intrinsic-size:auto!important;
  contain:none!important;
}

.topbar,
.glass-panel,
.menu-nav,
.category-rail,
.modal-card,
.drawer-panel,
.mobile-app-nav,
.admin-card,
.admin-panel,
.admin-tabs{
  background-color:rgba(45,32,23,.56)!important;
}

@media (max-width:980px){
  html{
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background-color:var(--bp-bg-fallback)!important;
    background-image:
      linear-gradient(180deg,rgba(8,5,3,.06),rgba(8,5,3,.18)),
      var(--bp-bg-mobile-jpg)!important;
    background-size:cover!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-attachment:scroll!important;
  }

  body{
    position:relative!important;
    height:auto!important;
    min-height:100%!important;
    overflow-x:hidden!important;
    overflow-y:auto!important;
    background-color:transparent!important;
    background-image:
      linear-gradient(180deg,rgba(8,5,3,.06),rgba(8,5,3,.18)),
      var(--bp-bg-mobile-jpg)!important;
    background-size:cover!important;
    background-position:center top!important;
    background-repeat:no-repeat!important;
    background-attachment:scroll!important;
    touch-action:pan-y!important;
    overscroll-behavior-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    padding-bottom:calc(76px + env(safe-area-inset-bottom,0px))!important;
  }

  @supports (background-image:url('../images/bg-oriental-mobile.webp')){
    html,
    body{
      background-image:
        linear-gradient(180deg,rgba(8,5,3,.06),rgba(8,5,3,.18)),
        url('../images/bg-oriental-mobile.webp')!important;
    }
  }

  main,
  #home,
  .section,
  .hero,
  .menu-section,
  .menu-groups,
  .menu-group,
  .menu-grid,
  .promo-grid,
  .action-section,
  .contacts{
    overflow-x:hidden!important;
    overflow-y:visible!important;
    height:auto!important;
    max-height:none!important;
    min-height:auto!important;
  }

  body.overlay-open{
    position:fixed!important;
    left:0!important;
    right:0!important;
    width:100%!important;
    overflow:hidden!important;
    touch-action:none!important;
  }

  body:not(.overlay-open){
    position:relative!important;
    top:auto!important;
    overflow-y:auto!important;
    touch-action:pan-y!important;
  }

  .modal.open,
  .drawer.open{
    touch-action:auto!important;
    overscroll-behavior:contain!important;
  }

  .modal-card,
  .drawer-panel,
  .profile-card,
  .search-card,
  .item-modal-card{
    overflow-x:hidden!important;
    overflow-y:auto!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
  }
}
