/* Align: photos sit in a 3:2 frame, scaled to fit (plain CSS, works without align.js). */
.product--column > .product__image .fusion-imageframe {
    display: block;
    aspect-ratio: 3 / 2;
}

.product--column > .product__image .fusion-imageframe img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Boxes align.js lines up (.pb-align) get their height from their rows, not from the column (bardwell-products.css
   sets height: 100%), so opening one box doesn't stretch its neighbours' borders. */
.product--column.pb-align {
    height: auto;
}

/* Keep the heading's margins inside its wrapper so its height can be matched. */
.pb-align > .product__head {
    display: flow-root;
}

/* A box whose text fits has no Read more button; it takes no space unless align.js gives it the row's height
   (when a neighbour shows its button), so its store links line up with the neighbour's. */
.pb-align.pb-collapse:not(.pb-collapsible) > .product__toggle {
    display: block;
    visibility: hidden;
    height: 0;
    margin: 0;
}

/* The after_links slot can hold rows other plugins register (bardwell_product_boxes_rows). */
.pb-align > .product__slot--after_links {
    display: block;
}
