.shop-bottom-nav { display: none; }
@media (max-width: 767px) {
  body.has-shop-bottom-nav {
    --shop-nav-height: calc(58px + env(safe-area-inset-bottom, 0px));
    --shop-action-height: 0px;
    --shop-footer-space: var(--shop-nav-height);
    padding-bottom: var(--shop-footer-space);
  }
  body.single-product.has-shop-bottom-nav,
  body.has-shop-bottom-nav:has(.v3-acct-main .v3-bar) { --shop-footer-space: calc(var(--shop-nav-height) + 80px); }
  /* Keep the reserved space inside the footer, using its own background. */
  body.has-shop-bottom-nav:has(> .site-footer, > .v3-ft) { padding-bottom: 0; }
  body.has-shop-bottom-nav > .site-footer { padding-bottom: calc(var(--space-lg) + var(--shop-footer-space)); }
  body.has-shop-bottom-nav > .v3-ft { padding-bottom: var(--shop-footer-space); }
  body.has-shop-bottom-nav .header-account,
  body.has-shop-bottom-nav .header-cart { display: none; }
  /* WooCommerce still prints the unused gallery shell after its styles are dequeued. */
  body.has-shop-bottom-nav .pswp:not(.pswp--open) { display: none; }
  body.has-shop-bottom-nav:has(.sticky-product-cta.is-visible, .v3-pdp-bar.is-visible) { --shop-action-height: 80px; }
  body.has-shop-bottom-nav .shop-bottom-nav {
    position: fixed; inset: auto 0 0; z-index: 800;
    display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr);
    box-sizing: border-box; height: var(--shop-nav-height);
    padding: 4px 0 calc(4px + env(safe-area-inset-bottom, 0px));
    background: var(--t-surface, white); border-top: 1px solid var(--t-border, rgb(230, 226, 215));
  }
  .shop-bottom-nav a {
    position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center;
    min-width: 44px; min-height: 44px; gap: 2px;
    color: var(--t-muted, rgb(105, 104, 96)); font: 500 11px/1.3 var(--t-font, system-ui, sans-serif); text-decoration: none;
  }
  .shop-bottom-nav a[aria-current="page"], .shop-bottom-nav a:hover { color: var(--t-text, rgb(14, 14, 12)); }
  .shop-bottom-nav a:focus-visible { outline: 2px solid currentColor; outline-offset: -3px; }
  .shop-bottom-nav__count {
    position: absolute; top: 0; left: calc(50% + 6px); min-width: 16px; padding: 1px 4px;
    border-radius: 999px; background: var(--t-text, rgb(14, 14, 12)); color: var(--t-surface, white); text-align: center;
  }
  .shop-bottom-nav__count[hidden] { display: none; }
  body.has-shop-bottom-nav .sticky-product-cta,
  body.has-shop-bottom-nav .v3-pdp-bar,
  body.has-shop-bottom-nav .v3-acct-main .v3-bar { bottom: var(--shop-nav-height); }
  body.has-shop-bottom-nav #tresser-chat { bottom: calc(var(--shop-nav-height) + var(--shop-action-height) + 16px); }
  body.has-shop-bottom-nav .tc-panel { max-height: calc(100dvh - var(--shop-nav-height) - var(--shop-action-height) - 160px); }
  body.has-shop-bottom-nav .product-share-toast,
  body.has-shop-bottom-nav .shop-back-to-top { bottom: calc(var(--shop-nav-height) + var(--shop-action-height) + 16px); }
  body.has-shop-bottom-nav :is(.cookie-consent, #cookie-law-info-bar, .cky-consent-container, .cmplz-cookiebanner, #cookie-notice) {
    bottom: calc(var(--shop-nav-height) + var(--shop-action-height));
  }
}
