/* Mobile-only navigation. Explicit sizes avoid inherited large site CTA styles. */
.vv-mobile-dock, .vv-mobile-dock-space { display: none; }
.vv-mobile-dock[hidden], .vv-mobile-dock [hidden] { display: none !important; }
@media (max-width: 61.999rem) {
  .vv-mobile-dock-space { display: block; height: calc(80px + env(safe-area-inset-bottom, 0px)); background: #233140; }
  html.vv-mobile-dock-framed .vv-mobile-dock-space { display: none; }
  html.vv-mobile-dock-product .product-marketplaces-dock { display: none !important; }
  .vv-mobile-dock {
    position: fixed;
    z-index: 1050;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    box-sizing: border-box;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: auto;
    max-width: 460px;
    height: 56px;
    margin: 0 auto;
    padding: 4px;
    gap: 2px;
    border: 0;
    border-radius: 32px;
    background: #ffc702;
    color: #000;
    box-shadow: 0 4px 24px rgb(0 0 0 / 14%);
    -webkit-tap-highlight-color: transparent;
  }
  .vv-mobile-dock .vv-mobile-dock__link {
    position: relative;
    box-sizing: border-box;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 2px;
    width: 100%;
    min-width: 0;
    height: 48px;
    margin: 0;
    padding: 4px 2px;
    border: 0;
    border-radius: 32px;
    background: transparent;
    color: #000;
    font-family: "Cocomat Pro", sans-serif;
    font-size: 11px;
    font-weight: 600;
    line-height: 14px;
    text-decoration: none;
    white-space: nowrap;
    touch-action: manipulation;
  }
  .vv-mobile-dock .vv-mobile-dock__link.is-current { background: rgb(0 0 0 / 9%); }
  .vv-mobile-dock .vv-mobile-dock__link.is-current .vv-mobile-dock__icon { color: #fff; }
  .vv-mobile-dock .vv-mobile-dock__link:focus-visible { outline: 2px solid #000; outline-offset: -3px; }
  .vv-mobile-dock .vv-mobile-dock__icon { position: relative; display: block; width: 22px; height: 22px; margin: 0; padding: 0; }
  .vv-mobile-dock .vv-mobile-dock__icon svg { display: block; width: 22px; height: 22px; flex: none; fill: none; }
  .vv-mobile-dock .vv-mobile-dock__label { display: block; color: #000; font-size: 11px; line-height: 14px; }
  .vv-mobile-dock .vv-mobile-dock__link.is-current .vv-mobile-dock__label { color: #fff; }
  .vv-mobile-dock .vv-mobile-dock__count {
    position: absolute;
    top: -5px;
    right: -12px;
    box-sizing: border-box;
    display: flex;
    align-items: center;
    justify-content: center;
    min-width: 17px;
    height: 17px;
    padding: 0 4px;
    border-radius: 9px;
    background: #000;
    color: #ffc702;
    font-family: sans-serif;
    font-size: 10px;
    font-weight: 700;
    line-height: 17px;
  }
  body .b24-widget-button-wrapper { bottom: calc(84px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (prefers-reduced-motion: no-preference) {
  .vv-mobile-dock__link { transition: background-color .15s ease; }
}
@media print { .vv-mobile-dock, .vv-mobile-dock-space { display: none !important; } }

/* Keep the original SKU, price, stock, quantity and cart controls in a compact mobile row. */
@media (max-width: 61.999rem) {
  html.vv-mobile-buy-active .vv-mobile-dock,
  html.vv-mobile-buy-active .product-marketplaces-dock { display: none !important; }
  html.vv-mobile-buy-active .vv-mobile-dock-space { height: calc(104px + env(safe-area-inset-bottom, 0px)); }
  .vvp-card .vvp-buy-box.vv-mobile-buy-box {
    position: fixed;
    z-index: 2100;
    left: 12px;
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
    display: grid;
    grid-template-columns: minmax(0, 1fr) 88px minmax(0, 1.15fr);
    align-items: center;
    gap: 8px;
    box-sizing: border-box;
    width: auto;
    min-width: 0;
    max-width: 540px;
    margin: 0 auto;
    padding: 10px;
    border: 1px solid #e7e9ec;
    border-radius: 24px;
    background: #e8e8e8;
    box-shadow: 0 4px 24px rgb(0 0 0 / 15%);
  }
  .vvp-card .vv-mobile-buy-box .vvp-price-row {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    gap: 2px;
    margin: 0;
  }
  .vvp-card .vv-mobile-buy-box .vvp-price-row > div { flex: none; min-width: 0; }
  .vvp-card .vv-mobile-buy-box .vvp-price { display: block; font-size: 22px; line-height: 26px; white-space: nowrap; }
  .vvp-card .vv-mobile-buy-box .vvp-price--unknown { font-size: 14px; line-height: 18px; white-space: normal; }
  .vvp-card .vv-mobile-buy-box .vvp-price-caption { display: none; }
  .vvp-card .vv-mobile-buy-box .vv-stock { max-width: 100%; font-size: 11px; line-height: 14px; text-align: left; }
  .vvp-card .vv-mobile-buy-box .vvp-buy-actions { display: contents; }
  .vvp-card .vv-mobile-buy-box .vvp-quantity {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    box-sizing: border-box;
    width: 88px;
    height: 44px;
    min-width: 0;
    margin: 0;
    padding: 0;
    border-radius: 24px;
  }
  .vvp-card .vv-mobile-buy-box .vvp-quantity button,
  .vvp-card .vv-mobile-buy-box .vvp-quantity output {
    display: flex;
    align-items: center;
    justify-content: center;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 42px;
    margin: 0;
    padding: 0;
    font-size: 17px;
    line-height: 22px;
  }
  .vvp-card .vv-mobile-buy-box .vvp-add {
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: none;
    height: 44px;
    min-height: 44px;
    margin: 0;
    padding: 0 8px;
    border-radius: 24px;
    font-size: 14px;
    line-height: 18px;
  }
  .vvp-card .vv-mobile-buy-box .vvp-feedback { grid-column: 1 / -1; margin: 0; font-size: 12px; line-height: 16px; }
  .vvp-card .vv-mobile-buy-box .vvp-feedback:empty { display: none; }
  html.vv-mobile-buy-blocked .vvp-card .vv-mobile-buy-box { display: none !important; }
  .popup-overlay:has(.vv-mobile-buy-box) .product-modal { padding-bottom: calc(104px + env(safe-area-inset-bottom, 0px)); }
  html.vv-mobile-buy-active body .b24-widget-button-wrapper { bottom: calc(104px + env(safe-area-inset-bottom, 0px)) !important; }
}
@media (max-width: 360px) {
  .vvp-card .vvp-buy-box.vv-mobile-buy-box { grid-template-columns: minmax(90px, 1fr) 82px minmax(0, 1fr); }
  .vvp-card .vv-mobile-buy-box .vvp-price { font-size: 20px; line-height: 24px; }
  .vvp-card .vv-mobile-buy-box .vvp-price--unknown { font-size: 14px; line-height: 18px; }
  .vvp-card .vv-mobile-buy-box .vv-stock { font-size: 10px; }
  .vvp-card .vv-mobile-buy-box .vvp-quantity { width: 82px; }
  .vvp-card .vv-mobile-buy-box .vvp-add { padding: 0 6px; }
}
@media print { .vv-mobile-buy-box { position: static !important; } }


/* A slightly deeper neutral grey for the purchase block, on mobile and desktop. */
.vvp-card .vvp-buy-box,
.vvp-card .vvp-buy-box.vv-mobile-buy-box { background: #e8e8e8; }

@media (max-width: 61.999rem) {
  .vv-mobile-dock [data-vv-dock-account] { padding: 2px; }
  .vv-mobile-dock [data-vv-dock-account] .vv-mobile-dock__avatar {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: none;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    background: #ffe58a;
    overflow: hidden;
  }
  .vv-mobile-dock [data-vv-dock-account] .vv-mobile-dock__avatar svg { width: 20px; height: 20px; flex: none; }
  .vv-mobile-dock [data-vv-dock-account] .vv-mobile-dock__avatar.has-photo svg { display: none; }
  .vv-mobile-dock [data-vv-dock-account] [data-vv-dock-avatar] {
    position: absolute;
    inset: 0;
    display: block;
    width: 28px;
    height: 28px;
    border-radius: 50%;
    object-fit: cover;
  }
}

/* vv-account-fallback-transparent-20261022 */
/* Only the generic icon loses its badge; uploaded avatar styles remain unchanged. */
@media (max-width: 61.999rem) {
  .vv-mobile-dock [data-vv-dock-account] .vv-mobile-dock__avatar:not(.has-photo) {
    background: transparent;
  }
  .vv-mobile-dock [data-vv-dock-account] .vv-mobile-dock__avatar:not(.has-photo) svg {
    color: #000;
    stroke: currentColor;
  }
}


/* vv-account-fallback-current-only-20261022 */
@media (max-width: 61.999rem) {
  .vv-mobile-dock [data-vv-dock-account].is-current .vv-mobile-dock__avatar:not(.has-photo) svg {
    color: #fff;
    stroke: currentColor;
  }
}
