.manufacturer-logo { height: var(--logo-h, 56px); width: auto; max-width: 100%; object-fit: contain; }
.manufacturer-logo-gray { filter: grayscale(100%); opacity: .75; transition: filter .2s ease, opacity .2s ease; }
a:hover > .manufacturer-logo-gray, .manufacturer-logo-gray:hover { filter: none; opacity: 1; }
.manufacturer-logo-zoomable { cursor: zoom-in; }
@media (max-width: 767.98px) {
    .manufacturer-logo { height: auto; max-height: var(--logo-h, 56px); }
}
.logo-lightbox { position: fixed; inset: 0; z-index: 2000; display: flex; align-items: center; justify-content: center; padding: 16px; background: rgba(0, 0, 0, .85); cursor: zoom-out; }
.logo-lightbox img { max-width: 100%; max-height: 100%; object-fit: contain; background: #fff; border-radius: 4px; }
.logo-lightbox-close { position: absolute; top: 12px; right: 16px; border: 0; background: transparent; color: #fff; font-size: 2rem; line-height: 1; cursor: pointer; }

.blk-fs { font-size: calc(1rem * var(--blk-fs, 1)); }
.blk-fs h1, .blk-fs .h1 { font-size: calc(var(--blk-fs, 1) * (1.375rem + 1.5vw)); }
.blk-fs h2, .blk-fs .h2 { font-size: calc(var(--blk-fs, 1) * (1.325rem + .9vw)); }
.blk-fs h3, .blk-fs .h3 { font-size: calc(var(--blk-fs, 1) * (1.3rem + .6vw)); }
.blk-fs h4, .blk-fs .h4 { font-size: calc(var(--blk-fs, 1) * (1.275rem + .3vw)); }
.blk-fs h5, .blk-fs .h5 { font-size: calc(var(--blk-fs, 1) * 1.25rem); }
.blk-fs h6, .blk-fs .h6 { font-size: calc(var(--blk-fs, 1) * 1rem); }
.blk-fs .display-1 { font-size: calc(var(--blk-fs, 1) * (1.625rem + 4.5vw)); }
.blk-fs .display-2 { font-size: calc(var(--blk-fs, 1) * (1.575rem + 3.9vw)); }
.blk-fs .display-3 { font-size: calc(var(--blk-fs, 1) * (1.525rem + 3.3vw)); }
.blk-fs .display-4 { font-size: calc(var(--blk-fs, 1) * (1.475rem + 2.7vw)); }
.blk-fs .display-5 { font-size: calc(var(--blk-fs, 1) * (1.425rem + 2.1vw)); }
.blk-fs .display-6 { font-size: calc(var(--blk-fs, 1) * (1.375rem + 1.5vw)); }
.blk-fs .lead { font-size: calc(var(--blk-fs, 1) * 1.25rem); }
.blk-fs .fs-1 { font-size: calc(var(--blk-fs, 1) * (1.375rem + 1.5vw)); }
.blk-fs .fs-2 { font-size: calc(var(--blk-fs, 1) * (1.325rem + .9vw)); }
.blk-fs .fs-3 { font-size: calc(var(--blk-fs, 1) * (1.3rem + .6vw)); }
.blk-fs .fs-4 { font-size: calc(var(--blk-fs, 1) * (1.275rem + .3vw)); }
.blk-fs .fs-5 { font-size: calc(var(--blk-fs, 1) * 1.25rem); }
.blk-fs .fs-6 { font-size: calc(var(--blk-fs, 1) * 1rem); }
.blk-fs .btn { --bs-btn-font-size: calc(var(--blk-fs, 1) * 1rem); }
.blk-fs .btn-lg { --bs-btn-font-size: calc(var(--blk-fs, 1) * 1.25rem); }
.blk-fs .btn-sm { --bs-btn-font-size: calc(var(--blk-fs, 1) * .875rem); }
.blk-fs .form-control, .blk-fs .form-select { font-size: calc(var(--blk-fs, 1) * 1rem); }
.blk-fs .form-control-sm, .blk-fs .form-select-sm { font-size: calc(var(--blk-fs, 1) * .875rem); }
.blk-fs .form-label, .blk-fs .form-check-label, .blk-fs .form-text { font-size: calc(var(--blk-fs, 1) * 1rem); }
.blk-fs .form-text, .blk-fs .small, .blk-fs small { font-size: calc(var(--blk-fs, 1) * .875rem); }
