html.roa-app-mode { --roa-native-bottom-inset: 92px; background: #fff; }
html.roa-app-mode body { padding-top: 0 !important; padding-bottom: 112px !important; overscroll-behavior-y: contain; }
html.roa-app-mode body.dev-env { padding-top: 0 !important; }
html.roa-app-mode header,
html.roa-app-mode footer,
html.roa-app-mode #top,
html.roa-app-mode .top-bar,
html.roa-app-mode .topbar,
html.roa-app-mode .scroll-top,
html.roa-app-mode .back-to-top,
html.roa-app-mode #back-top,
html.roa-app-mode #dev-indicator,
html.roa-app-mode .box-top_custom,
html.roa-app-mode .roa-ai-launcher-wrap,
html.roa-app-mode .fixed-bottom-menu { display: none !important; }
html.roa-app-mode body.dev-env .scroll-fixed { top: 0 !important; }
html.roa-app-mode .breadcrumb,
html.roa-app-mode .breadcrumbs { display: none !important; }
html.roa-app-mode body:not(.common-home):not(.product-category):not(.product-search) #content { padding-top: 12px !important; }
/* Float-free account columns keep a transparent content box from covering
   the mobile login/register/forgotten-password links after logout. */
@media (max-width: 767px) {
  html.roa-app-mode body[class*="account-"] .container > .row { display: flex !important; flex-direction: column !important; }
  html.roa-app-mode body[class*="account-"] .container > .row > #content,
  html.roa-app-mode body[class*="account-"] .container > .row > aside { float: none !important; width: 100% !important; }
}
html.roa-app-mode #product-category #mfilter-content-container > :not(.custom-category) { display: none !important; }
html.roa-app-mode #product-category #content,
html.roa-app-mode #product-category #mfilter-content-container,
html.roa-app-mode #product-category .custom-category,
html.roa-app-mode #product-category .filter_box_modf {
  margin-top: 0 !important;
  padding-top: 0 !important;
}
html.roa-app-mode .add_to_cart_sticky_box,
html.roa-app-mode .confirm_sticky_box {
  bottom: var(--roa-native-bottom-inset, 92px) !important;
  transition: opacity 0.4s ease, transform 0.4s ease, bottom 0.22s ease !important;
}
html.roa-app-mode .add_to_cart_sticky_container,
html.roa-app-mode .confirm_sticky_container {
  padding-bottom: 12px !important;
  box-sizing: border-box !important;
}
html.roa-app-mode .apc-mfp-zoom-in.mfp-wrap {
  bottom: var(--roa-native-bottom-inset, 92px) !important;
  height: auto !important;
  max-height: calc(100% - var(--roa-native-bottom-inset, 92px)) !important;
  transition: bottom 0.22s ease, max-height 0.22s ease !important;
}
html.roa-app-mode #roa-cookie-consent .roa-overlay {
  padding-bottom: calc(8px + var(--roa-native-bottom-inset, 0px)) !important;
}
html.roa-app-mode #roa-cookie-consent .roa-panel {
  max-height: calc(100vh - var(--roa-native-bottom-inset, 0px) - 16px) !important;
}
html.roa-app-mode img { -webkit-user-drag: none; }
html.roa-app-mode a,
html.roa-app-mode button { -webkit-tap-highlight-color: rgba(11, 155, 67, 0.12); }
html.roa-app-mode input,
html.roa-app-mode select,
html.roa-app-mode textarea { font-size: 16px; }

/* Home keeps OpenCart as the data and commerce source, while app mode presents
   the active modules as a compact touch-first storefront. These rules are also
   mirrored in the native document-start fallback for stores still updating the
   connector. */
html.roa-app-mode.roa-app-home,
html.roa-app-mode.roa-app-home body {
  background: #f4f8f2 !important;
}
html.roa-app-mode.roa-app-home body {
  color: #17231b;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
}
html.roa-app-mode.roa-app-home .wrapper,
html.roa-app-mode.roa-app-home #content {
  overflow-x: hidden !important;
}
html.roa-app-mode.roa-app-home #content {
  padding: 0 0 12px !important;
  background: transparent !important;
}
html.roa-app-mode.roa-app-home #content > .main-row {
  margin: 0 !important;
  padding: 0 12px !important;
  background: transparent !important;
}
html.roa-app-mode.roa-app-home #content > .main-row > .container,
html.roa-app-mode.roa-app-home #content > .main-row > .container > .row,
html.roa-app-mode.roa-app-home #content .main-col,
html.roa-app-mode.roa-app-home #content .row.sub-row,
html.roa-app-mode.roa-app-home #content .sub-col {
  width: 100% !important;
  max-width: none !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
}

/* The campaign strip and slider use their own intrinsic proportions. */
html.roa-app-mode.roa-app-home #content > .main-row:first-child {
  padding-top: 8px !important;
}
html.roa-app-mode.roa-app-home #content > .main-row:first-child .sub-col > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  margin: 0 0 8px !important;
  border-radius: 10px;
  object-fit: contain !important;
}
html.roa-app-mode.roa-app-home #content > .main-row:not(:first-child) .sub-col > img[width="1140"][height="120"] {
  display: none !important;
}
html.roa-app-mode.roa-app-home .slider-container.home_slider {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 16px !important;
  overflow: hidden !important;
  border-radius: 15px;
  background: #e7efe5;
  box-shadow: 0 8px 22px rgba(30, 91, 47, 0.12);
}
html.roa-app-mode.roa-app-home .home_slider .swiper,
html.roa-app-mode.roa-app-home .home_slider .swiper-wrapper,
html.roa-app-mode.roa-app-home .home_slider .swiper-slide,
html.roa-app-mode.roa-app-home .home_slider .slide-link {
  height: auto !important;
  min-height: 0 !important;
}
html.roa-app-mode.roa-app-home .home_slider .slide-link {
  display: block !important;
}
html.roa-app-mode.roa-app-home .home_slider .slide-link > img,
html.roa-app-mode.roa-app-home .home_slider .swiper-slide > img {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  max-height: none !important;
  object-fit: contain !important;
}
html.roa-app-mode.roa-app-home .home_slider .slide-caption:empty,
html.roa-app-mode.roa-app-home .home_slider .slide-caption .content:empty {
  display: none !important;
}
html.roa-app-mode.roa-app-home .slider-container.home_slider .nivo-directionNav,
html.roa-app-mode.roa-app-home .home_slider .swiper-button-next,
html.roa-app-mode.roa-app-home .home_slider .swiper-button-prev {
  display: none !important;
}

/* The native header already covers utility promises, while the inspiration
   carousel duplicates the featured category row in the compact home. */
html.roa-app-mode.roa-app-home .banner-static,
html.roa-app-mode.roa-app-home #roa-home-banners-carousel-v1 {
  display: none !important;
}

html.roa-app-mode.roa-app-home .special-categories-module,
html.roa-app-mode.roa-app-home .products-container,
html.roa-app-mode.roa-app-home .reviews-section {
  margin: 0 0 22px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .block-title,
html.roa-app-mode.roa-app-home .products-container .block-title,
html.roa-app-mode.roa-app-home .reviews-section .block-title {
  min-height: 0 !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: left !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .block-title > p,
html.roa-app-mode.roa-app-home .products-container .block-title > p {
  display: none !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .block-title h3,
html.roa-app-mode.roa-app-home .products-container .block-title h3,
html.roa-app-mode.roa-app-home .reviews-section .block-title h3 {
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #142019 !important;
  font-size: 20px !important;
  font-weight: 750 !important;
  line-height: 1.18 !important;
  letter-spacing: -0.3px !important;
  text-align: left !important;
  text-transform: none !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .block-title h3::before,
html.roa-app-mode.roa-app-home .special-categories-module .block-title h3::after,
html.roa-app-mode.roa-app-home .products-container .block-title h3::before,
html.roa-app-mode.roa-app-home .products-container .block-title h3::after {
  display: none !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .pt-content,
html.roa-app-mode.roa-app-home .products-container .pt-content,
html.roa-app-mode.roa-app-home .special-categories-module .swiper-viewport,
html.roa-app-mode.roa-app-home .products-container .swiper-viewport {
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* Featured categories remain data-driven and all items stay reachable by a
   native horizontal swipe. */
html.roa-app-mode.roa-app-home .featured-categories-content {
  width: 100% !important;
  padding: 1px 0 3px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
html.roa-app-mode.roa-app-home .featured-categories-content::-webkit-scrollbar,
html.roa-app-mode.roa-app-home .products-container .swiper-container::-webkit-scrollbar,
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs::-webkit-scrollbar,
html.roa-app-mode.roa-app-home .reviews_swiper::-webkit-scrollbar {
  display: none;
}
html.roa-app-mode.roa-app-home .featured-categories-content > .swiper-wrapper {
  display: flex !important;
  width: max-content !important;
  gap: 8px !important;
}
html.roa-app-mode.roa-app-home .featured-categories-content .swiper-slide {
  flex: 0 0 clamp(104px, calc((100vw - 40px) / 3), 150px) !important;
  width: clamp(104px, calc((100vw - 40px) / 3), 150px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  scroll-snap-align: start;
}
html.roa-app-mode.roa-app-home .special-categories-module .category-content {
  height: 100% !important;
  padding: 0 0 7px !important;
  overflow: hidden;
  border: 1px solid rgba(49, 94, 59, 0.11) !important;
  border-radius: 14px !important;
  background: rgba(255, 255, 255, 0.94) !important;
  box-shadow: 0 5px 16px rgba(35, 89, 47, 0.08) !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .category-content > a {
  display: block !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  overflow: hidden;
  border-radius: 13px 13px 10px 10px;
  background: #fff;
}
html.roa-app-mode.roa-app-home .special-categories-module .category-content img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: contain !important;
  object-position: center !important;
  transform: none !important;
}
html.roa-app-mode.roa-app-home .special-categories-module h4.name {
  display: -webkit-box !important;
  min-height: 27px !important;
  margin: 6px 3px 0 !important;
  overflow: hidden !important;
  color: #17231b !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  line-height: 1.18 !important;
  text-align: center !important;
  text-transform: none !important;
  font-family: inherit !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
html.roa-app-mode.roa-app-home .special-categories-module h4.name a {
  color: inherit !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
}
html.roa-app-mode.roa-app-home .special-categories-module .total-items,
html.roa-app-mode.roa-app-home .special-categories-module .swiper-button-next,
html.roa-app-mode.roa-app-home .special-categories-module .swiper-button-prev,
html.roa-app-mode.roa-app-home .special-categories-module .swiper-pagination {
  display: none !important;
}

/* Product modules become two-up, swipeable cards without cloning product data
   or replacing the storefront's cart and wishlist actions. */
html.roa-app-mode.roa-app-home .products-container .swiper-container {
  width: 100% !important;
  padding: 1px 0 5px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
  -webkit-overflow-scrolling: touch;
}
html.roa-app-mode.roa-app-home .products-container .swiper-wrapper {
  display: flex !important;
  width: max-content !important;
  gap: 10px !important;
}
html.roa-app-mode.roa-app-home .products-container .product-thumb {
  flex: 0 0 clamp(154px, calc((100vw - 34px) / 2), 220px) !important;
  width: clamp(154px, calc((100vw - 34px) / 2), 220px) !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  border: 1px solid rgba(49, 94, 59, 0.11) !important;
  border-radius: 16px !important;
  background: #fff !important;
  box-shadow: 0 7px 20px rgba(35, 89, 47, 0.09) !important;
  scroll-snap-align: start;
}
html.roa-app-mode.roa-app-home .products-container .grid-style,
html.roa-app-mode.roa-app-home .products-container .product-item {
  height: 100% !important;
  min-height: 0 !important;
}
html.roa-app-mode.roa-app-home .products-container .product-item {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
  border: 0 !important;
  background: #fff !important;
}
html.roa-app-mode.roa-app-home .products-container .product-item > .image {
  position: relative !important;
  width: 100% !important;
  aspect-ratio: 1 / 1;
  margin: 0 !important;
  overflow: hidden !important;
  background: #f3f6f1 !important;
}
html.roa-app-mode.roa-app-home .products-container .product-item > .image > a {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
}
html.roa-app-mode.roa-app-home .products-container .product-item > .image img {
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  max-height: none !important;
  margin: 0 !important;
  object-fit: contain !important;
}
html.roa-app-mode.roa-app-home .products-container .button-group {
  position: absolute !important;
  z-index: 2 !important;
  top: 8px !important;
  right: 8px !important;
  bottom: auto !important;
  left: auto !important;
  display: block !important;
  width: auto !important;
  height: auto !important;
  margin: 0 !important;
  opacity: 1 !important;
  visibility: visible !important;
  transform: none !important;
}
html.roa-app-mode.roa-app-home .products-container .button-group .inner {
  display: block !important;
  width: auto !important;
  height: auto !important;
}
html.roa-app-mode.roa-app-home .products-container .button-wishlist {
  display: grid !important;
  width: 44px !important; min-width: 44px !important;
  height: 44px !important; min-height: 44px !important;
  padding: 0 !important; place-items: center;
  border: 1px solid rgba(39,75,48,.16) !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.96) !important;
  box-shadow: none !important; font-size: 0 !important;
  opacity: 1 !important; transform: none !important;
}
html.roa-app-mode.roa-app-home .products-container .button-wishlist::before {
  content: "" !important; display: block !important;
  width: 22px !important; height: 22px !important;
  background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23758195' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.8 4.6a5.5 5.5 0 0 0-7.8 0L12 5.7l-1.1-1.1a5.5 5.5 0 0 0-7.8 7.8L12 21l8.8-8.6a5.5 5.5 0 0 0 0-7.8Z'/%3E%3C/svg%3E") center/contain no-repeat !important;
}
html.roa-app-mode.roa-app-home .products-container .button-wishlist > *,
html.roa-app-mode.roa-app-home .products-container .button-wishlist::after,
html.roa-app-mode.roa-app-home .products-container .button-cart,
html.roa-app-mode.roa-app-home .products-container .button-compare {
  display: none !important;
}
html.roa-app-mode.roa-app-home .products-container .caption {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: column !important;
  min-height: 126px !important;
  padding: 10px 10px 11px !important;
  text-align: left !important;
}
html.roa-app-mode.roa-app-home .products-container .caption h4 {
  display: -webkit-box !important;
  min-height: 36px !important;
  max-height: 36px !important;
  margin: 0 0 7px !important;
  overflow: hidden !important;
  color: #152019 !important;
  font-size: 14px !important;
  font-weight: 650 !important;
  line-height: 1.28 !important;
  text-align: left !important;
  text-transform: none !important;
  font-family: inherit !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
html.roa-app-mode.roa-app-home .products-container .caption h4 a {
  color: inherit !important;
  font-family: inherit !important;
}
html.roa-app-mode.roa-app-home .products-container .manufacture-product,
html.roa-app-mode.roa-app-home .products-container .rating,
html.roa-app-mode.roa-app-home .products-container .button-view-more,
html.roa-app-mode.roa-app-home .products-container .swiper-button-next,
html.roa-app-mode.roa-app-home .products-container .swiper-button-prev,
html.roa-app-mode.roa-app-home .products-container .swiper-pagination {
  display: none !important;
}
html.roa-app-mode.roa-app-home .products-container .price {
  min-height: 24px !important;
  margin: auto 0 8px !important;
  color: #07963f !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  text-align: left !important;
  font-variant-numeric: tabular-nums;
  font-family: inherit !important;
}
html.roa-app-mode.roa-app-home .products-container .price-new {
  color: #07963f !important;
}
html.roa-app-mode.roa-app-home .products-container .price-old {
  margin-left: 3px !important;
  color: #7b857e !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}
html.roa-app-mode.roa-app-home .products-container .button-add-to-cart-holder {
  min-height: 38px !important;
  margin: auto 0 0 !important;
}
html.roa-app-mode.roa-app-home .products-container .button-add-to-cart {
  display: block !important;
  width: 100% !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 8px 7px !important;
  border: 0 !important;
  border-radius: 10px !important;
  background: linear-gradient(135deg, #08a94a, #078e3c) !important;
  color: #fff !important;
  box-shadow: 0 5px 12px rgba(7, 142, 60, 0.2) !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  white-space: normal !important;
  font-family: inherit !important;
}
html.roa-app-mode.roa-app-home .products-container .button-add-to-cart:active,
html.roa-app-mode.roa-app-home .products-container .button-wishlist:active {
  transform: scale(0.97) !important;
}
html.roa-app-mode.roa-app-home .products-container .no-stock-product {
  display: grid !important;
  min-height: 38px !important;
  margin: 0 !important;
  padding: 7px !important;
  place-items: center;
  border-radius: 10px !important;
  background: #edf1ec !important;
  color: #667068 !important;
  font-size: 11px !important;
  font-weight: 650 !important;
  line-height: 1.15 !important;
  text-align: center !important;
}
html.roa-app-mode.roa-app-home .products-container .box-label {
  position: static !important;
  margin: -2px 0 5px !important;
}
html.roa-app-mode.roa-app-home .products-container .pro-label {
  display: inline-block !important;
  padding: 3px 6px !important;
  border-radius: 6px !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

html.roa-app-mode.roa-app-home .tabs-product .block-title {
  display: block !important;
}
html.roa-app-mode.roa-app-home .tabs-product .tabs-style {
  width: 100% !important;
  margin: 9px 0 0 !important;
  overflow: hidden !important;
}
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs {
  display: flex !important;
  width: 100% !important;
  gap: 7px !important;
  margin: 0 !important;
  padding: 0 0 2px !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  border: 0 !important;
  white-space: nowrap !important;
  scrollbar-width: none;
}
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs > li {
  display: flex !important;
  float: none !important;
  margin: 0 !important;
}
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs > li > a {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  box-sizing: border-box !important;
  height: 34px !important;
  min-height: 34px !important;
  margin: 0 !important;
  padding: 0 10px !important;
  border: 1px solid rgba(44, 89, 55, 0.12) !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.76) !important;
  color: #4b594f !important;
  font-size: 12px !important;
  font-weight: 650 !important;
  line-height: 1.15 !important;
  text-align: center !important;
  text-transform: none !important;
}
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs > li > a > span {
  display: block !important;
  font: inherit !important;
  line-height: inherit !important;
}
html.roa-app-mode.roa-app-home .tabs-product .nav-tabs > li.active > a {
  border-color: rgba(7, 150, 63, 0.2) !important;
  background: #e5f5e9 !important;
  color: #087f38 !important;
}

/* Social proof remains available lower on Home without dominating the product
   modules. */
html.roa-app-mode.roa-app-home .reviews-section {
  padding: 12px !important;
  border: 1px solid rgba(49, 94, 59, 0.1) !important;
  border-radius: 17px !important;
  background: #eaf4e8 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviews-header {
  display: flex !important;
  flex-direction: column !important;
  align-items: stretch !important;
  justify-content: flex-start !important;
  gap: 8px !important;
  margin: 0 0 10px !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviews-header .block-title {
  width: 100% !important;
  margin: 0 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .google-badge {
  display: flex !important;
  align-items: center !important;
  box-sizing: border-box !important;
  width: 100% !important;
  min-width: 0 !important;
  gap: 8px !important;
  padding: 7px 9px !important;
  border-radius: 9px !important;
  background: rgba(255, 255, 255, 0.72) !important;
}
html.roa-app-mode.roa-app-home .reviews-section .google-badge > img {
  flex: 0 0 24px !important;
  width: 24px !important;
  height: 24px !important;
}
html.roa-app-mode.roa-app-home .reviews-section .rating-summary {
  display: flex !important;
  flex: 1 1 auto !important;
  flex-direction: row !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-width: 0 !important;
  gap: 8px !important;
}
html.roa-app-mode.roa-app-home .reviews-section .rating-summary .stars {
  display: flex !important;
  flex: 0 0 auto !important;
  align-items: center !important;
  gap: 2px !important;
  width: auto !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
html.roa-app-mode.roa-app-home .reviews-section .rating-summary .stars .fa {
  margin: 0 !important;
  font-size: 14px !important;
  line-height: 1 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .rating-text {
  min-width: 0 !important;
  font-size: 12px !important;
  line-height: 1.25 !important;
  text-align: right !important;
  white-space: normal !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviews_swiper {
  display: block !important;
  width: 100% !important;
  padding: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  overscroll-behavior-x: contain;
  scroll-behavior: smooth;
  scroll-snap-type: x mandatory;
  -webkit-overflow-scrolling: touch;
}
html.roa-app-mode.roa-app-home .reviews-section .reviews_swiper .swiper-wrapper {
  display: grid !important;
  grid-auto-flow: column !important;
  grid-auto-columns: 100% !important;
  width: 100% !important;
  gap: 10px !important;
  padding: 0 !important;
  transform: none !important;
  transition: none !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviews_swiper .swiper-slide {
  flex: none !important;
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  height: auto !important;
  margin: 0 !important;
  box-sizing: border-box !important;
  scroll-snap-align: start;
  scroll-snap-stop: always;
}
html.roa-app-mode.roa-app-home .reviews-section .review-card {
  display: flex !important;
  flex-direction: column !important;
  box-sizing: border-box !important;
  width: 100% !important;
  height: auto !important;
  min-height: 210px !important;
  overflow: hidden !important;
  margin: 0 !important;
  padding: 12px !important;
  border: 0 !important;
  border-radius: 13px !important;
  background: #fff !important;
  box-shadow: none !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-card .review-header {
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 0 8px !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviewer-avatar {
  display: flex !important;
  flex: 0 0 38px !important;
  align-items: center !important;
  justify-content: center !important;
  width: 38px !important;
  height: 38px !important;
  overflow: hidden !important;
  border-radius: 50% !important;
  font-size: 18px !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviewer-avatar img {
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
  object-fit: cover !important;
  object-position: center !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviewer-info {
  flex: 1 1 auto !important;
  min-width: 0 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .reviewer-name {
  overflow: hidden !important;
  font-size: 14px !important;
  line-height: 1.2 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-date {
  font-size: 11px !important;
  line-height: 1.2 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-rating {
  display: flex !important;
  align-items: center !important;
  gap: 3px !important;
  margin: 0 0 8px !important;
  line-height: 1 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-rating .fa {
  margin: 0 !important;
  font-size: 13px !important;
  line-height: 1 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-content {
  flex: 1 1 auto !important;
  margin: 0 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .review-text {
  display: -webkit-box !important;
  margin: 0 !important;
  overflow: hidden !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
}
html.roa-app-mode.roa-app-home .reviews-section .review-source {
  margin: auto 0 0 !important;
  padding-top: 9px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}
html.roa-app-mode.roa-app-home .reviews-section .swiper-button-next,
html.roa-app-mode.roa-app-home .reviews-section .swiper-button-prev,
html.roa-app-mode.roa-app-home .reviews-section .swiper-pagination {
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: hidden !important;
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

/* SEO copy, blog cards and manufacturer logos remain on the public website.
   The app Home focuses on the active category and commerce modules. */
html.roa-app-mode.roa-app-home #roa-home-seo,
html.roa-app-mode.roa-app-home .html_content_box,
html.roa-app-mode.roa-app-home .home-blog,
html.roa-app-mode.roa-app-home .brand-logo {
  display: none !important;
}

@media (max-width: 360px) {
  html.roa-app-mode.roa-app-home #content > .main-row { padding-left: 10px !important; padding-right: 10px !important; }
  html.roa-app-mode.roa-app-home .special-categories-module .block-title h3,
  html.roa-app-mode.roa-app-home .products-container .block-title h3,
  html.roa-app-mode.roa-app-home .reviews-section .block-title h3 { font-size: 18px !important; }
  html.roa-app-mode.roa-app-home .products-container .caption { padding-left: 9px !important; padding-right: 9px !important; }
}

/* Mega Filter PRO renders its mobile sheet at 70% height and pushes it to the
   bottom. Inside the app the WebView already starts below the native header,
   so the sheet can use the complete WebView height. */
html.roa-app-mode .mfilter-free-container > .scroll-wrapper {
  height: 100% !important;
  max-height: 100% !important;
  margin-top: 0 !important;
}
/* Each option list must follow its visible choices, including the unwrapped
   iOS variant where scroll-content and scroll-wrapper are the same element.
   Keep scrolling on the outer sheet; preserve accordion and show-more state. */
html.roa-app-mode .mfilter-free-container .mfilter-content-opts .scroll-wrapper,
html.roa-app-mode .mfilter-free-container .mfilter-content-opts .scroll-wrapper > .scroll-content,
html.roa-app-mode .mfilter-free-container .mfilter-content-opts .mfilter-content-wrapper.mfilter-iscroll,
html.roa-app-mode .mfilter-free-container [data-display-list-of-items="scroll"] .mfilter-content-wrapper {
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-bottom: 0 !important;
  overflow: visible !important;
}
html.roa-app-mode .mfilter-free-container .mfilter-content-opts .scroll-wrapper > .scroll-element {
  display: none !important;
}
@media (prefers-reduced-motion: reduce) {
  html.roa-app-mode *, html.roa-app-mode *::before, html.roa-app-mode *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}
