/* Netlinko – the public blocks of the platform on the pages of the site ([netlinko_chiffres], [netlinko_niveaux],
   [netlinko_pertinence]): their rules only, the same as in space.css (the member space keeps its whole stylesheet).
   Colours and fonts follow the Netlinko theme when it is active (its presets), with the same values as fallback. */

.nl-tool,.nl-figures,.nl-levels{
	--nl-ink: #0b1a2b;
	--nl-text: #1b2a3a;
	--nl-muted: #5b6b7c;
	--nl-line: #e3e8ee;
	--nl-bg: #f4f7fa;
	--nl-card: #fff;
	--nl-primary: var(--wp--preset--color--primary, #0d2f4f);
	--nl-primary-600: #071e33;
	--nl-primary-50: #e8eef5;
	--nl-mint: #0fa97a;
	--nl-mint-50: #e3f7ef;
	--nl-amber: #c77700;
	--nl-amber-50: #fff3d6;
	--nl-red: #d42f2f;
	--nl-red-50: #ffeaea;
	--nl-violet: #8a6a00;
	--nl-violet-50: #fff6d6;
	--nl-radius: 14px;
	--nl-shadow: 0 1px 2px rgba(16, 24, 64, .06), 0 4px 16px rgba(16, 24, 64, .05);
	--nl-shadow-lg: 0 10px 40px rgba(16, 24, 64, .12);
	--nl-font: var(--wp--preset--font-family--body, "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);
	--nl-display: var(--wp--preset--font-family--display, "Poppins", var(--nl-font));
	font-family: var(--nl-font);
	color: var(--nl-text);
	font-size: 15px;
	line-height: 1.55;
}
.nl-tool *,.nl-levels *{ box-sizing: border-box; }
.nl-tool h3,.nl-levels h3{ font-family: var(--nl-display); color: var(--nl-ink); letter-spacing: -.01em; line-height: 1.25; }
.nl-btn{
	display: inline-flex; align-items: center; justify-content: center; gap: .45em;
	padding: .62em 1.15em; border-radius: 10px; border: 1px solid var(--nl-primary);
	background: var(--nl-primary); color: #fff !important; font: 600 .95rem/1.2 var(--nl-font);
	text-decoration: none !important; cursor: pointer; transition: background .15s, box-shadow .15s, transform .15s;
	box-shadow: 0 1px 2px rgba(13, 47, 79, .25);
}
.nl-btn:hover{ background: var(--nl-primary-600); box-shadow: 0 6px 18px rgba(13, 47, 79, .28); transform: translateY(-1px); }
.nl-btn--ghost{ background: #fff; color: var(--nl-primary) !important; border-color: color-mix(in srgb, var(--nl-primary) 35%, #fff); box-shadow: none; }
.nl-btn--ghost:hover{ background: var(--nl-primary-50); box-shadow: none; }
.nl-chip{ display: inline-block; padding: .18em .65em; border-radius: 999px; font-size: .8rem; background: var(--nl-primary-50); color: var(--nl-primary-600); font-weight: 500; }
.nl-hp{ position: absolute !important; left: -9999px; }
.nl-figures{ list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)); gap: 1.2em; }
.nl-figures li{ display: flex; flex-direction: column; gap: .2em; }
.nl-figures strong{ font: 800 clamp(1.8rem, 3.5vw, 2.6rem)/1.05 var(--nl-display); letter-spacing: -.02em; background: linear-gradient(120deg, #0d2f4f, #1e5a8c 55%, #d4a300); -webkit-background-clip: text; background-clip: text; color: transparent; }
.nl-figures span{ color: var(--nl-muted); font-size: .92rem; }
.is-style-dark .nl-figures strong,.nl-dark .nl-figures strong{ background: linear-gradient(120deg, #fff, #d4dfeb 50%, #ffc400); -webkit-background-clip: text; background-clip: text; }
.is-style-dark .nl-figures span,.nl-dark .nl-figures span{ color: #b7c6d6; }
.nl-levels{ display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.2em; align-items: stretch; }
.nl-level{ display: flex; flex-direction: column; gap: .4em; padding: 1.6em 1.4em; background: #fff; border: 1px solid var(--nl-line); border-radius: 18px; box-shadow: var(--nl-shadow); }
.nl-level.is-featured{ border: 2px solid var(--nl-primary); box-shadow: 0 18px 50px rgba(13, 47, 79, .18); position: relative; }
.nl-level.is-featured::before{ content: "Notre recommandation"; position: absolute; top: -.85em; left: 1.2em; padding: .2em .7em; border-radius: 999px; background: var(--nl-primary); color: #fff; font-size: .72rem; font-weight: 700; }
.nl-level h3{ margin: 0; font-size: 1.25rem; }
.nl-level__price{ font: 800 1.35rem var(--nl-display); color: var(--nl-ink); margin: .2em 0 .5em; }
.nl-level ul{ list-style: none; margin: 0 0 1em; padding: 0; display: grid; gap: .5em; font-size: .92rem; }
.nl-level li::before{ content: "✓"; color: var(--nl-mint); font-weight: 800; margin-right: .5em; }
.nl-level__text{ color: var(--nl-muted); font-size: .9rem; }
.nl-level .nl-btn{ margin-top: auto; }
.nl-tool{ background: #fff; border: 1px solid var(--nl-line); border-radius: 20px; padding: 1.4em; box-shadow: var(--nl-shadow-lg); color: var(--nl-text); text-align: left; }
.nl-tool__form{ margin: 0; }
.nl-tool__fields{ display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: .8em; align-items: end; }
.nl-tool__fields p:first-child{ grid-column: 1 / -1; }
.nl-tool__fields p{ margin: 0; }
.nl-tool label{ display: block; font-size: .82rem; font-weight: 600; margin-bottom: .3em; color: var(--nl-ink); }
.nl-tool label span{ color: var(--nl-muted); font-weight: 400; }
.nl-tool input[type=url],.nl-tool input[type=text]{ width: 100%; padding: .75em .9em; border: 1px solid #d5d9e6; border-radius: 12px; font: inherit; }
.nl-tool input:focus{ outline: none; border-color: var(--nl-primary); box-shadow: 0 0 0 4px rgba(13, 47, 79, .15); }
.nl-tool .nl-btn{ padding: .82em 1.3em; border-radius: 12px; white-space: nowrap; }
.nl-tool__msg{ margin: 1em 0 0; padding: .8em 1em; border-radius: 12px; background: var(--nl-primary-50); }
.nl-tool__msg.is-error{ background: var(--nl-red-50); color: #8f1d1d; }
.nl-result{ margin-top: 1.2em; padding-top: 1.2em; border-top: 1px solid var(--nl-line); }
.nl-result__lead{ font-size: 1.05rem; margin: 0 0 .6em; }
.nl-result__lead strong{ color: var(--nl-primary-600); }
.nl-result__terms{ display: flex; flex-wrap: wrap; gap: .35em; align-items: center; font-size: .85rem; color: var(--nl-muted); margin: 0 0 1em; }
.nl-result__list{ list-style: none; margin: 0; padding: 0; display: grid; gap: .5em; }
.nl-result__list li{ display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: .9em; align-items: center; padding: .7em .9em; border: 1px solid var(--nl-line); border-radius: 14px; }
.nl-result__list li div{ display: flex; flex-direction: column; min-width: 0; }
.nl-result__list li strong{ color: var(--nl-ink); letter-spacing: .02em; }
.nl-result__list li span{ font-size: .84rem; color: var(--nl-muted); }
.nl-result__price{ font-weight: 700; color: var(--nl-ink) !important; white-space: nowrap; }
.nl-result__cta{ display: flex; flex-wrap: wrap; gap: .8em; align-items: center; margin: 1.1em 0 0; }
.nl-result__cta span{ font-size: .85rem; color: var(--nl-muted); }
.nl-tool--member{ text-align: center; }
@media (max-width: 720px){
.nl-tool__fields{ grid-template-columns: 1fr; }
.nl-result__list li{ grid-template-columns: auto minmax(0, 1fr); }
.nl-result__price{ grid-column: 2; }
}
