/* Opt-in classes on the two listing pages only; no Manufacturing/detail changes. */
.hl-v232a-categories .hl-v221-card{box-sizing:border-box;padding:12px;gap:10px;border-radius:8px}
.hl-v232a-categories .hl-v221-card h3{margin:0;font-size:22px}
.hl-v232a-categories .hl-v221-card p{margin:0;line-height:1.6}
.hl-v232a-categories .hl-v221-product-image{position:relative;display:block;aspect-ratio:3/2;min-height:0;background:#fff;overflow:hidden}
.hl-v232a-categories .hl-v221-product-image img{position:absolute;inset:0;margin:auto;width:auto;max-width:100%;height:auto;max-height:100%;object-fit:contain}
.hl-v232a-categories .hl-v221-card .wp-block-buttons{padding-top:4px}
.hl-v232a-projects .hl-v231-project-card{box-sizing:border-box;padding:10px;gap:10px;height:auto}
.hl-v232a-projects .hl-v231-project-grid{gap:20px;align-items:start}
.hl-v232a-projects .hl-v231-project-image{position:relative;display:block;flex:none;min-height:0;aspect-ratio:3/2;background:#fff}
.hl-v232a-projects .hl-v231-project-image>a{position:absolute;inset:0;width:100%;height:100%}
.hl-v232a-projects .hl-v231-project-image img{position:absolute;inset:0;margin:auto;width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}
.hl-v232a-projects .hl-v231-project-title{font-size:20px;line-height:1.3;min-height:2.6em}
.hl-v232a-projects .hl-v231-project-business{font-size:16px;line-height:1.4}
.hl-v232a-projects .hl-v231-project-link{box-sizing:border-box;display:inline-flex;width:auto;min-height:44px;line-height:1.4;padding:8px 12px;margin-top:0;align-self:flex-start}
@media(max-width:781px){.hl-v232a-projects .hl-v231-project-title{min-height:0}.hl-v232a-projects .hl-v231-project-card{padding:10px}.hl-v232a-categories .hl-v221-card{height:auto}}

/* V2-32B: white square frames only on products actually updated this round.
   The image stays <= its 800px raster. Clipped area is surrounding white canvas;
   complete product bounds fit within 94% of the frame. No fake source upscale. */
.single-hl_product .hl-v232b-white-detail .hl-v232b-white-frame{box-sizing:border-box;position:relative;display:block;width:100%;max-width:440px;aspect-ratio:1;min-height:0;padding:0;margin:0 auto;background:#fff;border:0;border-radius:8px;overflow:hidden}
.single-hl_product .hl-v232b-white-detail .hl-v232b-white-frame img{position:absolute;left:50%;top:50%;right:auto;bottom:auto;translate:-50% -50%;display:block;width:min(800px,calc(100% * var(--hl-canvas-fill,1)));height:auto;max-width:none;max-height:none;object-fit:contain;margin:0}
@media(max-width:781px){.single-hl_product .hl-v232b-white-detail .hl-v232b-white-frame{max-width:360px}}
