/* HALO company logo: shared, non-cropping media contract.
   Intentionally not applied to salon photography or HALO's own brand mark. */
img[data-halo-company-logo] {
    display:block;
    width:100%;
    height:100%;
    max-width:100%;
    max-height:100%;
    min-width:0;
    min-height:0;
    box-sizing:border-box;
    object-fit:contain;
    object-position:center;
    background-color:var(--halo-logo-background,#F5F2EE);
    padding:var(--halo-logo-safe-padding,clamp(2px,3%,14px));
    transform:none;
    filter:none;
    transition:none;
    vertical-align:middle;
}
/* No photographic darkening veil over a company logo. Only the image's
   immediate media frame is affected; no other card decorations are removed. */
:where(a,div,span):has(> img[data-halo-company-logo])::before,
:where(a,div,span):has(> img[data-halo-company-logo])::after {
    background-image:none;
}
/* Prevent overlays that directly darken the logo image, rather than the card. */
.halo-market-home .halo-featured-card__media:has(> img[data-halo-company-logo])::after,
.halo-market-home .halo-new-card__media:has(> img[data-halo-company-logo])::after,
.halo-market-home .halo-market-business__preview-media:has(> img[data-halo-company-logo])::after,
.halo-salons-page .salons-directory-card-v2__media:has(> img[data-halo-company-logo])::after {
    content:none;
}
/* Layout is bounded by each component's media frame. Old class-specific
   hover-zoom never applies to a logo, even if the frame is interactive. */
a:hover > img[data-halo-company-logo],
a:focus-visible > img[data-halo-company-logo] {
    transform:none;
    filter:none;
}
[data-halo-company-logo-frame="1"]::before,
[data-halo-company-logo-frame="1"]::after {
    content:none;
}