/* V1119 — Allegro-like mobile navigation and purchase bar behaviour. */
.fxm-catalog-tools {
  display: none !important;
}

@media (min-width: 901px) {
  body .fx-mobile-dock,
  body .pd-mobile-buybar {
    display: none !important;
  }
}

@media (max-width: 900px) {
  :root {
    --fx1114-dock-height: 61px;
    --fx1114-buybar-height: 72px;
  }

  html {
    scroll-padding-bottom: calc(var(--fx1114-dock-height) + env(safe-area-inset-bottom, 0px)) !important;
  }

  body.foxi-mobile-app {
    padding-bottom: calc(var(--fx1114-dock-height) + env(safe-area-inset-bottom, 0px)) !important;
    background: #fff !important;
  }

  body.foxi-mobile-app.foxi-mobile-product {
    padding-bottom: calc(var(--fx1114-dock-height) + var(--fx1114-buybar-height) + env(safe-area-inset-bottom, 0px)) !important;
  }

  /* The mobile navigation replaces the floating green chat launcher. */
  body.foxi-mobile-app #storeChatTrigger,
  body.foxi-mobile-app .v15-chat,
  body.foxi-mobile-app .fw-chat-launcher,
  body.foxi-mobile-app .fw-chat-launcher--left {
    display: none !important;
    visibility: hidden !important;
    pointer-events: none !important;
  }

  body.foxi-mobile-app .fx-mobile-dock {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
    position: fixed !important;
    inset: auto 0 0 0 !important;
    z-index: 9990 !important;
    width: 100% !important;
    max-width: none !important;
    min-height: calc(var(--fx1114-dock-height) + env(safe-area-inset-bottom, 0px)) !important;
    margin: 0 !important;
    padding: 3px 6px calc(3px + env(safe-area-inset-bottom, 0px)) !important;
    border: 0 !important;
    border-top: 1px solid #d9dfdd !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -3px 12px rgba(24, 37, 32, .10) !important;
    overflow: hidden !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    transform: translate3d(0, 0, 0) !important;
    transition: transform .2s cubic-bezier(.2,.7,.2,1) !important;
    will-change: transform !important;
  }

  body.foxi-mobile-app.foxi-mobile-product.fxm-dock-hidden .fx-mobile-dock {
    transform: translate3d(0, 110%, 0) !important;
    pointer-events: none !important;
  }

  html body.foxi-mobile-app .fx-mobile-dock a,
  html body.foxi-mobile-app .fx-mobile-dock button {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 2px !important;
    min-width: 0 !important;
    min-height: 54px !important;
    margin: 0 !important;
    padding: 3px 1px !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #5d6965 !important;
    font: 600 10px/1.05 "DM Sans", Arial, sans-serif !important;
    text-decoration: none !important;
  }

  html body.foxi-mobile-app .fx-mobile-dock a > span,
  html body.foxi-mobile-app .fx-mobile-dock button > span {
    display: block !important;
    width: 100% !important;
    overflow: hidden !important;
    color: inherit !important;
    font-size: 10px !important;
    line-height: 1.05 !important;
    text-align: center !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }

  html body.foxi-mobile-app .fx-mobile-dock svg {
    display: block !important;
    width: 21px !important;
    height: 21px !important;
    max-width: 21px !important;
    max-height: 21px !important;
    flex: 0 0 21px !important;
    fill: none !important;
    stroke: currentColor !important;
    stroke-width: 1.75 !important;
    stroke-linecap: round !important;
    stroke-linejoin: round !important;
  }

  html body.foxi-mobile-app .fx-mobile-dock .is-active {
    background: transparent !important;
    color: #08765a !important;
    font-weight: 800 !important;
  }

  /* Compact, single-offer catalogue similar to the mobile marketplace list. */
  body.catalog-page .v12-products-grid,
  body.catalog-page .v12-products-grid.is-list {
    gap: 0 !important;
    border-top: 1px solid #e2e6e4 !important;
    background: #fff !important;
  }

  body.catalog-page .v12-catalog-shell,
  body.catalog-page .v12-catalog-content,
  body.catalog-page .v12-products-grid,
  body.catalog-page .v12-product-card,
  body.catalog-page .v1094-product-info,
  body.catalog-page .v1094-buy-panel {
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
  }

  body.catalog-page .v12-product-card,
  body.catalog-page .v12-products-grid.is-list .v12-product-card {
    border: 0 !important;
    border-bottom: 1px solid #e2e6e4 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
  }

  body.catalog-page .v1094-product-info {
    padding-top: 15px !important;
    padding-bottom: 15px !important;
  }

  body.catalog-page .v1094-buy-panel {
    border-top-color: #e5e9e7 !important;
    background: #fff !important;
  }

  body.catalog-page .v1094-buy-panel .v12-qty {
    display: none !important;
  }

  body.catalog-page .v1094-buy-panel .v12-product-actions {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) 44px !important;
    gap: 8px !important;
  }

  body.catalog-page .v1094-buy-panel .v12-add-cart {
    width: 100% !important;
    min-height: 44px !important;
    border-radius: 3px !important;
  }

  body.catalog-page .v1095-favorite {
    width: 44px !important;
    min-width: 44px !important;
    height: 44px !important;
    font-size: 25px !important;
  }

  /* Product: one clear column and a two-action purchase bar above the dock. */
  body.foxi-mobile-product main {
    padding-bottom: calc(var(--fx1114-buybar-height) + 12px) !important;
  }

  body.foxi-mobile-product .product-page {
    width: 100% !important;
    max-width: 100% !important;
    padding: 8px 10px 24px !important;
  }

  body.foxi-mobile-product .pd-hero {
    display: block !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 0 !important;
  }

  body.foxi-mobile-product .pd-gallery {
    width: 100% !important;
    max-width: 520px !important;
    margin: 0 auto !important;
  }

  body.foxi-mobile-product .pd-main-photo {
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    border: 0 !important;
  }

  body.foxi-mobile-product .pd-main-photo img {
    width: 92% !important;
    height: 92% !important;
    object-fit: contain !important;
  }

  body.foxi-mobile-product .pd-info {
    width: 100% !important;
    max-width: none !important;
    padding: 16px 0 0 !important;
  }

  body.foxi-mobile-product .pd-info h1 {
    max-width: none !important;
    font-size: clamp(24px, 5.5vw, 34px) !important;
    line-height: 1.14 !important;
  }

  body.foxi-mobile-product .pd-content-grid {
    display: block !important;
  }

  body.foxi-mobile-product .pd-tabs {
    overflow-x: auto !important;
    scrollbar-width: none !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar {
    box-sizing: border-box !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
    align-items: center !important;
    gap: 7px !important;
    position: fixed !important;
    left: 0 !important;
    right: 0 !important;
    bottom: calc(var(--fx1114-dock-height) + env(safe-area-inset-bottom, 0px)) !important;
    z-index: 9985 !important;
    width: 100% !important;
    min-height: var(--fx1114-buybar-height) !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    border: 0 !important;
    border-top: 1px solid #d9dfdd !important;
    border-radius: 0 !important;
    background: #fff !important;
    box-shadow: 0 -4px 14px rgba(24, 37, 32, .10) !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    opacity: 1 !important;
    transform: none !important;
    transition: bottom .2s cubic-bezier(.2,.7,.2,1) !important;
    will-change: bottom !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar > div {
    display: none !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar small {
    color: #64706c !important;
    font-size: 9px !important;
    font-weight: 700 !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar strong {
    color: #173b30 !important;
    font-size: 17px !important;
    white-space: nowrap !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar button {
    min-width: 0 !important;
    min-height: 50px !important;
    padding: 8px 7px !important;
    border-radius: 3px !important;
    box-shadow: none !important;
    font: 800 13px/1.1 "DM Sans", Arial, sans-serif !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar .fxm-buy-now {
    border: 1px solid #ff5a00 !important;
    background: #ff5a00 !important;
    color: #fff !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar #pdMobileAdd {
    border: 1px solid #ff5a00 !important;
    background: #fff !important;
    color: #d94c00 !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  body.foxi-mobile-app.foxi-mobile-product.fxm-dock-hidden .pd-mobile-buybar {
    bottom: env(safe-area-inset-bottom, 0px) !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar button:disabled {
    border-color: #cfd5d2 !important;
    background: #e6e9e7 !important;
    color: #8a9590 !important;
  }
}

@media (max-width: 420px) {
  :root {
    --fx1114-dock-height: 61px;
    --fx1114-buybar-height: 66px;
  }

  html body.foxi-mobile-app .fx-mobile-dock svg {
    width: 20px !important;
    height: 20px !important;
    max-width: 20px !important;
    max-height: 20px !important;
    flex-basis: 20px !important;
  }

  html body.foxi-mobile-app .fx-mobile-dock a > span,
  html body.foxi-mobile-app .fx-mobile-dock button > span {
    font-size: 9px !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar {
    grid-template-columns: 1fr 1fr !important;
    min-height: var(--fx1114-buybar-height) !important;
    padding: 7px 8px !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar > div {
    display: none !important;
  }

  body.foxi-mobile-app.foxi-mobile-product .pd-mobile-buybar button {
    min-height: 48px !important;
    font-size: 12px !important;
  }
}

@media (max-width: 360px) {
  body.catalog-page .v12-catalog-main {
    padding-inline: 6px !important;
  }

  body.catalog-page .v12-product-card,
  body.catalog-page .v12-products-grid.is-list .v12-product-card {
    grid-template-columns: 94px minmax(0, 1fr) !important;
  }

  body.catalog-page .v12-product-media {
    width: 94px !important;
    min-width: 94px !important;
    padding-inline: 6px !important;
  }

  body.catalog-page .v1094-product-info {
    padding-inline: 9px !important;
  }
}
