/* One stable frame for every sales card, independent of the photo's proportions.
   Keep the card outline and full-image viewer; only the overview is composed. */
.cti-sales185 .sales-card .sales-portrait,
.cti-sales185-admin .sales-card .sales-portrait {
    height: auto;
    aspect-ratio: 1 / 1;
    flex: none;
}
:is(.cti-sales185, .cti-sales185-admin) .sales-card .sales-portrait > .sales185-photo-link {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}
/* Calibrated square crops of the unchanged bundled files. Width:auto-height
   retains the image proportions; the crop removes baked-in duplicate borders.
   Explicit source markers are emitted only while the original crop is active. */
[data-sales185-framing="prepared-michael-kobert"] {
    --cti-frame-width: 105.84906%; --cti-frame-left: -2.83019%; --cti-frame-top: 0%;
}
[data-sales185-framing="prepared-philipp-tapprogge"] {
    --cti-frame-width: 108.93204%; --cti-frame-left: -2.71845%; --cti-frame-top: -2.33010%;
}
[data-sales185-framing="prepared-lawrence-ogbu"] {
    --cti-frame-width: 113.33333%; --cti-frame-left: -5.55556%; --cti-frame-top: -2.62626%;
}
[data-sales185-framing="square-dr-torsten-mueller"] {
    --cti-frame-width: 129.27835%; --cti-frame-left: -15.46392%; --cti-frame-top: -5.87629%;
}
[data-sales185-framing="square-florian-jones"] {
    --cti-frame-width: 119.42857%; --cti-frame-left: -8.57143%; --cti-frame-top: -5.33333%;
}
[data-sales185-framing="square-renato-kajzer"] {
    --cti-frame-width: 126.03015%; --cti-frame-left: -12.06030%; --cti-frame-top: -5.52764%;
}
[data-sales185-framing="square-idi-saidi-mwana-alaba"] {
    --cti-frame-width: 126.66667%; --cti-frame-left: -14.14141%; --cti-frame-top: -6.06061%;
}
[data-sales185-framing="landscape-frank-scheefeldt"] {
    --cti-frame-width: 139.8%; --cti-frame-left: -16.5%; --cti-frame-top: -12.5%;
}
/* Re-check the crop classes so changing fit/focus in the live admin preview
   immediately restores the normal controls, before the next save/reload. */
:is(.cti-sales185, .cti-sales185-admin) .sales-card.sales-fit-cover.sales-fx-50.sales-fy-10 [data-sales185-framing^="prepared-"] img,
:is(.cti-sales185, .cti-sales185-admin) .sales-card.sales-fit-contain.sales-fx-50.sales-fy-50 [data-sales185-framing^="square-"] img,
:is(.cti-sales185, .cti-sales185-admin) .sales-card.sales-fit-cover.sales-fx-50.sales-fy-30 [data-sales185-framing^="landscape-"] img {
    position: absolute;
    top: var(--cti-frame-top);
    left: var(--cti-frame-left);
    width: var(--cti-frame-width);
    height: auto;
    max-width: none;
    max-height: none;
    margin: 0;
    border: 0;
    border-radius: 0;
    transform: none !important;
}
.cti-member-profile .mp-portrait.sales-named-portrait .mp-portrait-image {
    aspect-ratio: 1 / 1;
}
.sales-named-portrait .sales185-photo-link img {
    object-fit: contain !important;
    object-position: center !important;
}
.cti-member-profile .mp-portrait.sales-named-portrait .sales185-photo-action {
    min-height: 40px;
    padding: 9px 12px;
    font-size: 12px;
}
/* A profile contains one portrait. Hidden navigation must not leave the
   image stage in the viewer's narrow left arrow column. */
.sales185-viewer-body > .sales185-icon-button[hidden] + .sales185-stage {
    grid-column: 1 / -1;
}
/* The loaded card supplies the first frame while the full WebP decodes. */
.sales185-stage { position: relative; }
.sales185-feedback {
    position: absolute;
    z-index: 1;
    bottom: 12px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    width: max-content;
    max-width: calc(100% - 24px);
    padding: 6px 12px;
    border-radius: 10px;
    background: rgba(6, 24, 31, .94);
}
.sales185-feedback[hidden] { display: none; }
.sales185-feedback .sales185-image-status { padding: 0; }
.sales185-feedback .sales185-retry { flex: none; }
.sales185-thumb canvas {
    height: 100%;
    width: 100%;
    max-width: 100%;
    object-fit: contain;
    display: block;
}
