/*
 * cta/photo-flanc — transposition de `.fin` (maquette Les Jolies Clés) : photo à gauche (30 %) qui touche le haut et le
 * bas du bloc, texte à droite centré verticalement, boîte de 1000 px. Pas de marge verticale sur la section : la photo
 * en occupe toute la hauteur. Engagement 5 : aucun hexadécimal, valeurs de repli comprises.
 */
.ivy-cta--photo-flanc { padding: 0 max( clamp( 20px, 5vw, 64px ), calc( ( 100% - 1000px ) / 2 ) ); }
.ivy-cta--photo-flanc .ivy-cta__inner { display: grid; grid-template-columns: 30% minmax( 0, 1fr ); align-items: stretch; gap: clamp( 28px, 4vw, 56px ); }
.ivy-cta--photo-flanc.ivy-cta--sans-photo .ivy-cta__inner { grid-template-columns: minmax( 0, 1fr ); }
.ivy-cta--photo-flanc .ivy-cta__media { position: relative; min-block-size: 240px; margin: 0; overflow: hidden; }
.ivy-cta--photo-flanc .ivy-cta__media img { position: absolute; inset: 0; display: block; inline-size: 100%; block-size: 100%; object-fit: cover; object-position: var( --ivy-cta-focus, 50% 38% ); }
.ivy-cta--photo-flanc.ivy-cta--focus-top .ivy-cta__media img { --ivy-cta-focus: 50% 0%; }
.ivy-cta--photo-flanc.ivy-cta--focus-bottom .ivy-cta__media img { --ivy-cta-focus: 50% 100%; }
.ivy-cta--photo-flanc .ivy-cta__content { align-self: center; padding-block: 40px; }
.ivy-cta--photo-flanc .ivy-cta__title { margin: 0; color: var( --ivy-title-color, var( --ivy-ink, rgb( 58 50 38 ) ) ); line-height: 1.25; }
.ivy-cta--photo-flanc .ivy-cta__text { margin-top: 10px; color: var( --ivy-text-color, var( --ivy-muted, rgb( 107 98 82 ) ) ); line-height: 1.6; }
.ivy-cta--photo-flanc .ivy-cta__text p { margin: 0; font-size: inherit; }
.ivy-cta--photo-flanc .ivy-cta__actions { display: flex; flex-direction: column; align-items: flex-start; gap: 14px; margin-top: 18px; }
.ivy-cta--photo-flanc .ivy-cta__note { margin: 0; color: var( --ivy-note-color, var( --ivy-muted, rgb( 107 98 82 ) ) ); line-height: 1.6; }
:where( .ivy-cta--photo-flanc ) .ivy-cta__button { color: var( --ivy-cta-color, var( --ivy-on-accent, rgb( 37 29 23 ) ) ); background: var( --ivy-cta-background-color, var( --ivy-accent, rgb( 184 151 90 ) ) ); border: 1px solid var( --ivy-cta-border-color, var( --ivy-accent, rgb( 184 151 90 ) ) ); display: inline-flex; align-items: center; justify-content: center; text-align: center; text-decoration: none; transition: background-color 250ms cubic-bezier( .2, .7, .2, 1 ), filter 250ms cubic-bezier( .2, .7, .2, 1 ); }
:where( .ivy-cta--photo-flanc ) .ivy-cta__button:hover { filter: brightness( .92 ); }
:where( .ivy-cta--photo-flanc ) .ivy-cta__button:focus-visible { outline: 2px solid currentcolor; outline-offset: 3px; }
@media ( max-width: 899px ) {
	.ivy-cta--photo-flanc { padding-inline: 0; }
	.ivy-cta--photo-flanc .ivy-cta__inner { grid-template-columns: minmax( 0, 1fr ); gap: 0; }
	.ivy-cta--photo-flanc .ivy-cta__media { min-block-size: 0; aspect-ratio: 16 / 9; }
	.ivy-cta--photo-flanc .ivy-cta__content { padding: 32px clamp( 20px, 5vw, 64px ) 40px; }
}
@media ( max-width: 599px ) {
	.ivy-cta--photo-flanc .ivy-cta__actions { align-items: stretch; }
	.ivy-cta--photo-flanc .ivy-cta__button { inline-size: 100%; }
	.ivy-cta--photo-flanc .ivy-cta__note { text-align: center; }
}
