/*
 * footer/carnet — porte depuis Pied.astro de la maquette de Chez Loeli. Engagement 5 : aucun
 * hexadecimal. Le bandeau plein prend la teinte profonde du site ; la barre « live » de data-ivy-in
 * sert au bouton flottant (cta/flottant), qui s'efface quand le pied entre dans l'ecran.
 */
.ivy-footer--carnet { position: relative; background-color: var( --ivy-surface ); background-image: var( --ivy-grain, none ); color: var( --ivy-ink ); font-size: calc( var( --ivy-font-body ) * .882 ); }
.ivy-footer--carnet .ivy-footer__inner,
.ivy-footer--carnet .ivy-footer__bottom,
.ivy-footer--carnet .ivy-footer__band-line { box-sizing: border-box; width: min( 100% - 2 * clamp( 20px, 5vw, 56px ), 1200px ); margin-inline: auto; }
.ivy-footer--carnet .ivy-footer__inner { display: grid; gap: 36px clamp( 24px, 4vw, 64px ); padding-block: clamp( 48px, 6vw, 80px ) clamp( 28px, 4vw, 44px ); }
@media ( min-width: 720px ) {
	.ivy-footer--carnet .ivy-footer__inner { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); }
	.ivy-footer--carnet .ivy-footer__brand { grid-column: 1 / -1; }
}
@media ( min-width: 1020px ) {
	.ivy-footer--carnet .ivy-footer__inner { grid-template-columns: 1.2fr .8fr 1fr 1.2fr; }
	.ivy-footer--carnet .ivy-footer__brand { grid-column: auto; }
}
.ivy-footer--carnet .ivy-footer__logo { display: block; width: min( 230px, 62vw ); }
.ivy-footer--carnet .ivy-footer__logo img { display: block; width: 100%; height: auto; }
.ivy-footer--carnet .ivy-footer__label { margin: 0 0 14px; color: var( --ivy-ink ); font-size: var( --ivy-font-label ); font-weight: 600; line-height: 1.6; letter-spacing: .2em; text-transform: uppercase; }
.ivy-footer--carnet .ivy-footer__nav-label { color: var( --ivy-nav_title-color, var( --ivy-ink ) ); }
.ivy-footer--carnet .ivy-footer__secondary-label { color: var( --ivy-secondary_title-color, var( --ivy-ink ) ); }
.ivy-footer--carnet .ivy-footer__contact-label { color: var( --ivy-contact_title-color, var( --ivy-ink ) ); }
.ivy-root.ivy-footer--carnet :is( li, p ):not( .ivy-footer__label, .ivy-footer__band-name, .ivy-footer__signature ) { font-size: inherit; }
.ivy-footer--carnet :is( .ivy-footer__nav, .ivy-footer__nav-secondary, .ivy-footer__contact-col ) ul { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.ivy-footer--carnet :is( .ivy-footer__nav, .ivy-footer__nav-secondary, .ivy-footer__contact-col ) a { display: inline-flex; align-items: center; min-height: 32px; color: var( --ivy-menu-color, var( --ivy-ink ) ); text-decoration: underline 1px var( --ivy-line ); text-underline-offset: .22em; }
.ivy-footer--carnet .ivy-footer__nav-secondary a { color: var( --ivy-menu_secondary-color, var( --ivy-menu-color, var( --ivy-ink ) ) ); }
.ivy-footer--carnet .ivy-footer__contact a { color: var( --ivy-contact-color, var( --ivy-menu-color, var( --ivy-ink ) ) ); }
.ivy-footer--carnet :is( .ivy-footer__nav, .ivy-footer__nav-secondary, .ivy-footer__contact-col ) a:hover { color: var( --ivy-accent ); text-decoration-color: currentColor; }
.ivy-footer--carnet .ivy-footer__contact li { display: grid; grid-template-columns: 20px minmax( 0, 1fr ); gap: 10px; align-items: center; min-height: 32px; }
.ivy-footer--carnet .ivy-footer__contact a { overflow-wrap: anywhere; }
.ivy-footer--carnet .ivy-footer__contact-icon { display: block; width: 18px; height: 18px; color: var( --ivy-contact_icon-color, var( --ivy-ink ) ); }
.ivy-footer--carnet .ivy-footer__contact-icon :is( svg, i ) { display: block; width: 100%; height: 100%; fill: none; stroke: currentColor; stroke-width: 1.6; }

/* La ligne legale : le copyright a gauche, les mentions et le credit a droite. */
.ivy-footer--carnet .ivy-footer__bottom {
	--ivy-legal-size: calc( var( --ivy-font-body ) * .8235 );
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	align-items: center;
	gap: 6px 24px;
	padding-block: 16px 24px;
	border-block-start: 1px solid var( --ivy-line );
	color: var( --ivy-muted );
	font-size: calc( var( --ivy-font-body ) * .8235 );
}
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__copyright { order: 1; align-self: flex-start; text-align: start; }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__legal-links { order: 2; text-align: start; }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__legal-menu, .ivy-footer--carnet .ivy-footer__bottom .ivy-footer__agency { justify-content: flex-start; }
@media ( min-width: 720px ) { .ivy-footer--carnet .ivy-footer__bottom .ivy-footer__legal-links { margin-inline-start: auto; } }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__agency { order: 3; gap: 12px; min-height: 44px; }
.ivy-footer--carnet .ivy-footer__bottom a { color: var( --ivy-muted ); text-decoration: underline 1px var( --ivy-line ); text-underline-offset: .22em; }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__agency-link { text-decoration: none; }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__agency-logo { width: 88px; height: auto; }

/* Le bandeau : un dessin au trait, le nom, la signature. */
.ivy-footer--carnet .ivy-footer__band { padding-block: 22px; background-color: var( --ivy-deep ); color: var( --ivy-on-deep ); }
.ivy-footer--carnet .ivy-footer__band-line { display: grid; gap: 12px 32px; align-items: center; justify-items: center; text-align: center; }
@media ( min-width: 900px ) {
	.ivy-footer--carnet .ivy-footer__band-line { grid-template-columns: 1fr auto 1fr; }
	.ivy-footer--carnet .ivy-footer__drawing { justify-self: start; }
	.ivy-footer--carnet .ivy-footer__signature { justify-self: end; }
}
.ivy-footer--carnet .ivy-footer__drawing { display: block; width: clamp( 150px, 20vw, 250px ); height: auto; color: var( --ivy-drawing-color, var( --ivy-on-deep ) ); opacity: .85; }
.ivy-footer--carnet .ivy-footer__band-name { margin: 0; color: var( --ivy-title-color, var( --ivy-on-deep ) ); font-family: var( --ivy-font-titre ); font-size: var( --ivy-font-marquee ); font-weight: 600; line-height: 1.3; letter-spacing: .01em; }
.ivy-footer--carnet .ivy-footer__band-name span { margin-inline: 8px; opacity: .8; }
.ivy-footer--carnet .ivy-footer__signature { margin: 0; color: var( --ivy-signature-color, var( --ivy-on-deep ) ); font-family: var( --ivy-font-accent ); font-weight: 400; line-height: 1.05; }
@media ( max-width: 719px ) { .ivy-footer--carnet .ivy-footer__band { padding-block-end: 92px; } }
/* Les mentions : une ligne de texte, pas une cible de 44 px (la maquette les range avec le credit, 8 px au-dessus). */
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__legal-links { min-height: 0; }
.ivy-footer--carnet .ivy-footer__bottom .ivy-footer__legal-links :is( ul, li, a ) { min-height: 0; padding: 0; margin: 0; }
