/* Размеры публичного аукциона. Подключается после общих стилей сайта. */
html.auction-public-document {
    overflow-y: auto;
    scrollbar-gutter: stable;
}

body.auction-public-page {
    --auction-layout-gutter: clamp(24px, 6.75vw, 144px);
    --auction-layout-gap: clamp(18px, 1.4vw, 30px);
    --auction-layout-heading: clamp(24px, 3vh, 38px);
    --auction-layout-brand-height: clamp(96px, 14vh, 180px);
    --auction-layout-camera-space: clamp(96px, 7vw, 180px);
    --auction-custom-brand-scale: 1.9;
    --auction-custom-brand-overlap: clamp(56px, 8vh, 100px);
    --auction-custom-brand-safe-overlap: clamp(106.4px, 15.2vh, 190px);
    --auction-custom-brand-base-overhang: calc(var(--auction-layout-brand-height) * 0.295);
    --auction-custom-brand-visual-overhang: calc(var(--auction-layout-brand-height) * 0.565);
}

body.auction-public-page > .navbar { margin-bottom: 0 !important; }
body.auction-public-page .navbar__links a.is-active:hover,
body.auction-public-page .navbar__links a.is-active:focus-visible { color: #fff !important; }

body.auction-public-page #auctionPublicLayout {
    width: calc(100% - 2 * var(--auction-layout-gutter)) !important;
    max-width: none !important;
    margin: 0 auto !important;
    padding: clamp(12px, 2vh, 28px) 0 12px !important;
    box-sizing: border-box !important;
}

#auctionPublicLayout > .auction-public-grid {
    width: 100% !important;
    max-width: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    gap: var(--auction-layout-gap) !important;
    align-items: stretch !important;
}

#auctionPublicLayout .auction-public-side { display: contents !important; }

#auctionPublicLayout .auction-public-side > .auction-public-card:first-child {
    display: grid !important;
    grid-template-rows: auto minmax(0, 1fr) auto !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    gap: 8px !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    align-self: stretch !important;
}

#auctionPublicLayout .auction-public-side > .auction-public-card:first-child > .auction-public-card__header,
#auctionPublicLayout .auction-public-side > .auction-public-card:first-child > .auction-public-card__header > div {
    position: static !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    height: auto !important;
    margin: 0 !important;
    padding: 0 !important;
}

#auctionPublicLayout .auction-public-timer--rules {
    height: 56px !important;
    min-height: 56px !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 4px !important;
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    transform: none !important;
}

#auctionPublicLayout #auctionPublicTimerContent .auction-public-timer__label,
#auctionPublicLayout #auctionPublicTimerContent #auctionPublicTimer {
    font-family: 'Press2P', monospace !important;
    font-size: var(--auction-layout-heading) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    -webkit-text-stroke: 2px #000;
    paint-order: stroke fill;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000 !important;
}

#auctionPublicLayout #auctionPublicTags {
    flex: 0 0 auto;
    display: flex;
    align-items: flex-start;
    align-content: flex-start;
    justify-content: center;
    flex-wrap: wrap;
    gap: 6px;
    width: 100%;
    min-width: 0;
    max-height: clamp(28px, 6vh, 62px);
    margin: clamp(7px, .8vh, 12px) 0 0;
    padding: 0;
    box-sizing: border-box;
    overflow-x: hidden;
    overflow-y: auto;
    scrollbar-width: none;
    -ms-overflow-style: none;
    overscroll-behavior-y: contain;
}

#auctionPublicLayout #auctionPublicTags[hidden] {
    display: none !important;
}

#auctionPublicLayout #auctionPublicTags::-webkit-scrollbar {
    width: 0;
    height: 0;
    display: none;
}

#auctionPublicLayout #auctionPublicTags .auction-tag {
    flex: 0 0 auto;
    min-height: clamp(21px, 2.4vh, 27px);
    padding: clamp(3px, .35vh, 5px) clamp(7px, .55vw, 11px);
    font-size: clamp(9px, 1.05vh, 13px);
}

#auctionPublicLayout #auctionPublicRules {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    max-height: none !important;
    margin: 0 !important;
    padding: clamp(14px, 1.5vh, 22px) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: hidden !important;
    overflow-wrap: anywhere;
    font-size: clamp(17px, 1.65vh, 22px) !important;
    line-height: 1.3 !important;
    scrollbar-width: thin;
    scrollbar-color: #767676 transparent;
    overscroll-behavior-y: contain;
}

#auctionPublicLayout #auctionPublicRules > .auction-public-rules-scroll {
    flex: 1 1 auto;
    width: 100%;
    min-width: 0;
    min-height: 0;
    margin: 0;
    padding: 0;
    overflow-x: hidden;
    overflow-y: auto;
    overflow-wrap: anywhere;
    scrollbar-width: thin;
    scrollbar-color: #767676 transparent;
    overscroll-behavior-y: contain;
}

#auctionPublicLayout #auctionPublicRules > .auction-public-rules-scroll > :first-child { margin-top: 0; }
#auctionPublicLayout #auctionPublicRules > .auction-public-rules-scroll > :last-child { margin-bottom: 0; }

#auctionPublicLayout:has(.auction-public-brand .auction-public-rules-character.is-custom-brand)
#auctionPublicRules {
    padding-bottom: calc(var(--auction-custom-brand-safe-overlap) + 16px) !important;
}

#auctionPublicLayout .auction-public-brand {
    position: relative;
    height: var(--auction-layout-brand-height);
    min-height: 0;
    width: 100%;
}

#auctionPublicLayout .auction-public-brand img.auction-public-rules-character {
    position: absolute !important;
    inset: 0 0 0 auto !important;
    width: auto !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 100% !important;
    max-height: 100% !important;
    object-fit: contain !important;
    object-position: right center !important;
}

#auctionPublicLayout .auction-public-brand .auction-public-rules-title {
    left: 0 !important;
    right: auto !important;
    bottom: 8px !important;
    max-width: 70%;
    font-size: clamp(26px, 3.2vh, 46px) !important;
}

/* The previous site.css uses :has(#auctionPublicRequestsList ...) to force
 * flex layout and a 205px lot list. These selectors must override it even
 * when the requests list is empty. */
#auctionPublicLayout .auction-public-side > .auction-public-activity-card:has(#auctionPublicLotsList) {
    height: calc(100% - var(--auction-layout-brand-height) - 8px) !important;
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) !important;
    grid-template-rows: minmax(0, 1fr) clamp(125px, 19vh, 200px) !important;
    grid-column: 2 !important;
    grid-row: 1 !important;
    position: relative !important;
    inset: auto !important;
    width: 100% !important;
    min-width: 0 !important;
    min-height: 0 !important;
    max-height: none !important;
    gap: 12px !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    transform: none !important;
    align-self: stretch !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) > .auction-public-activity-section {
    position: static !important;
    inset: auto !important;
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    gap: 0 !important;
    overflow: hidden !important;
    transform: none !important;
}

#auctionPublicLayout .auction-public-activity-section--lots { grid-row: 1 !important; }
#auctionPublicLayout .auction-public-activity-section--requests { grid-row: 2 !important; }

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) .auction-public-card__header {
    flex: 0 0 56px !important;
    height: 56px !important;
    min-height: 56px !important;
    max-height: 56px !important;
    margin: 0 !important;
    padding: 0 !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) .auction-public-card__header,
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) .auction-public-card__header > div,
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) .auction-public-card__header h2 {
    background: transparent !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) .auction-public-card__header h2 {
    color: #fff !important;
    padding: 0 !important;
    font-family: 'Press2P', monospace !important;
    font-size: var(--auction-layout-heading) !important;
    font-weight: 400 !important;
    line-height: 1.2 !important;
    letter-spacing: 0 !important;
    text-align: left !important;
    justify-content: flex-start !important;
    -webkit-text-stroke: 2px #000;
    paint-order: stroke fill;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000 !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) #auctionPublicLotsList,
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) #auctionPublicRequestsList {
    width: 100% !important;
    flex: 1 1 auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 8px 10px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    transform: none !important;
    box-sizing: border-box !important;
    scrollbar-gutter: stable;
    overscroll-behavior-y: contain !important;
}

#auctionPublicLayout #auctionPublicLotsList {
    gap: 4px !important;
    scroll-padding-block: 8px !important;
    scroll-snap-type: y proximity !important;
}

#auctionPublicLayout #auctionPublicLotsList::after { content: none !important; }
#auctionPublicLayout #auctionPublicLotsList > .auction-public-lot {
    margin: 0 !important;
    scroll-snap-align: start;
    background: rgba(125, 125, 125, .42) !important;
    border: 1px solid rgba(0, 0, 0, .18) !important;
    border-radius: 7px !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .08) !important;
}

#auctionPublicLayout #auctionPublicLotsList .auction-public-lot__index {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 48px !important;
    height: 24px !important;
    padding: 0 9px !important;
    border-radius: 999px !important;
    box-sizing: border-box !important;
    background: var(--auction-lot-number-background-soft, rgba(36, 45, 52, .58)) !important;
    color: var(--auction-lot-number-text-color, #228BE6) !important;
    line-height: 1 !important;
}

/* Чёрная заливка, золотая обводка и свечение; существующая пульсация остаётся. */
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-luck-used .auction-public-lot__title-row > strong,
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-luck-used .auction-public-lot__title-track {
    color: #080705 !important;
    -webkit-text-stroke: 1.15px #efb72f;
    paint-order: stroke fill;
    text-shadow:
        0 0 2px rgba(255, 225, 121, .95),
        0 0 6px rgba(239, 183, 47, .72),
        0 0 14px rgba(221, 157, 22, .46) !important;
}

#auctionPublicLayout .auction-public-card--wheel {
    grid-column: 2 !important;
    grid-row: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    min-width: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 24px 0 !important;
    transform: none !important;
    align-self: stretch !important;
    box-sizing: border-box !important;
}

#auctionPublicLayout .auction-public-wheel-wrap {
    flex: 0 0 auto;
    min-width: 0 !important;
    width: min(100%, var(--auction-layout-wheel-size, 650px)) !important;
    max-width: none !important;
    height: auto !important;
    min-height: 0 !important;
    aspect-ratio: 1;
    margin: 0 auto !important;
}

body.auction-public-page.auction-public-wheel-idle #auctionPublicLayout .auction-public-card--wheel {
    display: none !important;
}

body.auction-public-page:not(.auction-public-wheel-idle)
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
    display: grid !important;
    visibility: visible !important;
}

body.auction-public-page.auction-public-wheel-spinning #auctionPublicLayout .auction-public-wheel {
    filter: none !important;
    transform-origin: 50% 50% !important;
}

@media (min-width: 1100px) and (min-height: 540px) {
    body.auction-public-page #auctionPublicLayout {
        height: var(--auction-layout-height, calc(100dvh - 110px)) !important;
    }
    #auctionPublicLayout > .auction-public-grid {
        height: 100% !important;
        grid-template-rows: minmax(0, 1fr) !important;
        grid-template-columns: clamp(350px, 24vw, 470px) minmax(0, 1fr) var(--auction-layout-camera-space) !important;
    }
    body.auction-public-page:not(.auction-public-wheel-idle) #auctionPublicLayout {
        --auction-layout-stage-height: max(320px, calc(var(--auction-layout-height, calc(100dvh - 110px)) - clamp(12px, 2vh, 28px) - 12px));
        --auction-layout-feed-height: max(360px, calc(var(--auction-layout-stage-height) - var(--auction-layout-brand-height) - 8px));
        height: auto !important;
    }
    body.auction-public-page:not(.auction-public-wheel-idle) #auctionPublicLayout > .auction-public-grid {
        height: auto !important;
        grid-template-columns: clamp(350px, 24vw, 470px) minmax(0, 1fr) var(--auction-layout-camera-space) !important;
        grid-template-rows: var(--auction-layout-stage-height) var(--auction-layout-feed-height) !important;
        padding-left: 0 !important;
        box-sizing: border-box !important;
    }
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
        grid-column: 2 !important;
        grid-row: 2 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        margin: 0 !important;
        align-self: stretch !important;
    }
    #auctionPublicLayout .auction-public-side > .auction-public-card { height: 100% !important; }
    #auctionPublicLayout #auctionPublicLotsList .auction-public-lot:not(.has-poster) { grid-template-columns: 74px minmax(0, 1fr) !important; }
    #auctionPublicLayout #auctionPublicLotsList .auction-public-lot__number {
        grid-template-columns: 18px 50px !important;
        width: 74px !important;
        min-width: 74px !important;
        max-width: 74px !important;
    }
}

@media (min-width: 1100px) and (max-width: 1499px) and (min-height: 540px) {
    body.auction-public-page:not(.auction-public-wheel-idle) #auctionPublicLayout > .auction-public-grid {
        padding-left: 0 !important;
    }
}

@media (max-width: 1099px), (max-height: 539px) {
    body.auction-public-page { --auction-layout-gutter: clamp(14px, 3vw, 32px); }
    body.auction-public-page #auctionPublicLayout { height: auto !important; }
    #auctionPublicLayout > .auction-public-grid { grid-template-columns: minmax(0, 1fr) !important; }
    #auctionPublicLayout .auction-public-side > .auction-public-card:first-child {
        height: auto !important;
        grid-template-rows: auto auto auto !important;
    }
    #auctionPublicLayout #auctionPublicRules {
        display: block !important;
        overflow: visible !important;
    }
    #auctionPublicLayout #auctionPublicRules > .auction-public-rules-scroll {
        overflow: visible !important;
    }
    #auctionPublicLayout .auction-public-side > .auction-public-activity-card:has(#auctionPublicLotsList) {
        grid-column: 1 !important;
        grid-row: 2 !important;
        height: min(680px, 85vh) !important;
        grid-template-rows: minmax(160px, 1fr) 160px !important;
    }
    #auctionPublicLayout .auction-public-card--wheel { grid-column: 1 !important; grid-row: 2 !important; }
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
        grid-column: 1 !important;
        grid-row: 3 !important;
    }
}

/* Poster, number and text occupy the same row; the poster has its own column. */
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-poster {
    display: grid !important;
    grid-template-columns: 74px 34px minmax(0, 1fr) !important;
    column-gap: 7px !important;
}
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-poster > .auction-public-lot__number {
    grid-column: 1 !important;
    grid-row: 1 !important;
}
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-poster > .auction-public-lot__poster {
    grid-column: 2 !important;
    grid-row: 1 !important;
}
#auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-poster > .auction-public-lot__body {
    grid-column: 3 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
}
@media (max-width: 760px) {
    #auctionPublicLayout #auctionPublicLotsList .auction-public-lot.has-poster {
        grid-template-columns: 62px 30px minmax(0, 1fr) !important;
        column-gap: 5px !important;
    }
}

/* ===== Auction GIF clearance and panel alignment V3 ===== */
#auctionPublicLayout .auction-public-brand img.auction-public-rules-character.is-custom-brand {
    inset: calc(-8px - var(--auction-custom-brand-overlap)) calc(var(--auction-custom-brand-base-overhang) * -1) auto auto !important;
    z-index: 40 !important;
    pointer-events: none;
    transform: scale(var(--auction-custom-brand-scale)) !important;
    transform-origin: calc(100% - var(--auction-custom-brand-base-overhang)) var(--auction-custom-brand-overlap) !important;
}

/* Match the rules frame, including the empty-lots background. Do not move
 * rows with transforms: the first and last rows must remain scrollable. */
@media (min-width: 1100px) and (min-height: 540px) {
    #auctionPublicLayout .auction-public-side > .auction-public-card:first-child > .auction-public-card__header {
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        box-sizing: border-box !important;
    }

    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) > .auction-public-activity-section--lots {
        gap: 8px !important;
    }

    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) > .auction-public-activity-section--lots > .auction-public-card__header {
        flex: 0 0 56px !important;
        height: 56px !important;
        min-height: 56px !important;
        max-height: 56px !important;
        box-sizing: border-box !important;
    }

    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) #auctionPublicLotsList {
        padding-top: 0 !important;
        padding-bottom: 0 !important;
        scroll-padding-top: 0 !important;
        scroll-padding-bottom: 0 !important;
    }

    #auctionPublicLayout #auctionPublicLotsList > .auction-public-lot {
        transform: none !important;
    }

    /* Reserve the actual GIF overhang plus 16px. Both lists keep their
     * common left edge; the right edge and rules width do not move. */
    body.auction-public-page.auction-public-wheel-idle
    #auctionPublicLayout:has(.auction-public-brand .is-custom-brand)
    .auction-public-side > .auction-public-activity-card:has(#auctionPublicLotsList) {
        padding-left: max(0px, calc(var(--auction-custom-brand-visual-overhang) + 16px - var(--auction-layout-gap))) !important;
        box-sizing: border-box !important;
    }

    /* Центр колеса совпадает с центром фактической области строк лотов. */
    #auctionPublicLayout:has(.auction-public-brand .is-custom-brand) .auction-public-card--wheel {
        padding-left: max(0px, calc(var(--auction-custom-brand-visual-overhang) + 16px - var(--auction-layout-gap))) !important;
        box-sizing: border-box !important;
    }
}

/* A stacked layout has no spare column beyond the rules' right corner. */
@media (max-width: 1099px), (max-height: 539px) {
    #auctionPublicLayout .auction-public-brand img.auction-public-rules-character.is-custom-brand {
        right: 0 !important;
        transform-origin: 100% var(--auction-custom-brand-overlap) !important;
    }
}
/* ===== /Auction GIF clearance and panel alignment V3 ===== */

/* ===== Auction stable wheel viewport V1 ===== */
#auctionPublicLayout .auction-public-wheel-wrap > .auction-public-wheel-viewport {
    position: relative;
    width: 100%;
    min-width: 0;
    min-height: 0;
    aspect-ratio: 1;
    margin: 0;
    padding: 0;
    overflow: visible;
}

#auctionPublicLayout .auction-public-wheel-viewport > #auctionPublicWheelCanvas {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    margin: 0 !important;
}

/* Only the rotating canvas is clipped. The pointer, avatar and winner stay
 * outside this viewport; the wheel's normal shadow returns after the spin. */
body.auction-public-page.auction-public-wheel-spinning
#auctionPublicLayout .auction-public-wheel-wrap > .auction-public-wheel-viewport {
    overflow: hidden;
    border-radius: 50%;
}

/* Fit the very first visible frame, before the layout observer measures it.
 * Padding: shell top + 12px bottom; reserve another 70px around the wheel. */
@media (min-width: 1100px) and (min-height: 540px) {
    #auctionPublicLayout .auction-public-wheel-wrap {
        width: min(100%, var(--auction-layout-wheel-size, 650px), max(1px, calc(var(--auction-layout-height, calc(100dvh - 110px)) - clamp(12px, 2vh, 28px) - 82px))) !important;
    }
}
/* ===== /Auction stable wheel viewport V1 ===== */

/* ===== Auction spin transition V21 ===== */
@keyframes auction-v21-lots-slide-down {
    from {
        translate: 0 var(--auction-v21-lots-entry-y, -45vh);
        opacity: .96;
    }
    to {
        translate: 0 0;
        opacity: 1;
    }
}

@keyframes auction-v21-wheel-reveal {
    from {
        transform: scale(.08);
        opacity: 0;
    }
    72% {
        transform: scale(1.035);
        opacity: 1;
    }
    to {
        transform: scale(1);
        opacity: 1;
    }
}

/* JS restarts this class before every spin, including rerolls where the body
 * was already in the winner layout. */
body.auction-public-page.auction-public-wheel-entering
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
    animation: auction-v21-lots-slide-down .82s cubic-bezier(.2, .78, .24, 1) both;
}

body.auction-public-page.auction-public-wheel-entering
#auctionPublicLayout .auction-public-wheel-wrap {
    transform-origin: 50% 50%;
    animation: auction-v21-wheel-reveal .78s cubic-bezier(.16, .84, .24, 1) both;
}

/* Requests are shown only in the initial idle layout. They stay hidden after
 * the winner appears and return when the wheel/result is reset. */
body.auction-public-page:not(.auction-public-wheel-idle)
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
    grid-template-rows: minmax(0, 1fr) !important;
}

body.auction-public-page:not(.auction-public-wheel-idle)
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
> .auction-public-activity-section--requests {
    display: none !important;
}

@media (min-width: 1100px) and (min-height: 540px) {
    body.auction-public-page.auction-public-wheel-entering
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
        --auction-v21-lots-entry-y: calc(0px - var(--auction-layout-stage-height) - var(--auction-layout-gap));
    }
}

@media (max-width: 1099px), (max-height: 539px) {
    body.auction-public-page.auction-public-wheel-entering
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
        --auction-v21-lots-entry-y: calc(0px - min(82vw, 650px) - var(--auction-layout-gap));
    }
}

/* ===== /Auction spin transition V21 ===== */

/* ===== Auction heading proximity and lower lots width V22 ===== */

/* Larger timer/section headings stay on the shared baseline. The extra four
 * pixels protect the left edge of the outlined Т in «Текущие лоты». */
#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
.auction-public-card__header h2 {
    padding-left: 4px !important;
}

#auctionPublicLayout .auction-public-side > .auction-public-card:first-child {
    gap: 3px !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
> .auction-public-activity-section--lots {
    gap: 2px !important;
}

#auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
> .auction-public-activity-section--lots > .auction-public-card__header {
    display: flex !important;
    align-items: flex-end !important;
    padding-bottom: 2px !important;
    box-sizing: border-box !important;
}

@media (min-width: 1100px) and (min-height: 540px) {
    /* In wheel/winner layout the lot rows start directly under the left edge
     * of the rules frame and retain the former right edge of column two. */
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList) {
        grid-column: 1 / 3 !important;
        padding-left: 0 !important;
    }

    /* Keep the heading at its familiar column-two position while only the
     * cards themselves extend beneath the rules block. */
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
    > .auction-public-activity-section--lots > .auction-public-card__header {
        padding-left: calc(clamp(350px, 24vw, 470px) + var(--auction-layout-gap) + 4px) !important;
    }
}

/* ===== /Auction heading proximity and lower lots width V22 ===== */

/* ===== Lower lots exact left edge V24 ===== */
@media (min-width: 1100px) and (min-height: 540px) {
    /* The custom-GIF clearance is needed beside the rules while idle, but the
     * activity card sits below that GIF during wheel/winner states. Override
     * the more-specific clearance selector so every lot reaches the rules'
     * exact left edge. */
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout:has(.auction-public-brand .is-custom-brand)
    .auction-public-side > .auction-public-activity-card:has(#auctionPublicLotsList) {
        padding-left: 0 !important;
    }

    /* Put the lower heading at the same left edge too. Eight pixels in total
     * (this header plus the h2 inset above) keep the outlined Т unclipped. */
    body.auction-public-page:not(.auction-public-wheel-idle)
    #auctionPublicLayout .auction-public-activity-card:has(#auctionPublicLotsList)
    > .auction-public-activity-section--lots > .auction-public-card__header {
        padding-left: 4px !important;
    }
}
/* ===== /Lower lots exact left edge V24 ===== */

/* ===== Hidden list scrollbars V26 ===== */
/* Keep both activity lists at the same full width. Their scrollbars are
 * visually hidden, while wheel, touchpad and touch scrolling still work. */
body.auction-public-page #auctionPublicLayout
.auction-public-activity-card:has(#auctionPublicLotsList) #auctionPublicLotsList,
body.auction-public-page #auctionPublicLayout
.auction-public-activity-card:has(#auctionPublicLotsList) #auctionPublicRequestsList {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scrollbar-gutter: auto !important;
}

body.auction-public-page #auctionPublicLayout #auctionPublicLotsList::-webkit-scrollbar,
body.auction-public-page #auctionPublicLayout #auctionPublicRequestsList::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

body.auction-public-page #auctionPublicLotsList > .auction-public-lot,
body.auction-public-page #auctionPublicRequestsList > .auction-public-request {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}
/* ===== /Hidden list scrollbars V26 ===== */

/* ===== Hidden rules scrollbar V29 ===== */
/* The rules remain vertically scrollable with the mouse wheel, touchpad,
 * keyboard and touch gestures; only the browser's scrollbar is hidden. */
body.auction-public-page #auctionPublicLayout #auctionPublicRules,
body.auction-public-page #auctionPublicLayout
#auctionPublicRules > .auction-public-rules-scroll {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    scrollbar-gutter: auto !important;
}

body.auction-public-page #auctionPublicLayout #auctionPublicRules::-webkit-scrollbar,
body.auction-public-page #auctionPublicLayout
#auctionPublicRules > .auction-public-rules-scroll::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}
/* ===== /Hidden rules scrollbar V29 ===== */
