/* Category tiles: keep the media area square at every card width. */
.cat-tile-list--category .cat-tile_image {
    aspect-ratio: 1 / 1;
    height: auto;
}

.cat-tile-list--category .cat-tile_image > .js-cat-item-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    max-width: none;
    max-height: none;
    object-fit: contain;
    object-position: center;
}

/* Badges remain readable and separated even before JavaScript enhancement. */
.-b-[c] {
    color: #fff !important;
}

.-b- span,
.badge_ span {
    display: block;
    padding: 4px 15px 5px;
    border-radius: 3px 5px 5px 0;
    color: #fff !important;
    box-shadow: 1px 1px 1px rgba(128, 128, 128, 0.54);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.39);
}

.-b- i,
.badge_ i {
    display: block;
    width: 0;
    height: 0;
    margin-left: 1px;
    border: 3px solid #fff;
    border-bottom-color: transparent !important;
    border-left-color: transparent !important;
}

.-b-[c="#dd1624"] { background-color: #dd1624; }
.-b-[c="#f45f13"] { background-color: #f45f13; }
.-b-[c="#a616e2"] { background-color: #a616e2; }
.-b-[c="#1cbe29"] { background-color: #1cbe29; }
.-b-[c="#feb056"] { background-color: #feb056; }

.-b-[c]:not(.is-bdg-ready) {
    width: max-content;
    max-width: calc(100% - 16px);
    padding: 4px 15px 5px;
    border-radius: 3px 5px 5px 0;
    box-sizing: border-box;
    color: #fff !important;
    line-height: 1.35;
    box-shadow: 1px 1px 1px rgba(128, 128, 128, 0.54);
    text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.39);
}

.-b- + .-b- { top: 55px; }
.-b- + .-b- + .-b- { top: 90px; }
.-b- + .-b- + .-b- + .-b- { top: 125px; }

.-b-.is-bdg-ready {
    background: transparent;
    color: inherit !important;
}
