/* Product image scaling overrides — contain by default, no crop on white-background product shots */
.product-card-media .image-adapt,
.product-card-image {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1.15;
    padding-bottom: 0 !important;
    background: #fff;
    overflow: hidden;
}

.product-card-media .image-adapt {
    padding: 14px;
    box-sizing: border-box;
}

.product-card-image {
    padding: 14px;
    box-sizing: border-box;
}

.product-card-media .image-adapt img,
.product-card-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
    object-position: center;
}

.product-card-media .image-adapt img[data-mengo-img-optional] {
    position: absolute;
    inset: 12px;
    width: calc(100% - 24px);
    height: calc(100% - 24px);
}

/* Colour swatches from verified enrichment */
.mengo-color-swatches {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 8px;
}

.mengo-swatch {
    width: 32px;
    height: 32px;
    border-radius: 50%;
    border: 1px solid rgba(0, 0, 0, 0.15);
    padding: 0;
    cursor: pointer;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    flex-shrink: 0;
}

.mengo-swatch.is-active {
    box-shadow: 0 0 0 2px #fff, 0 0 0 3px #111;
}

.mengo-swatch img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    border-radius: 50%;
}

.productView-thumbnail-link img {
    object-fit: contain;
    background: #fff;
}
