/* ACS – Diagnostic Sécurité — front */
.acsds-root {
	--acsds-ink: #1C234B;
	--acsds-text: #3E4A66;
	--acsds-muted: #727B95;
	--acsds-line: #E3E7F0;
	--acsds-soft: #F1F5FD;
	--acsds-ok: #2E7D32;
	--acsds-warn: #C77700;
	--acsds-bad: #C62828;
	--acsds-radius: 18px;
	--acsds-font: inherit;
	font-family: var(--acsds-font);
	-webkit-font-smoothing: antialiased;
}
/* --acsds-primary et --acsds-dark sont définies sur :root par le plugin (couleurs des réglages). */
:root { --acsds-primary: #EB5F39; --acsds-dark: #1C234B; }

/* Reset défensif contre les styles du thème */
.acsds-root *, .acsds-inline, .acsds-inline * { box-sizing: border-box; }
.acsds-root button, .acsds-inline button {
	margin: 0; font: inherit; letter-spacing: normal; text-transform: none; text-shadow: none;
	box-shadow: none; min-height: 0; min-width: 0; width: auto; line-height: 1.3; cursor: pointer;
	-webkit-appearance: none; appearance: none; background: none; border: 0; color: inherit;
}
.acsds-root svg { display: block; flex: none; }
.acsds-root p, .acsds-root h2, .acsds-root ul, .acsds-root li { margin: 0; padding: 0; max-width: none; }
.acsds-root strong, .acsds-root b { font-weight: 700; }
.acsds-root ul { list-style: none; }
.acsds-root a { color: inherit; }
.acsds-root :focus-visible { outline: 3px solid color-mix(in srgb, var(--acsds-primary) 55%, transparent); outline-offset: 2px; }
.acsds-sr { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ------------------------------------------------------------------ */
/* Bouton flottant (ordinateur/tablette)                               */
/* ------------------------------------------------------------------ */
.acsds-root .acsds-fab {
	position: fixed; bottom: 24px; right: 24px; z-index: 99990;
	display: flex; align-items: center; gap: 12px;
	padding: 10px 22px 10px 10px; border-radius: 60px;
	background: var(--acsds-dark); color: #fff;
	box-shadow: 0 14px 40px rgba(0, 1, 29, .35), 0 0 0 1px rgba(255, 255, 255, .08) inset;
	transition: transform .2s ease, box-shadow .2s ease, opacity .2s;
	animation: acsds-in .5s ease both .6s;
}
.acsds-pos-left .acsds-fab { right: auto; left: 24px; }
.acsds-root .acsds-fab:hover { transform: translateY(-3px); box-shadow: 0 20px 50px rgba(0, 1, 29, .45); }
.acsds-fab__icon {
	position: relative; width: 46px; height: 46px; border-radius: 50%;
	display: grid; place-items: center; background: var(--acsds-primary); color: #fff;
}
.acsds-fab__icon svg { width: 24px; height: 24px; }
.acsds-fab__ping {
	position: absolute; inset: 0; border-radius: 50%; border: 2px solid var(--acsds-primary);
	animation: acsds-ping 2.2s cubic-bezier(0, 0, .2, 1) infinite;
}
.acsds-fab__txt { display: flex; flex-direction: column; text-align: left; }
.acsds-fab__txt strong { font-size: 16px; font-weight: 700; line-height: 1.2; }
.acsds-fab__txt small { font-size: 12.5px; opacity: .75; line-height: 1.3; }

@keyframes acsds-ping { 0% { transform: scale(1); opacity: .8; } 80%, 100% { transform: scale(1.7); opacity: 0; } }
@keyframes acsds-in { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Bulle d'accroche */
.acsds-teaser {
	position: fixed; right: 24px; bottom: 96px; z-index: 99991; width: 300px;
	background: #fff; color: var(--acsds-ink); border-radius: 16px; padding: 16px 16px 14px;
	box-shadow: 0 18px 50px rgba(0, 1, 29, .22); cursor: pointer;
	opacity: 0; transform: translateY(10px) scale(.98); pointer-events: none; transition: .3s ease;
}
.acsds-pos-left .acsds-teaser { right: auto; left: 24px; }
.acsds-teaser.is-visible { opacity: 1; transform: none; pointer-events: auto; }
.acsds-teaser::after {
	content: ""; position: absolute; bottom: -7px; right: 38px; width: 14px; height: 14px;
	background: #fff; transform: rotate(45deg); border-radius: 2px;
}
.acsds-pos-left .acsds-teaser::after { right: auto; left: 38px; }
.acsds-teaser__txt { display: flex; gap: 10px; font-size: 14.5px; line-height: 1.45; padding-right: 26px; font-weight: 500; }
.acsds-teaser__txt svg { width: 20px; height: 20px; color: var(--acsds-primary); margin-top: 1px; }
.acsds-root .acsds-teaser__cta { margin-top: 10px; display: inline-flex; align-items: center; gap: 6px; color: var(--acsds-primary); font-weight: 700; font-size: 14px; padding-left: 30px; }
.acsds-teaser__cta svg { width: 16px; height: 16px; }
.acsds-root .acsds-teaser__close { position: absolute; top: 8px; right: 8px; width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; color: var(--acsds-muted); }
.acsds-root .acsds-teaser__close:hover { background: var(--acsds-soft); }
.acsds-teaser__close svg { width: 16px; height: 16px; }

/* ------------------------------------------------------------------ */
/* Barre mobile                                                         */
/* ------------------------------------------------------------------ */
.acsds-bar { display: none; }
@media (max-width: 767px) {
	.acsds-root .acsds-fab, .acsds-teaser { display: none !important; }
	.acsds-bar {
		display: flex; gap: 8px; position: fixed; left: 0; right: 0; bottom: 0; z-index: 99990;
		padding: 10px 12px calc(10px + env(safe-area-inset-bottom));
		background: rgba(255, 255, 255, .96); backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
		box-shadow: 0 -8px 30px rgba(0, 1, 29, .14);
		animation: acsds-up .45s ease both .4s;
	}
	.acsds-root .acsds-bar__main {
		flex: 1; display: flex; align-items: center; gap: 10px; min-height: 52px; padding: 8px 14px 8px 8px;
		border-radius: 14px; background: var(--acsds-primary); color: #fff; font-weight: 700; font-size: 15.5px; text-align: left;
		box-shadow: 0 8px 20px color-mix(in srgb, var(--acsds-primary) 40%, transparent);
	}
	.acsds-bar__main > span:nth-child(2) { flex: 1; line-height: 1.2; }
	.acsds-bar__main > svg { width: 20px; height: 20px; }
	.acsds-bar__icon { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: rgba(255, 255, 255, .18); }
	.acsds-bar__icon svg { width: 20px; height: 20px; }
	.acsds-root .acsds-bar__call {
		width: 52px; min-height: 52px; border-radius: 14px; display: grid; place-items: center;
		background: var(--acsds-dark); color: #fff; text-decoration: none;
	}
	.acsds-bar__call svg { width: 22px; height: 22px; }
	html.acsds-has-bar body { padding-bottom: calc(76px + env(safe-area-inset-bottom)) !important; }
}
@keyframes acsds-up { from { transform: translateY(100%); } to { transform: none; } }
html.acsds-lock, html.acsds-lock body { overflow: hidden !important; }
html.acsds-lock .acsds-bar, html.acsds-lock .acsds-fab { opacity: 0; pointer-events: none; }

/* ------------------------------------------------------------------ */
/* Fenêtre                                                             */
/* ------------------------------------------------------------------ */
.acsds-modal { position: fixed; inset: 0; z-index: 999999; display: none; }
.acsds-modal.is-open { display: block; }
.acsds-modal__overlay { position: absolute; inset: 0; background: rgba(0, 1, 29, .62); backdrop-filter: blur(3px); animation: acsds-fade .25s ease both; }
.acsds-modal__dialog {
	position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);
	width: min(560px, calc(100vw - 32px)); max-height: min(760px, calc(100vh - 40px));
	display: flex; flex-direction: column; background: #fff; color: var(--acsds-text);
	border-radius: 24px; box-shadow: 0 40px 100px rgba(0, 1, 29, .45); outline: none;
	animation: acsds-pop .3s cubic-bezier(.2, .9, .3, 1.2) both;
}
@keyframes acsds-fade { from { opacity: 0; } }
@keyframes acsds-pop { from { opacity: 0; transform: translate(-50%, -46%) scale(.97); } }
.acsds-modal__head { display: flex; align-items: center; gap: 12px; padding: 14px 14px 6px; }
.acsds-root .acsds-icon-btn { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; color: var(--acsds-ink); transition: background .15s; }
.acsds-root .acsds-icon-btn:hover { background: var(--acsds-soft); }
.acsds-icon-btn svg { width: 20px; height: 20px; }
.acsds-progress { flex: 1; height: 6px; border-radius: 6px; background: var(--acsds-soft); overflow: hidden; }
.acsds-progress span { display: block; height: 100%; width: 0; border-radius: 6px; background: var(--acsds-primary); transition: width .45s ease; }
.acsds-modal__body { overflow-y: auto; overscroll-behavior: contain; padding: 8px 32px 30px; -webkit-overflow-scrolling: touch; }
.acsds-view { animation: acsds-slide .35s ease both; }
@keyframes acsds-slide { from { opacity: 0; transform: translateX(14px); } }

@media (max-width: 767px) {
	.acsds-modal__dialog {
		left: 0; top: auto; bottom: 0; transform: none; width: 100%;
		height: 100dvh; max-height: 100dvh; border-radius: 0;
		animation: acsds-sheet .32s cubic-bezier(.2, .9, .3, 1) both;
	}
	.acsds-modal__body { padding: 6px 20px calc(24px + env(safe-area-inset-bottom)); flex: 1; }
	@keyframes acsds-sheet { from { transform: translateY(40px); opacity: 0; } }
}

/* Typo */
.acsds-root .acsds-kicker { font-size: 12.5px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--acsds-primary); margin: 6px 0 8px; }
.acsds-root .acsds-h { font-family: inherit; font-size: 26px; line-height: 1.2; font-weight: 800; color: var(--acsds-ink); margin: 0 0 10px; letter-spacing: -.01em; text-transform: none; }
.acsds-root .acsds-p { font-size: 16px; line-height: 1.6; color: var(--acsds-text); margin: 0 0 18px; }
.acsds-root .acsds-hint { font-size: 14.5px; color: var(--acsds-muted); margin: -4px 0 16px; }
.acsds-root .acsds-src { font-size: 12px; color: var(--acsds-muted); margin-top: 12px; line-height: 1.4; }
.acsds-root .acsds-alt { text-align: center; font-size: 14.5px; color: var(--acsds-muted); margin-top: 14px; }
.acsds-root .acsds-alt a { color: var(--acsds-ink); font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.acsds-root .acsds-error { color: var(--acsds-bad); font-size: 14px; margin: 6px 0 0; font-weight: 500; }
@media (max-width: 767px) { .acsds-root .acsds-h { font-size: 23px; } }

/* Boutons */
.acsds-root .acsds-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 10px;
	min-height: 54px; padding: 14px 24px; border-radius: 40px; font-size: 16.5px; font-weight: 700;
	transition: transform .15s ease, background .15s, box-shadow .15s, opacity .15s; text-decoration: none;
}
.acsds-btn svg { width: 20px; height: 20px; transition: transform .2s; }
.acsds-root .acsds-btn--primary { background: var(--acsds-primary); color: #fff; box-shadow: 0 10px 26px color-mix(in srgb, var(--acsds-primary) 38%, transparent); }
.acsds-root .acsds-btn--primary:hover:not(:disabled) { transform: translateY(-1px); }
.acsds-root .acsds-btn--primary:hover:not(:disabled) svg { transform: translateX(3px); }
.acsds-root .acsds-btn--dark { background: var(--acsds-dark); color: #fff; }
.acsds-root .acsds-btn--block { width: 100%; margin-top: 18px; }
.acsds-root .acsds-btn:disabled { opacity: .45; cursor: not-allowed; box-shadow: none; }
.acsds-root .acsds-btn.is-loading { color: transparent; position: relative; }
.acsds-btn.is-loading::after { content: ""; position: absolute; width: 22px; height: 22px; border: 3px solid rgba(255, 255, 255, .4); border-top-color: #fff; border-radius: 50%; animation: acsds-spin .8s linear infinite; }
.acsds-btn.is-loading svg { opacity: 0; }

/* Intro */
.acsds-hero-icon { width: 64px; height: 64px; border-radius: 20px; display: grid; place-items: center; background: color-mix(in srgb, var(--acsds-primary) 12%, #fff); color: var(--acsds-primary); margin: 8px 0 18px; }
.acsds-hero-icon svg { width: 34px; height: 34px; }
.acsds-hero-icon.is-ok { background: #E8F5E9; color: var(--acsds-ok); }
.acsds-bigstat { display: flex; gap: 14px; align-items: center; background: var(--acsds-dark); color: #fff; border-radius: var(--acsds-radius); padding: 16px 18px; margin-bottom: 16px; }
.acsds-bigstat strong { font-size: 30px; font-weight: 800; color: var(--acsds-primary); white-space: nowrap; }
.acsds-bigstat span { font-size: 14px; line-height: 1.45; opacity: .9; }
.acsds-root .acsds-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.acsds-chips li { display: inline-flex; align-items: center; gap: 6px; font-size: 13.5px; font-weight: 600; color: var(--acsds-ink); background: var(--acsds-soft); padding: 7px 12px; border-radius: 30px; }
.acsds-chips svg { width: 16px; height: 16px; color: var(--acsds-primary); }

/* Code postal + stats */
.acsds-field { display: block; margin-bottom: 12px; }
.acsds-field > span { display: block; font-size: 13.5px; font-weight: 600; color: var(--acsds-ink); margin-bottom: 6px; }
.acsds-field > span i { color: var(--acsds-primary); font-style: normal; }
.acsds-root .acsds-field input {
	width: 100%; height: 50px; padding: 0 16px; border: 1.5px solid var(--acsds-line); border-radius: 12px;
	font: inherit; font-size: 16px; color: var(--acsds-ink); background: #fff; box-shadow: none; margin: 0; transition: border-color .15s, box-shadow .15s;
}
.acsds-root .acsds-field input:focus { outline: none; border-color: var(--acsds-primary); box-shadow: 0 0 0 4px color-mix(in srgb, var(--acsds-primary) 15%, transparent); }
.acsds-root .acsds-field--big input { height: 62px; font-size: 22px; font-weight: 700; letter-spacing: .06em; text-align: center; }
.acsds-root .acsds-field--big input::placeholder { font-size: 16px; font-weight: 400; letter-spacing: 0; }
.acsds-field.has-error input { border-color: var(--acsds-bad); }
.acsds-field__err { display: block; font-style: normal; color: var(--acsds-bad); font-size: 13px; margin-top: 4px; min-height: 0; }
.acsds-field__err:empty { display: none; }

.acsds-stat { margin-top: 16px; border-radius: var(--acsds-radius); padding: 20px; background: linear-gradient(135deg, var(--acsds-dark), #00011D); color: #fff; animation: acsds-in .4s ease both; }
.acsds-root .acsds-stat__place { display: flex; align-items: center; gap: 6px; font-size: 14px; font-weight: 600; opacity: .85; }
.acsds-stat__place svg { width: 16px; height: 16px; color: var(--acsds-primary); }
.acsds-root .acsds-stat__num { font-size: 46px; font-weight: 800; line-height: 1.05; color: var(--acsds-primary); margin: 6px 0 4px; font-variant-numeric: tabular-nums; }
.acsds-root .acsds-stat__lbl { font-size: 15px; line-height: 1.5; opacity: .92; }
.acsds-stat .acsds-src { color: rgba(255, 255, 255, .55); }
.acsds-compare { margin-top: 14px; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .14); }
.acsds-compare__row { display: grid; grid-template-columns: 110px 1fr 58px; align-items: center; gap: 10px; font-size: 13.5px; margin-bottom: 8px; }
.acsds-compare__row b { text-align: right; font-variant-numeric: tabular-nums; }
.acsds-compare__row > span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; opacity: .85; }
.acsds-compare__track { height: 10px; border-radius: 10px; background: rgba(255, 255, 255, .1); overflow: hidden; }
.acsds-compare__track i { display: block; height: 100%; width: var(--w); border-radius: 10px; background: rgba(255, 255, 255, .55); animation: acsds-grow .9s ease both .2s; }
.acsds-compare__track i.is-local { background: var(--acsds-primary); }
.acsds-root .acsds-compare__note { font-size: 13px; opacity: .85; margin-top: 4px; }
@keyframes acsds-grow { from { width: 0; } }

/* Type de bien */
.acsds-tiles { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 6px; }
.acsds-root .acsds-tile {
	display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 10px; text-align: center;
	min-height: 128px; padding: 18px 12px; border-radius: var(--acsds-radius); border: 1.5px solid var(--acsds-line);
	background: #fff; color: var(--acsds-ink); font-weight: 700; font-size: 15.5px; transition: .15s ease;
}
.acsds-tile__icon { width: 54px; height: 54px; border-radius: 16px; display: grid; place-items: center; background: var(--acsds-soft); color: var(--acsds-dark); transition: .15s; }
.acsds-tile__icon svg { width: 30px; height: 30px; }
.acsds-root .acsds-tile:hover { border-color: var(--acsds-primary); transform: translateY(-2px); box-shadow: 0 10px 24px rgba(28, 35, 75, .08); }
.acsds-root .acsds-tile.is-selected { border-color: var(--acsds-primary); background: color-mix(in srgb, var(--acsds-primary) 6%, #fff); }
.acsds-tile.is-selected .acsds-tile__icon, .acsds-tile:hover .acsds-tile__icon { background: var(--acsds-primary); color: #fff; }

/* Options */
.acsds-options { display: flex; flex-direction: column; gap: 10px; }
.acsds-root .acsds-option {
	display: flex; align-items: center; gap: 14px; width: 100%; text-align: left;
	min-height: 58px; padding: 14px 16px; border-radius: 14px; border: 1.5px solid var(--acsds-line);
	background: #fff; color: var(--acsds-ink); font-size: 16px; font-weight: 600; transition: .15s ease;
}
.acsds-root .acsds-option:hover { border-color: var(--acsds-primary); background: color-mix(in srgb, var(--acsds-primary) 4%, #fff); }
.acsds-option__dot { width: 22px; height: 22px; border-radius: 50%; border: 2px solid #C5CBDA; flex: none; transition: .15s; }
.acsds-option.is-selected, .acsds-option[aria-checked="true"] { border-color: var(--acsds-primary) !important; background: color-mix(in srgb, var(--acsds-primary) 7%, #fff) !important; }
.acsds-option.is-selected .acsds-option__dot { border: 7px solid var(--acsds-primary); }
.acsds-option__box { width: 24px; height: 24px; border-radius: 7px; border: 2px solid #C5CBDA; display: grid; place-items: center; color: transparent; flex: none; transition: .15s; }
.acsds-option__box svg { width: 15px; height: 15px; }
.acsds-option[aria-checked="true"] .acsds-option__box { background: var(--acsds-primary); border-color: var(--acsds-primary); color: #fff; }

/* Analyse */
.acsds-analyse { text-align: center; padding: 30px 0 20px; }
.acsds-spinner { width: 58px; height: 58px; margin: 0 auto 20px; border-radius: 50%; border: 5px solid var(--acsds-soft); border-top-color: var(--acsds-primary); animation: acsds-spin .9s linear infinite; }
@keyframes acsds-spin { to { transform: rotate(360deg); } }
.acsds-root .acsds-checklist { display: inline-flex; flex-direction: column; gap: 10px; text-align: left; margin-top: 10px; }
.acsds-checklist li { position: relative; padding-left: 30px; font-size: 15px; color: var(--acsds-muted); transition: color .3s; }
.acsds-checklist li::before { content: ""; position: absolute; left: 0; top: 1px; width: 20px; height: 20px; border-radius: 50%; border: 2px solid var(--acsds-line); transition: .3s; }
.acsds-checklist li.is-done { color: var(--acsds-ink); font-weight: 600; }
.acsds-checklist li.is-done::before { background: var(--acsds-ok) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/12px no-repeat; border-color: var(--acsds-ok); }

/* Résultat */
.acsds-result { text-align: center; }
.acsds-level { padding: 0 .2em; border-radius: 8px; }
.acsds-level.is-faible { color: var(--acsds-ok); }
.acsds-level.is-modere { color: var(--acsds-warn); }
.acsds-level.is-eleve { color: var(--acsds-bad); }
.acsds-gauge { position: relative; width: 220px; margin: 4px auto 10px; }
.acsds-gauge svg { width: 100%; height: auto; overflow: visible; }
.acsds-gauge__track { fill: none; stroke: var(--acsds-soft); stroke-width: 18; stroke-linecap: round; }
.acsds-gauge__val { fill: none; stroke-width: 18; stroke-linecap: round; transition: stroke-dashoffset 1.2s cubic-bezier(.2, .8, .2, 1); }
.acsds-gauge.is-faible .acsds-gauge__val { stroke: var(--acsds-ok); }
.acsds-gauge.is-modere .acsds-gauge__val { stroke: var(--acsds-warn); }
.acsds-gauge.is-eleve .acsds-gauge__val { stroke: var(--acsds-bad); }
.acsds-gauge__txt { position: absolute; left: 0; right: 0; bottom: 2px; display: flex; justify-content: center; align-items: baseline; gap: 2px; color: var(--acsds-ink); }
.acsds-gauge__txt strong { font-size: 44px; font-weight: 800; line-height: 1; }
.acsds-gauge__txt span { font-size: 15px; color: var(--acsds-muted); font-weight: 600; }
.acsds-weak { text-align: left; background: #FFF6F3; border: 1px solid #FBD9CE; border-radius: 16px; padding: 14px 16px; margin-bottom: 8px; }
.acsds-root .acsds-weak__t { font-weight: 800; color: var(--acsds-ink); font-size: 15px; margin-bottom: 8px; }
.acsds-root .acsds-weak ul { display: flex; flex-direction: column; gap: 7px; }
.acsds-weak li { display: flex; gap: 9px; font-size: 14.5px; color: var(--acsds-ink); line-height: 1.4; }
.acsds-weak li svg { width: 18px; height: 18px; color: var(--acsds-bad); margin-top: 1px; }

/* Formulaire */
.acsds-form { margin-top: 18px; padding: 22px 20px; border-radius: 20px; background: var(--acsds-soft); }
.acsds-root .acsds-form__t { font-size: 20px; font-weight: 800; color: var(--acsds-ink); line-height: 1.25; margin-bottom: 6px; }
.acsds-root .acsds-form__p { font-size: 14.5px; line-height: 1.55; color: var(--acsds-text); margin-bottom: 10px; }
.acsds-root .acsds-form__lock { display: inline-block; font-size: 13.5px; font-weight: 700; color: var(--acsds-primary); background: #fff; border-radius: 20px; padding: 6px 12px; margin-bottom: 16px; }
.acsds-grid2 { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.acsds-slots { border: 0; margin: 4px 0 12px; padding: 0; min-width: 0; }
.acsds-slots legend { font-size: 13.5px; font-weight: 600; color: var(--acsds-ink); margin-bottom: 8px; padding: 0; }
.acsds-slots > div { display: flex; flex-wrap: wrap; gap: 6px; }
.acsds-slots label { cursor: pointer; margin: 0; }
.acsds-slots input { position: absolute; opacity: 0; pointer-events: none; }
.acsds-slots span { display: inline-block; padding: 8px 13px; border-radius: 30px; border: 1.5px solid var(--acsds-line); background: #fff; font-size: 13.5px; font-weight: 600; color: var(--acsds-ink); transition: .15s; }
.acsds-slots input:checked + span { background: var(--acsds-dark); border-color: var(--acsds-dark); color: #fff; }
.acsds-slots input:focus-visible + span { outline: 3px solid color-mix(in srgb, var(--acsds-primary) 55%, transparent); }
.acsds-consent { display: flex; gap: 10px; align-items: flex-start; font-size: 12.5px; line-height: 1.5; color: var(--acsds-text); cursor: pointer; margin: 4px 0 0; }
.acsds-consent input { width: 20px; height: 20px; margin: 1px 0 0; flex: none; accent-color: var(--acsds-primary); }
.acsds-consent a { color: var(--acsds-ink); text-decoration: underline; }
.acsds-consent.has-error span { color: var(--acsds-bad); }
.acsds-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.acsds-form .acsds-btn--block { margin-top: 16px; }

/* Merci */
.acsds-thanks { text-align: left; }
.acsds-root .acsds-recos { display: flex; flex-direction: column; gap: 10px; margin: 4px 0 6px; }
.acsds-recos li { display: flex; gap: 12px; padding: 14px; border-radius: 14px; background: var(--acsds-soft); }
.acsds-recos__ic { width: 28px; height: 28px; border-radius: 50%; background: var(--acsds-primary); color: #fff; display: grid; place-items: center; flex: none; }
.acsds-recos__ic svg { width: 15px; height: 15px; }
.acsds-recos strong { display: block; color: var(--acsds-ink); font-size: 15.5px; margin-bottom: 2px; }
.acsds-root .acsds-recos p { font-size: 14px; line-height: 1.5; color: var(--acsds-text); }

@media (max-width: 420px) {
	.acsds-grid2 { grid-template-columns: 1fr; gap: 0; }
	.acsds-root .acsds-tile { min-height: 112px; font-size: 14.5px; }
	.acsds-root .acsds-stat__num { font-size: 40px; }
	.acsds-compare__row { grid-template-columns: 88px 1fr 52px; }
}

/* ------------------------------------------------------------------ */
/* Encart shortcode [acs_diagnostic]                                   */
/* ------------------------------------------------------------------ */
.acsds-inline {
	display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
	padding: 24px 28px; border-radius: 22px; background: var(--acsds-dark, #1C234B); color: #fff;
}
.acsds-inline__icon { width: 58px; height: 58px; border-radius: 18px; display: grid; place-items: center; background: var(--acsds-primary, #EB5F39); color: #fff; flex: none; }
.acsds-inline__body { flex: 1 1 260px; }
.acsds-inline .acsds-inline__title { margin: 0 0 4px; font-size: 22px; font-weight: 800; line-height: 1.25; color: #fff; }
.acsds-inline .acsds-inline__text { margin: 0; font-size: 15px; line-height: 1.5; opacity: .85; }
.acsds-inline__btn, button.acsds-inline__btn {
	display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 14px 28px !important;
	border-radius: 40px !important; background: var(--acsds-primary, #EB5F39) !important; color: #fff !important;
	font-weight: 700; font-size: 16px; border: 0; cursor: pointer; box-shadow: 0 10px 24px rgba(235, 95, 57, .35);
}

@media (prefers-reduced-motion: reduce) {
	.acsds-root *, .acsds-root *::before, .acsds-root *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
}
