
.ptn-dock { display: none; }

@media (max-width: 640px) {
  .ptn-dock:not([hidden]) {
    display: block;
    position: fixed;
    left: 0; right: 0; bottom: 0;
    z-index: 55;
    padding: 6px 8px;

    padding-bottom: calc(6px + env(safe-area-inset-bottom, 0px));
    background: rgba(5, 9, 26, .94);
    border-top: 1px solid var(--panel-edge);
    box-shadow: 0 -6px 20px rgba(0, 0, 0, .45);
    line-height: 0;
  }
  .ptn-dock.has-link { cursor: pointer; }
  .ptn-dock:focus-visible { outline: 2px solid var(--cyan); outline-offset: -2px; }

  .ptn-dock-img {
    display: block;
    width: 100%;
    height: auto;

    max-height: 22vh;
    object-fit: contain;
    border-radius: 8px;
    user-select: none;
    -webkit-user-drag: none;
  }

  .ptn-dock .ptn-chip,
  .ptn-dock .ptn-erid {
    position: absolute;
    padding: 2px 6px;
    border-radius: 5px;
    background: rgba(0, 0, 0, 0.6);
    font-family: var(--ui);
    font-size: 9px;
    line-height: 1.2;
    letter-spacing: 0.06em;
    color: rgba(255, 255, 255, 0.85);
  }
  .ptn-dock .ptn-chip { top: 4px; right: 6px; z-index: 1; }

  .ptn-dock .ptn-erid {
    bottom: 4px; right: 6px;
    max-width: 60%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;

    pointer-events: none;
  }

  body.has-promo-dock {
    padding-bottom: calc(var(--ptn-dock-h, 90px) + 12px);
  }
}
