/* Shakhe viewport fix v5 — hard containment for RTL mobile browsers */
html{width:100%;max-width:100%;overflow-x:clip;overscroll-behavior-x:none}
body.public-body{width:100%;max-width:100%;min-width:0;margin:0;overflow-x:clip;position:relative;overscroll-behavior-x:none}
body.public-body>main{display:block;width:100%;max-width:100%;min-width:0;overflow-x:clip;contain:inline-size}
body.public-body>main>*{min-width:0;max-width:100%}
body.public-body .site-header,body.public-body .site-footer,body.public-body .mobile-nav,body.public-body .flash-stack,body.public-body .site-announcement{max-inline-size:100vw}
body.public-body *{min-inline-size:0}
body.public-body img,body.public-body svg,body.public-body video,body.public-body canvas{max-inline-size:100%;height:auto}

@media(max-width:760px){
  html,body.public-body{inline-size:100%;max-inline-size:100%;overflow-x:clip!important}
  body.public-body>main{inline-size:100vw!important;max-inline-size:100vw!important;overflow-x:clip!important}
  .site-header,.site-footer,.flash-stack,.site-announcement{overflow-x:clip!important;contain:inline-size;transform:none!important;translate:none!important}
  .site-header{inline-size:100vw!important;max-inline-size:100vw!important;left:auto!important;right:auto!important}
  .site-footer{inline-size:100%!important;max-inline-size:100vw!important}
  body.public-body>main>section,
  body.public-body>main>.section,
  body.public-body>main>.home-hero,
  body.public-body>main>.home-service-strip,
  body.public-body>main>.home-category-showcase,
  body.public-body>main>.shop-hero-v2,
  body.public-body>main>.shop-toolbar-v2,
  body.public-body>main>.product-detail-v2,
  body.public-body>main>.menu-hero,
  body.public-body>main>.menu-toolbar-wrap,
  body.public-body>main>.cafe-menu-shell{box-sizing:border-box;max-inline-size:calc(100vw - 24px)!important;margin-inline:auto!important;transform:none!important;translate:none!important;left:auto!important;right:auto!important}
  body.public-body>main>.section,
  body.public-body>main>.home-service-strip,
  body.public-body>main>.home-category-showcase,
  body.public-body>main>.shop-toolbar-v2,
  body.public-body>main>.menu-toolbar-wrap,
  body.public-body>main>.cafe-menu-shell{max-inline-size:calc(100vw - 32px)!important}
  .home-hero,.shop-hero-v2,.product-detail-v2,.menu-hero{inline-size:calc(100vw - 24px)!important}
  .home-service-strip,.home-category-showcase,.section,.shop-toolbar-v2,.menu-toolbar-wrap,.cafe-menu-shell{inline-size:calc(100vw - 32px)!important}
  .home-hero-copy,.product-detail-copy-v2,.menu-hero-copy,.shop-hero-v2>div,.home-category-showcase>div,.home-category-showcase nav,.home-product-grid,.shop-product-grid-v2,.home-cafe-grid,.cafe-menu-grid,.bouquet-builder,.builder-stems,.builder-summary{inline-size:100%!important;max-inline-size:100%!important;min-inline-size:0!important}
  .home-hero:before,.home-hero:after,.shop-hero-v2:before,.shop-hero-v2:after,.menu-hero:before,.menu-hero:after,.bouquet-builder-story:before{max-inline-size:100%;pointer-events:none}
  .hero-flower-scene,.hero-cafe-scene,.shop-hero-art,.menu-hero-cup,.menu-hero-foliage{display:none!important}
  .mobile-nav{left:10px!important;right:10px!important;inline-size:auto!important;max-inline-size:calc(100vw - 20px)!important;margin:0!important;transform:none!important;overflow:hidden!important;contain:inline-size}
  .floating-contact{max-inline-size:calc(100vw - 28px)}
}
