/*
 * footer/clef — transposition de `.pied` (maquette Les Jolies Clés) : fond brun, colonne de
 * marque (logo, accroche en deux lignes, réseaux), « Navigation » et « Contact », barre du bas.
 * Engagement 5 : aucun hexadécimal, valeurs de repli comprises. La barre du bas appartient à
 * ivy-footer-bottom.css : on n'en règle ici que la géométrie (filet, marges, ORDRE).
 */
.ivy-footer--clef {
	padding: clamp( 72px, 8vw, 112px ) max( clamp( 20px, 5vw, 64px ), calc( ( 100% - 1240px ) / 2 ) ) 0;
	background: var( --ivy-deep, rgb( 37 29 23 ) );
	color: var( --ivy-on-deep-muted, rgb( 249 246 241 / 78% ) );
	overflow: hidden;
}
.ivy-footer--clef .ivy-footer__inner { display: grid; grid-template-columns: 1.4fr 1fr 1fr; gap: 48px; }
.ivy-footer--clef .ivy-footer__brand { display: block; }
.ivy-footer--clef .ivy-footer__logo { display: block; inline-size: 168px; }
.ivy-footer--clef .ivy-footer__logo img { display: block; inline-size: 100%; block-size: auto; }
/* L'accroche garde sa coupure après la virgule (demande de Coralie) : le retour à la ligne du champ est conservé. */
.ivy-footer--clef .ivy-footer__title { margin: 22px 0 0; color: var( --ivy-title-color, var( --ivy-on-deep, rgb( 251 248 242 ) ) ); font-family: var( --ivy-font-titre, inherit ); font-weight: 400; line-height: 1.5; white-space: pre-line; }
.ivy-footer--clef .ivy-footer__social { display: flex; gap: 20px; margin: 22px 0 0 -8px; padding: 0; list-style: none; color: var( --ivy-social-color, var( --ivy-on-deep, rgb( 251 248 242 ) ) ); }
.ivy-footer--clef .ivy-footer__social a { display: grid; place-items: center; min-inline-size: 40px; min-block-size: 40px; color: inherit; text-decoration: none; transition: color 300ms cubic-bezier( .2, .7, .2, 1 ); }
.ivy-footer--clef .ivy-footer__social svg { inline-size: 24px; block-size: 24px; fill: none; stroke: currentcolor; stroke-width: 1.7; stroke-linecap: round; stroke-linejoin: round; }
.ivy-footer--clef .ivy-footer__social a:hover { color: var( --ivy-accent, rgb( 184 151 90 ) ); }
.ivy-footer--clef .ivy-footer__label { display: block; margin: 0 0 18px; font-size: var( --ivy-font-label ); font-weight: 600; line-height: 1.6; letter-spacing: .22em; text-transform: uppercase; }
.ivy-footer--clef .ivy-footer__nav-label { color: var( --ivy-nav_title-color, var( --ivy-accent-on-deep, rgb( 184 151 90 ) ) ); }
.ivy-footer--clef .ivy-footer__secondary-label { color: var( --ivy-secondary_title-color, var( --ivy-accent-on-deep, rgb( 184 151 90 ) ) ); }
.ivy-footer--clef .ivy-footer__menu { display: grid; gap: 10px; margin: 0; padding: 0; list-style: none; line-height: 1.6; }
.ivy-footer--clef .ivy-footer__menu li { font-size: inherit; }
.ivy-footer--clef .ivy-footer__nav a,
.ivy-footer--clef .ivy-footer__nav-secondary a { color: var( --ivy-menu-color, inherit ); text-decoration: none; transition: color 200ms cubic-bezier( .2, .7, .2, 1 ); }
.ivy-footer--clef .ivy-footer__nav-secondary a { color: var( --ivy-menu_secondary-color, inherit ); }
.ivy-footer--clef .ivy-footer__nav-secondary li:last-child a { color: var( --ivy-on-deep, rgb( 251 248 242 ) ); }
.ivy-footer--clef :is( .ivy-footer__nav, .ivy-footer__nav-secondary ) a:hover { color: var( --ivy-gold-light, rgb( 230 214 168 ) ); }

.ivy-footer--clef .ivy-footer__bottom { justify-content: space-between; margin: 28px calc( -1 * clamp( 20px, 5vw, 64px ) ) 0; padding: 26px clamp( 20px, 5vw, 64px ) 32px; border-top: 1px solid var( --ivy-line-deep, rgb( 249 246 241 / 12% ) ); line-height: 1.6; }
.ivy-footer--clef .ivy-footer__bottom .ivy-footer__copyright { order: 0; text-align: start; }
.ivy-footer--clef .ivy-footer__bottom .ivy-footer__legal-links { order: 1; }
.ivy-footer--clef .ivy-footer__bottom .ivy-footer__agency { order: 2; }
.ivy-footer--clef .ivy-footer__legal-menu { gap: 0 24px; }
.ivy-footer--clef .ivy-footer__legal-menu li { font-size: inherit; }
.ivy-footer--clef .ivy-footer__bottom a { color: inherit; text-decoration: none; transition: color 200ms cubic-bezier( .2, .7, .2, 1 ); }
.ivy-footer--clef .ivy-footer__bottom .ivy-footer__agency-link { color: var( --ivy-on-deep, rgb( 251 248 242 ) ); }
.ivy-footer--clef .ivy-footer__bottom :is( .ivy-footer__legal-menu a, .ivy-footer__agency-link ) { margin-block: calc( ( 1lh - 2.75rem ) / 2 ); }

@media ( max-width: 899px ) {
	.ivy-footer--clef .ivy-footer__inner { grid-template-columns: 1fr 1fr; }
	.ivy-footer--clef .ivy-footer__brand { grid-column: 1 / -1; }
	.ivy-footer--clef .ivy-footer__menu li { overflow-wrap: anywhere; }
	.ivy-footer--clef .ivy-footer__bottom { flex-direction: column; align-items: flex-start; }
}
@media ( max-width: 560px ) {
	.ivy-footer--clef .ivy-footer__inner { grid-template-columns: 1fr; gap: 32px; }
}
@media ( prefers-reduced-motion: reduce ) {
	.ivy-footer--clef a { transition: none; }
}
