/* Load after the existing homepage/category styles. */
body:is(.in-index, .type-category, .type-detail) .products-block .product .p.if-size-hover-card {
    position: relative;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover {
    box-sizing: border-box;
    position: absolute;
    /* JS aligns this sibling of a.image to the image's bottom edge. */
    z-index: 3;
    display: block;
    padding: 14px 10px;
    border-top: 1px solid rgba(138, 107, 61, .18);
    background: rgba(255, 253, 249, .96);
    color: #3e2e27;
    font: 400 13px/1.4 "DM Sans", Arial, sans-serif;
    text-align: center;
    text-transform: none;
    letter-spacing: normal;
    pointer-events: none;
    visibility: hidden;
    opacity: 0;
    transform: translate3d(0, calc(-100% + 12px), 0);
    transition: opacity .28s ease, transform .32s cubic-bezier(.22, 1, .36, 1), visibility 0s linear .32s;
}
/* Apollo pridáva súvisiacim kartám bočný padding. Na detaile pás prekryje
   celú šírku fotografickej časti karty vrátane tohto priestoru. */
body.type-detail .products-block .p.if-size-hover-card > .if-size-hover {
    left: 0 !important;
    width: 100% !important;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__title {
    display: block;
    font-size: 11px;
    font-weight: 500;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 5px;
    margin-top: 8px;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__size {
    display: inline-block;
    min-width: 32px;
    padding: 4px 7px;
    border: 1px solid #dfd0bd;
    background: #fffdf9;
    color: #3e2e27;
    font-size: 12px;
    font-weight: 600;
    white-space: nowrap;
    text-decoration: none !important;
    transition: background-color .18s ease, color .18s ease, border-color .18s ease;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__size:hover,
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__size:focus-visible {
    background: #a66027;
    border-color: #a66027;
    color: #fff;
}
body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover__size:focus-visible {
    outline: 2px solid #3e2e27;
    outline-offset: 2px;
}
@media (any-hover: hover) {
    body:is(.in-index, .type-category, .type-detail) .products-block .p:has(> a.image:hover, > .if-size-hover:hover) > .if-size-hover--ready {
        visibility: visible;
        opacity: 1;
        pointer-events: auto;
        transform: translate3d(0, -100%, 0);
        transition-delay: 0s;
    }
    /* Apollo necháva na detaile pod panelom presvitať niekoľko pixelov fotky. */
    body.type-detail .products-block .p:has(> a.image:hover, > .if-size-hover:hover) > .if-size-hover--ready {
        transform: translate3d(0, calc(-100% + 6px), 0);
    }
}
body:is(.in-index, .type-category, .type-detail) .products-block .p:has(:focus-visible) > .if-size-hover--ready {
    visibility: visible;
    opacity: 1;
    pointer-events: auto;
    transform: translate3d(0, -100%, 0);
    transition-delay: 0s;
}
body.type-detail .products-block .p:has(:focus-visible) > .if-size-hover--ready {
    transform: translate3d(0, calc(-100% + 6px), 0);
}
@media (prefers-reduced-motion: reduce) {
    body:is(.in-index, .type-category, .type-detail) .products-block .if-size-hover { transition: none; }
}
