/*
 * pricing/forfait — porte depuis le bloc « tarif » de l'accueil de la maquette Astro de Chez Loeli.
 * Engagement 5 : aucun hexadecimal. Les titres prennent leur taille au kit.
 */
.ivy-pricing--forfait { padding-block: clamp( 72px, 9vw, 120px ); background-color: var( --ivy-surface-soft ); background-image: var( --ivy-grain, none ); color: var( --ivy-ink ); }
.ivy-pricing--forfait .ivy-pricing__inner { width: min( 100% - 2 * clamp( 20px, 5vw, 56px ), 1200px ); margin-inline: auto; }
.ivy-pricing--forfait .ivy-pricing__header { display: grid; gap: 16px; margin-block-end: clamp( 32px, 5vw, 56px ); }
.ivy-pricing--forfait .ivy-pricing__eyebrow { margin: 0; color: var( --ivy-eyebrow-color, var( --ivy-ink ) ); font-size: var( --ivy-font-label ); font-weight: 600; line-height: 1.6; letter-spacing: .2em; text-transform: uppercase; }
.ivy-pricing--forfait .ivy-pricing__eyebrow::before { content: ''; display: inline-block; width: 24px; height: 11px; margin-inline-end: 12px; vertical-align: -1px; background: var( --ivy-support ); -webkit-mask: var( --ivy-roof-mask ) center / contain no-repeat; mask: var( --ivy-roof-mask ) center / contain no-repeat; }
.ivy-pricing--forfait .ivy-pricing__title { margin: 0; color: var( --ivy-title-color, var( --ivy-ink ) ); }
.ivy-pricing--forfait .ivy-pricing__lede { max-width: 62ch; font-size: var( --ivy-font-lead ); }
.ivy-pricing--forfait .ivy-pricing__text { color: var( --ivy-text-color, var( --ivy-muted ) ); font-size: inherit; }
.ivy-pricing--forfait .ivy-pricing__text > * { margin: 0; font-size: inherit; }

.ivy-pricing--forfait .ivy-pricing__plans { display: grid; gap: clamp( 20px, 3vw, 40px ); }
@media ( min-width: 720px ) { .ivy-pricing--forfait .ivy-pricing__plans { grid-template-columns: repeat( 2, minmax( 0, 1fr ) ); } }
.ivy-pricing--forfait .ivy-pricing__plan {
	display: grid;
	gap: 14px;
	align-content: start;
	min-width: 0;
	padding: clamp( 26px, 3.5vw, 44px );
	border: 1px solid var( --ivy-line );
	border-radius: var( --ivy-radius-surface, 18px );
	background-color: var( --ivy-surface );
}
.ivy-pricing--forfait .ivy-pricing__plan--featured { border-color: transparent; background-color: var( --ivy-plan_featured-background-color, var( --ivy-print-paper, var( --ivy-surface ) ) ); }
.ivy-pricing--forfait .ivy-pricing__name { margin: 0; color: var( --ivy-plan_name-color, var( --ivy-ink ) ); font-size: var( --ivy-font-label ); font-weight: 600; line-height: 1.6; letter-spacing: .2em; text-transform: uppercase; }
.ivy-pricing--forfait .ivy-pricing__figure { margin: 0; color: var( --ivy-figure-color, var( --ivy-accent ) ); font-family: var( --ivy-font-titre ); font-variant-numeric: lining-nums; line-height: 1; }
.ivy-pricing--forfait .ivy-pricing__ring { position: relative; display: inline-block; padding-inline: .12em; }
.ivy-pricing--forfait .ivy-pricing__circle { position: absolute; inset: -22% -22% -18% -18%; width: 140%; height: 140%; overflow: visible; pointer-events: none; }
.ivy-pricing--forfait .ivy-pricing__circle path { fill: none; stroke: var( --ivy-circle-color, var( --ivy-support ) ); stroke-width: 2.4; stroke-linecap: round; stroke-linejoin: round; }
.ivy-pricing--forfait .ivy-pricing__legend { max-width: 44ch; margin: 0; color: var( --ivy-legend-color, var( --ivy-muted ) ); }
.ivy-pricing--forfait .ivy-pricing__plan--featured .ivy-pricing__legend { color: var( --ivy-legend-color, var( --ivy-ink ) ); }
.ivy-pricing--forfait .ivy-pricing__includes { display: grid; gap: 8px; margin: 0; padding: 0; list-style: none; }
.ivy-pricing--forfait .ivy-pricing__include { display: grid; grid-template-columns: 22px minmax( 0, 1fr ); gap: 12px; align-items: start; color: var( --ivy-include-color, inherit ); }
.ivy-pricing--forfait .ivy-pricing__include::before { content: ''; width: 20px; height: 20px; margin-top: 3px; background: var( --ivy-accent ); -webkit-mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.6 12.9c1.7 1.1 3 2.5 4.2 4.3 2.3-4.7 5.6-8.5 10.6-11.7'/%3E%3C/svg%3E" ) center / contain no-repeat; mask: url( "data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.6 12.9c1.7 1.1 3 2.5 4.2 4.3 2.3-4.7 5.6-8.5 10.6-11.7'/%3E%3C/svg%3E" ) center / contain no-repeat; }
.ivy-pricing--forfait .ivy-pricing__rows { display: grid; margin: 0; padding: 0; list-style: none; }
.ivy-pricing--forfait .ivy-pricing__row { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; padding-block: 14px; border-block-end: 1px solid var( --ivy-line ); }
.ivy-pricing--forfait .ivy-pricing__row-label { color: var( --ivy-row_type-color, inherit ); }
.ivy-pricing--forfait .ivy-pricing__row-price { color: var( --ivy-row_price-color, var( --ivy-accent ) ); font-family: var( --ivy-font-titre ); font-weight: 500; line-height: 1.1; }
.ivy-pricing--forfait .ivy-pricing__more { margin: clamp( 28px, 4vw, 44px ) 0 0; }
.ivy-pricing--forfait .ivy-pricing__cta {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	min-height: 52px;
	padding: .85em 1.7em;
	border: 1.5px solid var( --ivy-cta-border-color, var( --ivy-accent ) );
	border-radius: var( --ivy-radius-action, 999px );
	background-color: var( --ivy-cta-background-color, transparent );
	color: var( --ivy-cta-color, var( --ivy-accent ) );
	font-size: var( --ivy-font-h6 ); font-weight: 600;
	line-height: 1.2;
	text-decoration: none;
	transition: background-color 200ms ease, color 200ms ease, border-color 200ms ease, transform 200ms ease;
}
.ivy-pricing--forfait .ivy-pricing__cta:hover { background-color: var( --ivy-accent ); color: var( --ivy-on-accent ); }
.ivy-pricing--forfait .ivy-pricing__cta:focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.ivy-pricing--forfait .ivy-pricing__cta::after { content: ''; width: 18px; height: 18px; background: currentColor; -webkit-mask: var( --ivy-arrow-mask ) center / contain no-repeat; mask: var( --ivy-arrow-mask ) center / contain no-repeat; transition: transform 200ms ease; }
.ivy-pricing--forfait .ivy-pricing__cta:hover::after { transform: translateX( 3px ); }
@media ( prefers-reduced-motion: no-preference ) {
	.ivy-motion-ready .ivy-pricing--forfait .ivy-pricing__circle path { stroke-dasharray: 1; stroke-dashoffset: 1; transition: stroke-dashoffset 1.1s cubic-bezier( .65, 0, .35, 1 ) 450ms; }
	.ivy-motion-ready .ivy-pricing--forfait [data-ivy-in].ivy-in .ivy-pricing__circle path { stroke-dashoffset: 0; }
}

/* Un mot en `{{ }}` dans ce titre : la maquette le pose en <span class="script">, qui n'y change ni la police ni la couleur mais coupe l'espacement des lettres. */
.ivy-pricing--forfait .ivy-hl { color: inherit; letter-spacing: 0; }
