/*
 * cards/panoramas — panneaux-photos dont la largeur suit le survol. Engagement
 * 5 : aucun hexadecimal. Le voile n'a aucun fond par defaut (famille
 * `background`) : le texte se lit sur une ombre portee, que le voile renforce.
 */
.ivy-cards--panoramas { padding: clamp( 80px, 9vw, 120px ) clamp( 20px, 5vw, 64px ); }
.ivy-cards--panoramas .ivy-cards__inner { max-width: 1280px; margin-inline: auto; }
.ivy-cards--panoramas .ivy-cards__head { display: grid; grid-template-columns: minmax( 0, 1.1fr ) minmax( 0, .9fr ); gap: 24px 64px; align-items: end; margin-bottom: clamp( 28px, 4vw, 40px ); }
.ivy-cards--panoramas .ivy-cards__head-group { display: grid; gap: 18px; }
.ivy-cards--panoramas .ivy-cards__eyebrow { margin: 0; color: var( --ivy-eyebrow-color, var( --ivy-accent, rgb( 17 17 17 ) ) ); font-size: var( --ivy-font-label ); font-weight: 600; letter-spacing: .14em; text-transform: uppercase; }
.ivy-cards--panoramas .ivy-cards__title { margin: 0; color: var( --ivy-title-color, var( --ivy-ink, rgb( 17 17 17 ) ) ); line-height: 1.12; }
.ivy-cards--panoramas .ivy-cards__intro { color: var( --ivy-text-color, var( --ivy-muted, rgb( 82 82 82 ) ) ); }
.ivy-cards--panoramas .ivy-cards__intro > * { margin: 0; }
.ivy-cards--panoramas .ivy-cards__aside { display: grid; justify-items: start; gap: 14px; }
.ivy-cards--panoramas .ivy-cards__cta { display: inline-flex; align-items: center; min-height: 44px; color: var( --ivy-cta-color, var( --ivy-ink, rgb( 17 17 17 ) ) ); font-weight: 600; text-decoration: none; }
.ivy-cards--panoramas .ivy-cards__cta:hover { text-decoration: underline; text-underline-offset: 4px; }

.ivy-cards--panoramas .ivy-cards__panoramas { display: flex; gap: 12px; height: clamp( 380px, 32vw, 460px ); margin: 0; padding: 0; list-style: none; }
.ivy-cards--panoramas .ivy-cards__panorama {
	position: relative;
	display: flex;
	flex: 1 1 0;
	align-items: flex-end;
	min-width: 0;
	overflow: hidden;
	isolation: isolate;
	border-radius: var( --ivy-radius-surface, 20px );
	outline: none;
	transition: flex-grow 500ms cubic-bezier( .22, 1, .36, 1 );
}
/* Le premier ouvert ; au survol ou au clavier, celui-la prend sa place. */
.ivy-cards--panoramas .ivy-cards__panorama:first-child,
.ivy-cards--panoramas .ivy-cards__panoramas:is( :hover, :focus-within ) .ivy-cards__panorama:is( :hover, :focus-within ) { flex-grow: 2.2; }
.ivy-cards--panoramas .ivy-cards__panoramas:is( :hover, :focus-within ) .ivy-cards__panorama:first-child:not( :hover, :focus-within ) { flex-grow: 1; }
.ivy-cards--panoramas .ivy-cards__panorama:focus-visible { outline: 3px solid var( --ivy-accent, rgb( 17 17 17 ) ); outline-offset: 3px; }
.ivy-cards--panoramas .ivy-cards__panorama-image { position: absolute; inset: 0; z-index: -2; width: 100%; height: 100%; object-fit: cover; }
.ivy-cards--panoramas .ivy-cards__veil { position: absolute; inset: 0; z-index: -1; }
.ivy-cards--panoramas .ivy-cards__panorama-body { display: grid; gap: 4px; width: 100%; padding: 72px 22px 20px; background: linear-gradient( 180deg, transparent, color-mix( in srgb, var( --ivy-veil, rgb( 17 17 17 ) ) 88%, transparent ) ); }
.ivy-cards--panoramas .ivy-cards__label { color: var( --ivy-number-color, var( --ivy-accent-on-deep, rgb( 202 194 181 ) ) ); font-size: calc( var( --ivy-font-label ) * .85 ); font-weight: 600; letter-spacing: .12em; text-transform: uppercase; }
.ivy-cards--panoramas .ivy-cards__panorama-title { margin: 0; color: var( --ivy-item_title-color, var( --ivy-on-deep, rgb( 255 255 255 ) ) ); line-height: 1.2; }
.ivy-cards--panoramas .ivy-cards__panorama-link { color: inherit; text-decoration: none; }
.ivy-cards--panoramas .ivy-cards__panorama-link::after { content: ""; position: absolute; inset: 0; }
.ivy-cards--panoramas .ivy-cards__panorama-text { margin: 0; color: var( --ivy-item_text-color, var( --ivy-on-deep-muted, rgb( 205 205 201 ) ) ); font-size: calc( var( --ivy-font-body ) * .875 ); }
.ivy-cards--panoramas .ivy-cards__credit { position: absolute; top: 10px; right: 12px; left: 12px; color: var( --ivy-credit-color, color-mix( in srgb, var( --ivy-on-deep, rgb( 255 255 255 ) ) 75%, transparent ) ); font-size: calc( var( --ivy-font-label ) * .77 ); text-align: right; opacity: 0; transition: opacity 300ms ease; }
.ivy-cards--panoramas .ivy-cards__panorama:is( :hover, :focus-within ) .ivy-cards__credit,
.ivy-cards--panoramas .ivy-cards__panoramas:not( :hover, :focus-within ) .ivy-cards__panorama:first-child .ivy-cards__credit { opacity: 1; }

@media ( max-width: 900px ) {
	.ivy-cards--panoramas .ivy-cards__head { grid-template-columns: minmax( 0, 1fr ); }
	.ivy-cards--panoramas .ivy-cards__panoramas { flex-direction: column; height: auto; }
	.ivy-cards--panoramas .ivy-cards__panorama { flex: none; min-height: 260px; }
	.ivy-cards--panoramas .ivy-cards__credit { opacity: 1; }
}
@media ( prefers-reduced-motion: reduce ) {
	.ivy-cards--panoramas .ivy-cards__panorama,
	.ivy-cards--panoramas .ivy-cards__credit { transition: none; }
}
