/* V129 — fully accessible horizontal navigation on narrow screens */
.fw-horizontal-scroll-shell{position:relative;min-width:0;max-width:100%}
.fw-horizontal-scroll-shell::before,.fw-horizontal-scroll-shell::after{content:"";position:absolute;z-index:4;top:0;bottom:0;width:22px;pointer-events:none;opacity:0;transition:opacity .18s ease}
.fw-horizontal-scroll-shell::before{left:0;background:linear-gradient(90deg,#fff 18%,rgba(255,255,255,0))}
.fw-horizontal-scroll-shell::after{right:0;background:linear-gradient(270deg,#fff 18%,rgba(255,255,255,0))}
.fw-horizontal-scroll-shell.can-scroll-left::before,.fw-horizontal-scroll-shell.can-scroll-right::after{opacity:1}
.fw-scroll-arrow{position:absolute;z-index:6;top:50%;width:30px;height:30px;display:none;place-items:center;transform:translateY(-50%);border:1px solid #dce7e1;border-radius:999px;background:rgba(255,255,255,.96);color:#07583c;box-shadow:0 5px 15px rgba(5,70,47,.14);font:900 17px/1 Arial;cursor:pointer;touch-action:manipulation}
.fw-scroll-arrow--left{left:4px}.fw-scroll-arrow--right{right:4px}
.fw-horizontal-scroll-shell.can-scroll-left .fw-scroll-arrow--left,.fw-horizontal-scroll-shell.can-scroll-right .fw-scroll-arrow--right{display:grid}

@media(max-width:900px){
  .v12-category-nav-wrap{overflow:visible!important}
  .v12-category-nav-wrap.fw-horizontal-scroll-shell{padding-inline:0!important}
  .v12-category-nav{box-sizing:border-box!important;max-width:100%!important;width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;scrollbar-width:thin!important;scrollbar-color:rgba(7,88,60,.28) transparent!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;padding-left:12px!important;padding-right:38px!important}
  .v12-category-nav::-webkit-scrollbar{display:block!important;height:3px!important}
  .v12-category-nav::-webkit-scrollbar-thumb{background:rgba(7,88,60,.24)!important;border-radius:10px!important}
  .v12-category-nav::-webkit-scrollbar-track{background:transparent!important}
  .v12-category-nav>a,.v12-category-nav>button{flex:none!important;white-space:nowrap!important}

  .v12-chips.fw-horizontal-scroll-target{display:flex!important;flex-wrap:nowrap!important;justify-content:flex-start!important;max-width:100%!important;width:100%!important;min-width:0!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:smooth!important;scrollbar-width:thin!important;scrollbar-color:rgba(7,88,60,.28) transparent!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important;padding:0 38px 7px 0!important;gap:8px!important}
  .v12-chips.fw-horizontal-scroll-target::-webkit-scrollbar{height:3px!important}
  .v12-chips.fw-horizontal-scroll-target::-webkit-scrollbar-thumb{background:rgba(7,88,60,.24)!important;border-radius:10px!important}
  .v12-chips.fw-horizontal-scroll-target::-webkit-scrollbar-track{background:transparent!important}
  .v12-chips.fw-horizontal-scroll-target button{flex:0 0 auto!important;white-space:nowrap!important}
  .v12-catalog-content>.fw-horizontal-scroll-shell{width:100%!important;max-width:100%!important;overflow:visible!important}
  .v12-catalog-content>.fw-horizontal-scroll-shell::before{display:none}
}

@media(max-width:560px){
  .fw-scroll-arrow{width:28px;height:28px;font-size:15px}
  .v12-category-nav{padding-right:36px!important}
  .v12-chips.fw-horizontal-scroll-target{padding-right:36px!important}
}


/* V131 — global mobile navigation and touch reliability */
.fw-global-mobile-backdrop{position:fixed;inset:0;z-index:1398;background:rgba(5,30,20,.46);opacity:0;visibility:hidden;transition:.22s;touch-action:none}
.fw-global-mobile-backdrop.is-open{opacity:1;visibility:visible}
.fw-global-mobile-menu{position:fixed;z-index:1399;left:0;top:0;bottom:0;width:min(350px,88vw);background:#fff;transform:translateX(-104%);transition:transform .25s ease;box-shadow:24px 0 60px rgba(4,40,25,.22);overflow:auto;-webkit-overflow-scrolling:touch}
.fw-global-mobile-menu.is-open{transform:none}
.fw-global-mobile-menu header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;padding:18px;border-bottom:1px solid #e4ece7;background:#fff}
.fw-global-mobile-menu header strong{font:800 19px/1.2 "Manrope",sans-serif;color:#07583c}
.fw-global-mobile-menu header button{width:42px;height:42px;border:1px solid #dce7e1;border-radius:50%;background:#fff;font-size:26px;line-height:1;touch-action:manipulation}
.fw-global-mobile-menu nav{display:grid;padding:10px 12px 30px}
.fw-global-mobile-menu nav a{display:flex;align-items:center;min-height:50px;padding:0 14px;border-radius:12px;color:#26342e;text-decoration:none;font-weight:750;touch-action:manipulation}
.fw-global-mobile-menu nav a:active{background:#eef7f2;color:#07583c}
body.fw-menu-open{overflow:hidden}
@media(max-width:1050px){
  .fw-header,.fw-header *{box-sizing:border-box}
  .fw-nav-wrap{touch-action:pan-x pan-y!important}
  .fw-nav{width:100%!important;max-width:100%!important;min-width:0!important;touch-action:pan-x pan-y!important;overscroll-behavior-x:contain!important}
  .fw-nav__links{display:flex!important;flex:0 0 auto!important;overflow:visible!important;touch-action:pan-x pan-y!important}
  .fw-nav a,.fw-nav__all{pointer-events:auto!important;touch-action:manipulation!important;-webkit-tap-highlight-color:rgba(7,88,60,.12)}
}
@media(max-width:720px){
  .fw-header{position:relative!important}
  .fw-nav-wrap{position:relative!important;z-index:90!important}
  .fw-nav{padding-bottom:2px!important}
  .fw-search-results{position:fixed!important;left:10px!important;right:10px!important;top:126px!important;width:auto!important;max-height:55vh!important;overflow:auto!important}
}

/* V132 — tablet/mobile header and navigation collision fixes */
@media (min-width:721px) and (max-width:1050px){
  .fw-header__main{
    grid-template-columns:minmax(180px,220px) minmax(220px,1fr) auto!important;
    gap:14px!important;
  }
  .fw-logo{min-width:0!important}
  .fw-logo__text b{font-size:clamp(19px,2.2vw,24px)!important}
  .fw-tools{min-width:max-content!important}
  .fw-tools .fw-cart{padding-inline:8px!important}
  .fw-nav{overflow:hidden!important}
  .fw-nav__all{flex:0 0 auto!important;position:relative!important;z-index:3!important}
  .fw-nav__links{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    overscroll-behavior-x:contain!important;
    touch-action:pan-x pan-y!important;
    scrollbar-width:none!important;
  }
  .fw-nav__links::-webkit-scrollbar{display:none!important}
  .fw-nav__links>a{flex:0 0 auto!important}
  .fw-nav__contact{position:relative!important;right:auto!important;box-shadow:none!important}
}

@media (max-width:720px){
  .fw-header__main{
    grid-template-columns:minmax(0,1fr) auto!important;
  }
  .fw-nav{overflow:hidden!important;align-items:stretch!important}
  .fw-nav__all{
    flex:0 0 auto!important;
    max-width:calc(100vw - 86px)!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  .fw-nav__links{
    flex:1 1 auto!important;
    min-width:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity;
    scrollbar-width:none!important;
  }
  .fw-nav__links::-webkit-scrollbar{display:none!important}
  .fw-nav__links>a{flex:0 0 auto!important;scroll-snap-align:start}
  .fw-nav__contact{position:relative!important;right:auto!important;box-shadow:none!important}
  body{overflow-x:hidden!important}
  .fx-mobile-dock{max-width:calc(100vw - 20px)!important;box-sizing:border-box!important}
}

@media (max-width:420px){
  .fw-nav__all{padding-inline:13px!important;font-size:12px!important}
  .fw-nav a{padding-inline:12px!important;font-size:12px!important}
  .fw-search button{padding-inline:13px!important}
  .fw-tools>a{padding-inline:6px!important}
}

/* V132 — general narrow viewport guards */
.fw-header__main>*{min-width:0}
.fw-search{min-width:0}
.fw-tools{min-width:0}
@media (max-width:1050px){
  .fw-nav-wrap{overflow:hidden!important}
  .fw-nav a,.fw-nav__all{min-width:max-content}
}
@media (max-width:900px){
  .v12-catalog-controls{max-width:100%!important}
  .v12-sort,.v12-sort select{max-width:100%!important}
  .v12-catalog-header>*{min-width:0!important}
  .v12-products-grid,.v12-product-card{max-width:100%!important}
}


/* V134 — vertical scrolling must remain available over every horizontal menu. */
@media (max-width:1050px){
  .fw-nav-wrap,.fw-nav,.fw-nav__links,
  .v12-category-nav,.v12-chips.fw-horizontal-scroll-target{
    touch-action:pan-x pan-y!important;
    overscroll-behavior-y:auto!important;
  }
}
