/* Mobile v23 — consolidated storefront layout and iOS scroll repair.
   This layer is intentionally loaded after all legacy mobile styles. */

@media (max-width: 900px) {
  :root {
    --mobile-v23-gutter: clamp(12px, 3.2vw, 24px);
    --mobile-v23-max: 760px;
    --mobile-v23-dock-h: 72px;
    --mobile-v23-bg: #f4f7fb;
    --mobile-v23-panel: #ffffff;
    --mobile-v23-line: rgba(172, 199, 232, .78);
    --mobile-v23-text: #101827;
    --mobile-v23-muted: #6f7f96;
    --mobile-v23-accent: #0a84ff;
  }

  html {
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100% !important;
    height: auto !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    scroll-padding-top: 76px !important;
    scroll-padding-bottom: calc(var(--mobile-v23-dock-h) + 28px + env(safe-area-inset-bottom)) !important;
    -webkit-text-size-adjust: 100% !important;
    text-size-adjust: 100% !important;
  }

  html:not(.native-quick-open-v175):not(.quick-search-open):not(.cart-open):not(.avatar-modal-open-v260):not(.avatar-editor-open-v266):not(.bug-report-open-v850):not(.front-admin-modal-open-v856):not(.front-admin-modal-open-v858) {
    overflow-y: auto !important;
  }

  html body.store-body:not(.native-quick-open-v175):not(.quick-search-open):not(.cart-open):not(.avatar-modal-open-v260):not(.avatar-editor-open-v266):not(.bug-report-open-v850):not(.front-admin-modal-open-v856):not(.front-admin-modal-open-v858),
  html body.store-body.mobile-nav-open-v14:not(.native-quick-open-v175):not(.quick-search-open):not(.cart-open):not(.avatar-modal-open-v260):not(.avatar-editor-open-v266):not(.bug-report-open-v850):not(.front-admin-modal-open-v856):not(.front-admin-modal-open-v858) {
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 100dvh !important;
    height: auto !important;
    margin: 0 !important;
    overflow: visible !important;
    touch-action: pan-y pinch-zoom !important;
    overscroll-behavior-x: none !important;
    overscroll-behavior-y: auto !important;
    background: var(--mobile-v23-bg) !important;
  }

  html.mobile-nav-open-v14:not(.native-quick-open-v175):not(.quick-search-open):not(.cart-open),
  html.mobile-nav-open-v14 body.store-body:not(.native-quick-open-v175):not(.quick-search-open):not(.cart-open) {
    overflow-y: auto !important;
    height: auto !important;
    touch-action: pan-y pinch-zoom !important;
  }

  html body.store-body *,
  html body.store-body *::before,
  html body.store-body *::after {
    box-sizing: border-box !important;
  }

  html body.store-body #app,
  html body.store-body #app > .store-layout,
  html body.store-body .store-layout,
  html body.store-body .store-layout.mobile-layout-v23,
  html body.store-body .store-layout.sidebar-collapsed {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: none !important;
    min-width: 0 !important;
    min-height: 100dvh !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
    isolation: auto !important;
  }

  html body.store-body .store-layout > .sidebar,
  html body.store-body .store-layout > .sidebar.is-compact,
  html body.store-body .store-layout > .sidebar.mobile-open-v13,
  html body.store-body .mobile-nav-backdrop-v13,
  html body.store-body .topbar.topbar-v849 {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  html body.store-body .store-layout > main.main,
  html body.store-body main.main {
    position: relative !important;
    display: block !important;
    width: 100% !important;
    max-width: var(--mobile-v23-max) !important;
    min-width: 0 !important;
    min-height: 100dvh !important;
    height: auto !important;
    margin: 0 auto !important;
    padding: 8px var(--mobile-v23-gutter) calc(var(--mobile-v23-dock-h) + 30px + env(safe-area-inset-bottom)) !important;
    overflow: visible !important;
    transform: none !important;
    filter: none !important;
    perspective: none !important;
    contain: none !important;
  }

  html body.store-body main.main > section,
  html body.store-body main.main > .appstorrent-home,
  html body.store-body main.main > .alert,
  html body.store-body main.main > .app-network-banner-v169 {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin-inline: auto !important;
  }

  /* Dedicated mobile header. It is separate from the desktop topbar to avoid
     absolute-positioning and grid rules accumulated by older topbar layers. */
  html body.store-body .mobile-header-v23 {
    position: sticky !important;
    top: 0 !important;
    z-index: 3800 !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 54px !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 70px !important;
    margin: 0 0 12px !important;
    padding: 8px 0 !important;
    border: 0 !important;
    background: var(--mobile-v23-bg) !important;
    isolation: isolate !important;
    overflow: visible !important;
  }

  html body.store-body .mobile-header-v23::before {
    content: "" !important;
    position: absolute !important;
    z-index: -1 !important;
    left: calc(var(--mobile-v23-gutter) * -1) !important;
    right: calc(var(--mobile-v23-gutter) * -1) !important;
    top: 0 !important;
    bottom: 0 !important;
    background: rgba(244, 247, 251, .985) !important;
    border-bottom: 1px solid rgba(176, 200, 229, .46) !important;
    box-shadow: 0 8px 20px rgba(48, 79, 118, .055) !important;
  }

  html body.store-body .mobile-search-v23 {
    all: unset !important;
    box-sizing: border-box !important;
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    gap: 11px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 16px !important;
    border: 1px solid var(--mobile-v23-line) !important;
    border-radius: 17px !important;
    background: #fff !important;
    color: var(--mobile-v23-text) !important;
    box-shadow: 0 7px 20px rgba(38, 73, 116, .06), inset 0 1px 0 rgba(255, 255, 255, .98) !important;
    cursor: pointer !important;
    overflow: hidden !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.store-body .mobile-search-v23:active {
    transform: scale(.992) !important;
  }

  html body.store-body .mobile-search-v23 .i,
  html body.store-body .mobile-search-v23 iconify-icon {
    flex: 0 0 auto !important;
    width: 23px !important;
    height: 23px !important;
    min-width: 23px !important;
    font-size: 23px !important;
    color: var(--mobile-v23-accent) !important;
  }

  html body.store-body .mobile-search-v23 > span {
    display: block !important;
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: #718198 !important;
    font-size: 15px !important;
    line-height: 1 !important;
    font-weight: 760 !important;
    letter-spacing: -.02em !important;
  }

  html body.store-body .mobile-language-v23 {
    position: relative !important;
    display: block !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  html body.store-body .mobile-language-button-v23 {
    all: unset !important;
    box-sizing: border-box !important;
    display: grid !important;
    place-items: center !important;
    width: 54px !important;
    min-width: 54px !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid var(--mobile-v23-line) !important;
    border-radius: 17px !important;
    background: #fff !important;
    box-shadow: 0 7px 20px rgba(38, 73, 116, .06), inset 0 1px 0 rgba(255, 255, 255, .98) !important;
    cursor: pointer !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.store-body .mobile-language-button-v23:active {
    transform: scale(.96) !important;
  }

  html body.store-body .mobile-language-button-v23.active {
    border-color: #72b2ff !important;
    background: #eaf4ff !important;
    box-shadow: 0 0 0 3px rgba(10, 132, 255, .11) !important;
  }

  html body.store-body .mobile-header-v23 .lang-flag-img {
    display: block !important;
    width: 29px !important;
    height: 29px !important;
    min-width: 29px !important;
    border-radius: 999px !important;
    object-fit: cover !important;
    box-shadow: 0 0 0 1px rgba(58, 83, 116, .16) !important;
  }

  html body.store-body .mobile-language-menu-v23 {
    position: absolute !important;
    z-index: 4300 !important;
    top: 64px !important;
    right: 0 !important;
    width: min(326px, calc(100vw - (var(--mobile-v23-gutter) * 2))) !important;
    max-height: min(70dvh, 520px) !important;
    margin: 0 !important;
    padding: 10px !important;
    border: 1px solid rgba(169, 196, 229, .92) !important;
    border-radius: 21px !important;
    background: #fff !important;
    color: var(--mobile-v23-text) !important;
    box-shadow: 0 24px 68px rgba(26, 56, 94, .22) !important;
    overflow: auto !important;
    overscroll-behavior: contain !important;
  }

  html body.store-body .mobile-language-menu-v23 > header {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    margin: 0 0 8px !important;
    padding: 8px 8px 11px !important;
    border-bottom: 1px solid rgba(178, 203, 232, .62) !important;
  }

  html body.store-body .mobile-language-menu-v23 > header > div {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
  }

  html body.store-body .mobile-language-menu-v23 > header b {
    color: var(--mobile-v23-text) !important;
    font-size: 15px !important;
    line-height: 1.2 !important;
    font-weight: 900 !important;
  }

  html body.store-body .mobile-language-menu-v23 > header small {
    color: var(--mobile-v23-muted) !important;
    font-size: 11px !important;
    line-height: 1.25 !important;
    font-weight: 650 !important;
  }

  html body.store-body .mobile-language-menu-v23 > header > button {
    display: grid !important;
    place-items: center !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    padding: 0 !important;
    border: 1px solid rgba(176, 201, 230, .72) !important;
    border-radius: 12px !important;
    background: #f6f9fd !important;
    color: #60718a !important;
  }

  html body.store-body .mobile-language-list-v23 {
    display: grid !important;
    gap: 7px !important;
  }

  html body.store-body .mobile-language-list-v23 > button {
    display: grid !important;
    grid-template-columns: 38px minmax(0, 1fr) 22px !important;
    align-items: center !important;
    gap: 10px !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 54px !important;
    padding: 7px 10px !important;
    border: 1px solid transparent !important;
    border-radius: 15px !important;
    background: #f7faff !important;
    color: var(--mobile-v23-text) !important;
    text-align: left !important;
  }

  html body.store-body .mobile-language-list-v23 > button.selected {
    border-color: rgba(87, 161, 247, .55) !important;
    background: #eaf4ff !important;
  }

  html body.store-body .mobile-language-list-v23 > button > span {
    display: grid !important;
    place-items: center !important;
    width: 38px !important;
    height: 38px !important;
  }

  html body.store-body .mobile-language-list-v23 > button .lang-flag-img {
    width: 28px !important;
    height: 28px !important;
    min-width: 28px !important;
  }

  html body.store-body .mobile-language-list-v23 > button > em {
    display: grid !important;
    gap: 2px !important;
    min-width: 0 !important;
    font-style: normal !important;
  }

  html body.store-body .mobile-language-list-v23 > button > em b {
    color: var(--mobile-v23-text) !important;
    font-size: 13px !important;
    line-height: 1.1 !important;
    font-weight: 900 !important;
  }

  html body.store-body .mobile-language-list-v23 > button > em small {
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    color: var(--mobile-v23-muted) !important;
    font-size: 11px !important;
    line-height: 1.15 !important;
    font-weight: 650 !important;
  }

  html body.store-body .mobile-language-list-v23 > button > .i,
  html body.store-body .mobile-language-list-v23 > button > iconify-icon {
    width: 20px !important;
    height: 20px !important;
    font-size: 20px !important;
    color: var(--mobile-v23-accent) !important;
  }

  /* Desktop-only information and every hero carousel are absent on mobile. */
  html body.store-body .rate-strip.rate-strip-v846,
  html body.store-body .currency-tools,
  html body.store-body .currency-icons,
  html body.store-body .promo-slider,
  html body.store-body .promo-slide,
  html body.store-body .promo-banner.compact-promo,
  html body.store-body .promo-dots,
  html body.store-body .skeleton-layout .sk-hero {
    display: none !important;
    visibility: hidden !important;
    position: absolute !important;
    width: 0 !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    pointer-events: none !important;
  }

  /* Home content uses one centered width and identical side edges. */
  html body.store-body .appstorrent-home {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  html body.store-body .home-chipbar {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 9px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
    overflow: visible !important;
    scroll-snap-type: none !important;
  }

  html body.store-body .home-chipbar > a,
  html body.store-body .home-chipbar > button {
    display: grid !important;
    grid-template-columns: 30px minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 54px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border: 1px solid var(--mobile-v23-line) !important;
    border-radius: 17px !important;
    background: #fff !important;
    color: #192338 !important;
    box-shadow: 0 8px 22px rgba(45, 78, 119, .05) !important;
    font-size: 13px !important;
    line-height: 1 !important;
    font-weight: 820 !important;
    text-decoration: none !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    scroll-snap-align: none !important;
  }

  html body.store-body .home-chipbar > a > .i,
  html body.store-body .home-chipbar > a > iconify-icon,
  html body.store-body .home-chipbar > button > .i,
  html body.store-body .home-chipbar > button > iconify-icon {
    width: 24px !important;
    height: 24px !important;
    min-width: 24px !important;
    font-size: 24px !important;
    color: var(--mobile-v23-accent) !important;
  }

  html body.store-body .home-chipbar > a > span,
  html body.store-body .home-chipbar > button > span {
    display: grid !important;
    place-items: center !important;
    min-width: 26px !important;
    height: 26px !important;
    padding: 0 7px !important;
    border-radius: 999px !important;
    background: #eaf4ff !important;
    color: var(--mobile-v23-accent) !important;
    font-size: 10px !important;
    font-weight: 900 !important;
  }

  html body.store-body .home-row {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
  }

  html body.store-body .home-row:last-child {
    margin-bottom: 0 !important;
  }

  html body.store-body .section-head,
  html body.store-body .section-head.compact {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 12px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 12px !important;
    padding: 0 2px !important;
  }

  html body.store-body .section-title-with-icon {
    display: flex !important;
    align-items: center !important;
    gap: 10px !important;
    min-width: 0 !important;
  }

  html body.store-body .section-title-with-icon h2,
  html body.store-body .section-head h2 {
    min-width: 0 !important;
    margin: 0 !important;
    color: var(--mobile-v23-text) !important;
    font-size: clamp(24px, 6.6vw, 31px) !important;
    line-height: 1.04 !important;
    font-weight: 930 !important;
    letter-spacing: -.05em !important;
    white-space: normal !important;
  }

  html body.store-body .section-head a {
    flex: 0 0 auto !important;
    color: #0a6ff2 !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 850 !important;
    white-space: nowrap !important;
  }

  html body.store-body .new-material-icon,
  html body.store-body .home-block-tgs-icon-v892 {
    width: 30px !important;
    height: 30px !important;
    min-width: 30px !important;
  }

  html body.store-body .app-grid,
  html body.store-body .home-main-grid,
  html body.store-body .material-grid-v844,
  html body.store-body .catalog-grid,
  html body.store-body .catalog-grid.app-list-grid {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 14px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
  }

  /* Compact mobile product card. */
  html body.store-body.ui-card-v844 .material-card-v844 {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 15px !important;
    border: 1px solid rgba(174, 201, 232, .8) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg, #fff 0%, #fbfdff 100%) !important;
    box-shadow: 0 14px 34px rgba(49, 80, 119, .07) !important;
    overflow: hidden !important;
    contain: none !important;
    transform: none !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844:hover,
  html body.store-body.ui-card-v844 .material-card-v844:active {
    transform: none !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__head {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 10px !important;
    min-height: 38px !important;
    margin: 0 0 11px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__kind {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    max-width: calc(100% - 50px) !important;
    height: 34px !important;
    padding: 0 12px !important;
    border-radius: 14px !important;
    font-size: 10.5px !important;
    letter-spacing: .15em !important;
    overflow: hidden !important;
    white-space: nowrap !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__kind span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__favorite,
  html body.store-body.ui-card-v844 .material-card-v844__info {
    width: 40px !important;
    min-width: 40px !important;
    height: 40px !important;
    min-height: 40px !important;
    border-radius: 14px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__hero {
    display: grid !important;
    grid-template-columns: 74px minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 13px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 11px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__icon-wrap,
  html body.store-body.ui-card-v844 .material-card-v844__icon {
    width: 74px !important;
    min-width: 74px !important;
    max-width: 74px !important;
    height: 74px !important;
    min-height: 74px !important;
    max-height: 74px !important;
    margin: 0 !important;
    border-radius: 20px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__image {
    width: 100% !important;
    height: 100% !important;
    object-fit: cover !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__rating-avatar {
    width: 34px !important;
    height: 34px !important;
    right: -7px !important;
    bottom: -7px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__hero-copy {
    display: block !important;
    width: 100% !important;
    min-width: 0 !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__meta {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    min-height: 0 !important;
    margin: 0 0 7px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__pill {
    max-width: 100% !important;
    height: 28px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__title {
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    color: var(--mobile-v23-text) !important;
    font-size: clamp(19px, 5.2vw, 23px) !important;
    line-height: 1.08 !important;
    font-weight: 930 !important;
    letter-spacing: -.045em !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__tags {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 0 !important;
    margin: 0 0 11px !important;
    overflow: visible !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__tags button {
    flex: 0 0 auto !important;
    max-width: 100% !important;
    height: 29px !important;
    padding: 0 10px !important;
    border-radius: 12px !important;
    font-size: 10.5px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__description {
    display: -webkit-box !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 0 12px !important;
    color: #65748c !important;
    font-size: 13px !important;
    line-height: 1.45 !important;
    font-weight: 650 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    -webkit-box-orient: vertical !important;
    -webkit-line-clamp: 2 !important;
    overflow: hidden !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__foot {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(144px, 44%) !important;
    align-items: end !important;
    gap: 12px !important;
    width: 100% !important;
    margin: 0 !important;
    padding-top: 12px !important;
    border-top: 1px solid rgba(178, 203, 232, .65) !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__foot.is-free-foot {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__price {
    display: grid !important;
    gap: 3px !important;
    min-width: 0 !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__price small {
    font-size: 10px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__price b {
    display: block !important;
    max-width: 100% !important;
    color: var(--mobile-v23-text) !important;
    font-size: 22px !important;
    line-height: 1.02 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__price span {
    display: block !important;
    max-width: 100% !important;
    margin-top: 1px !important;
    font-size: 10.5px !important;
    line-height: 1.25 !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__cart {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    margin: 0 !important;
    padding: 0 13px !important;
    border-radius: 16px !important;
    font-size: 13px !important;
    white-space: nowrap !important;
    overflow: hidden !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__cart span {
    min-width: 0 !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
  }

  /* Catalog header/filter share the same centered edge as cards. */
  html body.store-body .catalog-top {
    display: flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 2px 0 14px !important;
  }

  html body.store-body .catalog-top h1 {
    min-width: 0 !important;
    margin: 0 !important;
    font-size: clamp(27px, 7vw, 34px) !important;
    line-height: 1 !important;
    white-space: normal !important;
  }

  html body.store-body .catalog-filter {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    gap: 9px !important;
    width: 100% !important;
    min-width: 0 !important;
    margin: 0 0 14px !important;
    padding: 12px !important;
    border-radius: 20px !important;
    overflow: visible !important;
  }

  html body.store-body .catalog-filter > label,
  html body.store-body .catalog-filter > .custom-select,
  html body.store-body .catalog-filter > .primary {
    width: 100% !important;
    min-width: 0 !important;
    height: 48px !important;
    border-radius: 15px !important;
  }

  /* Stable bottom dock. Opaque background avoids iOS blur/hit-test issues. */
  html body.store-body .mobile-bottom-nav-v18,
  html body.store-body .mobile-bottom-nav-v23 {
    position: fixed !important;
    left: 50% !important;
    right: auto !important;
    top: auto !important;
    bottom: max(7px, env(safe-area-inset-bottom)) !important;
    z-index: 3900 !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    align-items: center !important;
    gap: 2px !important;
    width: min(calc(100% - (var(--mobile-v23-gutter) * 2)), calc(var(--mobile-v23-max) - (var(--mobile-v23-gutter) * 2))) !important;
    max-width: 720px !important;
    min-width: 0 !important;
    min-height: 68px !important;
    height: auto !important;
    margin: 0 !important;
    padding: 6px !important;
    border: 1px solid rgba(122, 148, 181, .34) !important;
    border-radius: 23px !important;
    background: #f8fbff !important;
    box-shadow: 0 16px 46px rgba(25, 51, 86, .19), inset 0 1px 0 rgba(255, 255, 255, .96) !important;
    transform: translateX(-50%) !important;
    filter: none !important;
    isolation: isolate !important;
    overflow: hidden !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button {
    position: relative !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 3px !important;
    min-width: 0 !important;
    height: 56px !important;
    margin: 0 !important;
    padding: 4px 2px !important;
    border: 0 !important;
    border-radius: 17px !important;
    background: transparent !important;
    color: #718198 !important;
    box-shadow: none !important;
    overflow: visible !important;
    -webkit-tap-highlight-color: transparent !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button.active {
    background: #e7f2ff !important;
    color: var(--mobile-v23-accent) !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button .i,
  html body.store-body .mobile-bottom-nav-v18 > button iconify-icon {
    width: 22px !important;
    height: 22px !important;
    min-width: 22px !important;
    font-size: 22px !important;
    color: currentColor !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button::after {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    font-size: 9px !important;
    line-height: 1 !important;
    font-weight: 790 !important;
    color: currentColor !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button > b {
    top: 0 !important;
    right: 8px !important;
  }

  html body.store-body .front-admin-speed-dial-v860 {
    top: auto !important;
    right: max(var(--mobile-v23-gutter), calc((100vw - var(--mobile-v23-max)) / 2 + var(--mobile-v23-gutter))) !important;
    bottom: calc(var(--mobile-v23-dock-h) + 22px + env(safe-area-inset-bottom)) !important;
  }

  html body.store-body .site-footer,
  html body.store-body footer.site-footer,
  html body.store-body .compact-footer {
    display: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
  }
}

@media (max-width: 520px) {
  :root {
    --mobile-v23-dock-h: 70px;
  }

  html body.store-body .store-layout > main.main,
  html body.store-body main.main {
    padding-top: 6px !important;
  }

  html body.store-body .mobile-header-v23 {
    grid-template-columns: minmax(0, 1fr) 50px !important;
    gap: 8px !important;
    min-height: 64px !important;
    margin-bottom: 10px !important;
    padding: 6px 0 8px !important;
  }

  html body.store-body .mobile-search-v23 {
    height: 50px !important;
    padding: 0 14px !important;
    border-radius: 15px !important;
  }

  html body.store-body .mobile-search-v23 > span {
    font-size: 14px !important;
  }

  html body.store-body .mobile-language-v23,
  html body.store-body .mobile-language-button-v23 {
    width: 50px !important;
    min-width: 50px !important;
    height: 50px !important;
    border-radius: 15px !important;
  }

  html body.store-body .mobile-header-v23 .lang-flag-img {
    width: 27px !important;
    height: 27px !important;
    min-width: 27px !important;
  }

  html body.store-body .mobile-language-menu-v23 {
    top: 58px !important;
  }

  html body.store-body .home-chipbar {
    gap: 8px !important;
    margin-bottom: 19px !important;
  }

  html body.store-body .home-chipbar > a,
  html body.store-body .home-chipbar > button {
    grid-template-columns: 26px minmax(0, 1fr) auto !important;
    gap: 7px !important;
    height: 50px !important;
    padding: 0 10px !important;
    border-radius: 15px !important;
    font-size: 11.5px !important;
  }

  html body.store-body .section-title-with-icon h2,
  html body.store-body .section-head h2 {
    font-size: clamp(23px, 7vw, 28px) !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844 {
    padding: 14px !important;
    border-radius: 22px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__hero {
    grid-template-columns: 68px minmax(0, 1fr) !important;
    gap: 11px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__icon-wrap,
  html body.store-body.ui-card-v844 .material-card-v844__icon {
    width: 68px !important;
    min-width: 68px !important;
    max-width: 68px !important;
    height: 68px !important;
    min-height: 68px !important;
    max-height: 68px !important;
    border-radius: 18px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__title {
    font-size: 19px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__description {
    font-size: 12.5px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__foot {
    grid-template-columns: minmax(0, 1fr) !important;
    align-items: stretch !important;
    gap: 10px !important;
  }

  html body.store-body.ui-card-v844 .material-card-v844__price b {
    font-size: 21px !important;
  }

  html body.store-body .mobile-bottom-nav-v18,
  html body.store-body .mobile-bottom-nav-v23 {
    bottom: max(5px, env(safe-area-inset-bottom)) !important;
    min-height: 66px !important;
    padding: 5px !important;
    border-radius: 21px !important;
  }
}

@media (max-width: 370px) {
  :root {
    --mobile-v23-gutter: 9px;
  }

  html body.store-body .home-chipbar > a,
  html body.store-body .home-chipbar > button {
    font-size: 10.5px !important;
  }

  html body.store-body .mobile-bottom-nav-v18 > button::after {
    font-size: 8.5px !important;
  }
}

@media (min-width: 901px) {
  html body.store-body .mobile-header-v23,
  html body.store-body .mobile-bottom-nav-v23,
  html body.store-body .mobile-bottom-nav-v18 {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html body.store-body *,
  html body.store-body *::before,
  html body.store-body *::after {
    scroll-behavior: auto !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: .001ms !important;
  }
}
