// Cadrage des images éditables (point focal, zoom par thème, ratio commun).
// Les variables sont posées sur le wrapper de l'image par `image_frame_attrs()`
// (src/Twig/ImageFrameExtension.php) et, en mode édition, par ImageFrameEditor.ts —
// uniquement quand un réglage existe : sans réglage, aucun de ces sélecteurs ne matche
// et le rendu du composant reste inchangé.
// `scale` (propriété indépendante) plutôt que `transform` : ne casse ni les effets de
// survol ni les animations GSAP qui pilotent `transform` sur les mêmes <img>.

[style*='--img-'] {
    overflow: hidden;

    img {
        object-position: var(--img-x, 50%) var(--img-y, 50%);
        transform-origin: var(--img-x, 50%) var(--img-y, 50%);
        scale: var(--img-zoom, 1);
    }
}

:root[data-theme='dark'] [style*='--img-'] img {
    object-position: var(--img-dx, 50%) var(--img-dy, 50%);
    transform-origin: var(--img-dx, 50%) var(--img-dy, 50%);
    scale: var(--img-dzoom, 1);
}

// La plupart des cadres ont une hauteur fixe : il faut la libérer pour que le ratio
// choisi s'applique. Double attribut = spécificité au-dessus d'une classe BEM.
[style][data-img-ratio] {
    aspect-ratio: var(--img-ratio);
    height: auto;
    min-height: 0;
}
