/*
 * Floody Simulateur Fonds Barnier — styles V6
 *
 * Source : docs/mockups/simulateur-fonds-barnier/v6-charte-aligned.html
 * Scope  : .floody-simulateur-page (body class) pour éviter conflits site-wide.
 *
 * Charte v3.0 : 33 vars · 2 shadows · 3 radius · 1 easing · 4 keyframes.
 */

/* ─── Tokens (scopés au scope simulateur uniquement) ─── */
.floody-simulateur-page {
	--floody-50:#EFF6FF; --floody-100:#DBEAFE; --floody-200:#BFDBFE;
	--floody-300:#93C5FD; --floody-400:#60A5FA; --floody-500:#3B93FF;
	--floody-600:#2563EB; --floody-700:#1D4ED8; --floody-800:#1E40AF; --floody-900:#1E3A8A;
	--ink-0:#fff; --ink-25:#FAFBFC; --ink-50:#F5F7FA;
	--ink-100:#EAEEF3; --ink-200:#D5DCE5; --ink-300:#B0BBC9;
	--ink-400:#7E8CA0; --ink-500:#5A6878;
	--ink-700:#2A3340; --ink-800:#18202C; --ink-900:#0B121C;
	--value-500:#FFD342;
	--barnier-500:#16855A; --barnier-700:#0F5D3F;
	--success-500:#16A34A; --success-100:#DCFCE7;
	--cyan:#22D3EE;
	--utility-bg:#070D1F;
	--danger:#DC2626; --danger-50:#FEF2F2;
	--font-text:"Inter", system-ui, sans-serif;
	--font-brand:"Bricolage Grotesque", "Inter", system-ui, sans-serif;
	--font-mono:"JetBrains Mono", ui-monospace, monospace;
	--r-sm:6px; --r-md:10px; --r-pill:999px;
	--shadow-sm:0 1px 3px rgba(11,18,28,.08), 0 1px 2px rgba(11,18,28,.04);
	--shadow-lg:0 12px 24px rgba(11,18,28,.10), 0 4px 8px rgba(11,18,28,.05);
	--ease:cubic-bezier(.4, 0, .2, 1);
	--container:1240px;
	--pad:clamp(20px, 4vw, 56px);

	background:var(--ink-25);
	color:var(--ink-700);
	font-family:var(--font-text);
	font-size:16px; line-height:1.6;
	-webkit-font-smoothing:antialiased;
}
.floody-simulateur-page .shell,
.floody-simulateur-page .shell *{box-sizing:border-box}
.floody-simulateur-page .shell h1,
.floody-simulateur-page .shell h2,
.floody-simulateur-page .shell h3{
	font-family:var(--font-brand); color:var(--ink-900);
}

/* ─── Shell + hero ─── */
.floody-simulateur-page .shell{
	max-width:720px; margin:0 auto;
	padding:clamp(36px,5vw,64px) clamp(16px,5vw,24px) 80px;
}
.floody-simulateur-page .hero{text-align:center; margin-bottom:32px}
.floody-simulateur-page .hero__eyebrow{
	display:inline-flex; align-items:center; gap:8px;
	padding:6px 14px; margin-bottom:18px;
	background:#fff; border:1px solid var(--ink-200);
	border-radius:var(--r-pill); font-size:13px; font-weight:500;
	color:var(--ink-700); box-shadow:var(--shadow-sm);
}
.floody-simulateur-page .hero__eyebrow .dot{
	width:6px; height:6px; border-radius:50%;
	background:var(--barnier-500);
	box-shadow:0 0 0 4px rgba(22,133,90,.15);
}
.floody-simulateur-page .hero h1{
	font-family:var(--font-brand);
	font-size:clamp(30px, 5.2vw, 44px);
	font-weight:800; line-height:1.05; letter-spacing:-0.03em;
	color:var(--ink-900); margin-bottom:12px;
}
.floody-simulateur-page .hero h1 em{
	font-style:normal;
	background:linear-gradient(135deg, var(--floody-500) 0%, var(--floody-700) 100%);
	-webkit-background-clip:text;
	-webkit-text-fill-color:transparent;
	background-clip:text;
	position:relative; white-space:nowrap;
}
.floody-simulateur-page .hero__lede{
	font-size:16px; color:var(--ink-500);
	max-width:460px; margin:0 auto;
}

/* ─── Card (form) ─── */
.floody-simulateur-page .card{
	background:#fff;
	border:1px solid var(--ink-100);
	border-radius:var(--r-md);
	padding:clamp(22px, 4vw, 32px);
	box-shadow:var(--shadow-sm);
}
.floody-simulateur-page .field{margin-bottom:20px}
.floody-simulateur-page .field:last-child{margin-bottom:0}
.floody-simulateur-page .field__label{
	display:flex; align-items:center; justify-content:space-between;
	font-size:14px; font-weight:600;
	color:var(--ink-900); margin-bottom:8px;
}
.floody-simulateur-page .field__label small{
	font-weight:500; font-size:11px;
	color:var(--ink-400);
	font-family:var(--font-mono);
	letter-spacing:.06em; text-transform:uppercase;
}
.floody-simulateur-page .input-wrap{position:relative}
.floody-simulateur-page .input{
	width:100%; padding:12px 16px; min-height:44px;
	background:#fff; border:1.5px solid var(--ink-200);
	border-radius:var(--r-sm);
	font-family:inherit; font-size:16px;
	color:var(--ink-900);
	transition:border-color .15s var(--ease), box-shadow .15s var(--ease);
}
.floody-simulateur-page .input:focus{
	outline:none; border-color:var(--floody-600);
	box-shadow:0 0 0 3px rgba(37,99,235,.25);
}
.floody-simulateur-page .input--with-icon{padding-left:44px}
.floody-simulateur-page .input--with-suffix{padding-right:60px}
.floody-simulateur-page .input-wrap__icon{
	position:absolute; left:14px; top:50%; transform:translateY(-50%);
	width:18px; height:18px; color:var(--ink-400); pointer-events:none;
}
.floody-simulateur-page .input-wrap__suffix{
	position:absolute; right:16px; top:50%; transform:translateY(-50%);
	font-weight:600; font-size:14px; color:var(--ink-500); pointer-events:none;
	font-family:var(--font-mono);
}
.floody-simulateur-page .field__hint{
	font-size:12px; color:var(--ink-500); margin-top:6px;
	display:flex; gap:6px; align-items:flex-start; line-height:1.5;
}
.floody-simulateur-page .field__hint svg{width:12px; height:12px; flex-shrink:0; margin-top:2px; color:var(--ink-400)}

.floody-simulateur-page .autocomplete{position:relative}
.floody-simulateur-page .autocomplete__list{
	position:absolute; top:calc(100% + 4px); left:0; right:0;
	background:#fff; border:1px solid var(--ink-100);
	border-radius:var(--r-sm); box-shadow:var(--shadow-lg);
	z-index:10; max-height:240px; overflow-y:auto; display:none;
}
.floody-simulateur-page .autocomplete__list.active{display:block; animation:fsdFadeIn .2s ease}
.floody-simulateur-page .autocomplete__item{
	padding:12px 16px; cursor:pointer;
	display:flex; align-items:center; gap:12px; font-size:14px;
}
.floody-simulateur-page .autocomplete__item:hover{background:var(--floody-50)}
.floody-simulateur-page .autocomplete__item svg{width:14px; height:14px; color:var(--ink-400); flex-shrink:0}
.floody-simulateur-page .autocomplete__item strong{font-weight:600; color:var(--ink-900)}
.floody-simulateur-page .autocomplete__item span{color:var(--ink-500); font-size:13px; display:block; margin-top:1px}

.floody-simulateur-page .ppri-flag{
	display:none; margin-top:10px;
	padding:10px 14px; border-radius:var(--r-sm);
	font-size:13px; line-height:1.45;
	gap:10px; align-items:flex-start;
}
.floody-simulateur-page .ppri-flag.show{display:flex; animation:fsdFadeIn .25s ease}
.floody-simulateur-page .ppri-flag--ok{background:#E6F4ED; color:var(--barnier-700); border:1px solid #C8E4D4}
.floody-simulateur-page .ppri-flag--ko{background:var(--danger-50); color:#991B1B; border:1px solid #FECACA}
.floody-simulateur-page .ppri-flag--loading{background:var(--ink-50); color:var(--ink-500); border:1px solid var(--ink-100)}
.floody-simulateur-page .ppri-flag--warning{background:#FFF7ED; color:#9A3412; border:1px solid #FED7AA}
.floody-simulateur-page .ppri-flag svg{width:14px; height:14px; flex-shrink:0; margin-top:2px}
.floody-simulateur-page .loader{
	display:inline-block; width:12px; height:12px;
	border:2px solid currentColor; border-right-color:transparent;
	border-radius:50%; animation:spin .8s linear infinite;
}

/* ─── Buttons ─── */
.floody-simulateur-page .floody-btn{
	display:inline-flex; align-items:center; justify-content:center; gap:8px;
	width:100%; padding:12px 20px; min-height:44px;
	border:1.5px solid transparent;
	border-radius:var(--r-sm);
	font-family:var(--font-text);
	font-size:15px; font-weight:600;
	cursor:pointer; box-shadow:var(--shadow-sm);
	transition:all .15s var(--ease);
}
.floody-simulateur-page .floody-btn--primary{background:var(--floody-700); color:#fff}
.floody-simulateur-page .floody-btn--primary:hover{background:var(--floody-800); transform:translateY(-1px); box-shadow:var(--shadow-lg)}
.floody-simulateur-page .floody-btn--primary:disabled{opacity:.5; cursor:not-allowed; transform:none; box-shadow:var(--shadow-sm)}
.floody-simulateur-page .floody-btn--barnier{background:var(--barnier-500); color:#fff}
.floody-simulateur-page .floody-btn--barnier:hover{background:var(--barnier-700); transform:translateY(-1px); box-shadow:var(--shadow-lg)}
.floody-simulateur-page .floody-btn--barnier:disabled{opacity:.5; cursor:not-allowed; transform:none}
.floody-simulateur-page .floody-btn svg{width:18px; height:18px}

/* ─── Result megacard ─── */
.floody-simulateur-page .result{display:none; margin-top:24px}
.floody-simulateur-page .result.show{display:block; animation:fsdFadeIn .4s var(--ease)}
.floody-simulateur-page .megacard{
	background:#fff;
	border:1px solid #C8E4D4;
	border-radius:var(--r-md);
	overflow:hidden;
	box-shadow:var(--shadow-lg);
}
.floody-simulateur-page .megacard__top{
	padding:16px 24px;
	background:linear-gradient(180deg, #E6F4ED 0%, #fff 100%);
	border-bottom:1px solid #C8E4D4;
	display:flex; align-items:center; gap:12px;
}
.floody-simulateur-page .megacard__icon{
	width:38px; height:38px; border-radius:50%;
	background:var(--barnier-500); color:#fff;
	display:grid; place-items:center; flex-shrink:0;
	box-shadow:0 0 0 4px rgba(22,133,90,.12);
}
.floody-simulateur-page .megacard__icon svg{width:18px; height:18px}
.floody-simulateur-page .megacard__title{
	font-family:var(--font-brand);
	font-weight:700; color:var(--ink-900);
	font-size:16px; line-height:1.25; letter-spacing:-0.01em;
}
.floody-simulateur-page .megacard__sub{color:var(--ink-500); font-size:13px; margin-top:2px}
.floody-simulateur-page .megacard__wow{padding:28px clamp(20px,4vw,32px) 22px; text-align:center}
.floody-simulateur-page .megacard__hint{
	font-family:var(--font-mono);
	font-size:11px; color:var(--ink-500); margin-bottom:10px;
	text-transform:uppercase; letter-spacing:.12em; font-weight:600;
}
.floody-simulateur-page .price-tag{
	display:inline-block;
	background:var(--value-500); color:var(--ink-900);
	padding:18px 32px;
	border-radius:10px 0 10px 0;
	font-family:var(--font-brand);
	font-size:clamp(40px, 7vw, 58px); font-weight:800;
	letter-spacing:-0.03em; line-height:1;
	box-shadow:var(--shadow-sm);
	font-variant-numeric:tabular-nums;
}
.floody-simulateur-page .price-tag small{font-size:24px; font-weight:700; margin-left:4px; opacity:.85}

.floody-simulateur-page .elig{
	display:grid; grid-template-columns:repeat(3,1fr); gap:1px;
	background:var(--ink-100);
	border-top:1px solid var(--ink-100);
}
@media(max-width:560px){.floody-simulateur-page .elig{grid-template-columns:1fr}}
.floody-simulateur-page .elig__cell{
	padding:14px 16px; background:#fff;
	display:flex; align-items:center; gap:10px;
}
.floody-simulateur-page .elig__cell svg{width:16px; height:16px; color:var(--barnier-500); flex-shrink:0}
.floody-simulateur-page .elig__cell-text strong{
	font-family:var(--font-mono);
	display:block; font-size:11px; color:var(--ink-500);
	font-weight:600; text-transform:uppercase; letter-spacing:.06em;
}
.floody-simulateur-page .elig__cell-text span{font-size:13px; color:var(--ink-900); font-weight:600; margin-top:2px; display:block}

/* ─── Invite (magnetic CTA) ─── */
.floody-simulateur-page .megacard__invite{
	padding:26px clamp(20px,4vw,32px) 28px;
	background:linear-gradient(180deg, #fff 0%, var(--ink-25) 100%);
	border-top:1px solid var(--ink-100);
	text-align:center;
}
.floody-simulateur-page .megacard__invite-label{
	font-family:var(--font-mono);
	font-size:11px; font-weight:600;
	color:var(--ink-500);
	text-transform:uppercase; letter-spacing:.12em;
	margin-bottom:12px;
	display:flex; align-items:center; justify-content:center; gap:10px;
}
.floody-simulateur-page .megacard__invite-label::before,
.floody-simulateur-page .megacard__invite-label::after{
	content:""; flex:1; max-width:48px; height:1px;
	background:linear-gradient(90deg, transparent, var(--ink-200), transparent);
}
.floody-simulateur-page .megacard__invite-title{
	font-family:var(--font-brand);
	font-size:19px; font-weight:700; color:var(--ink-900);
	letter-spacing:-0.015em; margin-bottom:6px;
}
.floody-simulateur-page .megacard__invite-sub{
	font-size:14px; color:var(--ink-500); line-height:1.5;
	max-width:400px; margin:0 auto 18px;
}
.floody-simulateur-page .cta-magnet{
	position:relative;
	display:inline-flex; align-items:center; justify-content:center; gap:10px;
	width:100%; max-width:380px;
	padding:16px 24px; min-height:54px;
	background:var(--value-500); color:var(--ink-900);
	border:none; border-radius:var(--r-md);
	font-family:var(--font-brand);
	font-size:16px; font-weight:700;
	letter-spacing:-0.005em;
	cursor:pointer;
	box-shadow:0 6px 20px rgba(255,193,7,.4);
	transition:transform .15s var(--ease), box-shadow .25s var(--ease);
	animation:btnPulseFloody 2.4s ease-in-out infinite;
}
@keyframes btnPulseFloody{
	0%, 100%{box-shadow:0 8px 25px rgba(255,193,7,.4)}
	50%{box-shadow:0 8px 25px rgba(255,193,7,.7), 0 0 0 6px rgba(255,211,66,.18)}
}
.floody-simulateur-page .cta-magnet:hover{
	transform:translateY(-2px);
	box-shadow:0 12px 32px rgba(255,193,7,.55);
	animation:none;
}
.floody-simulateur-page .cta-magnet__arrow{display:inline-flex; align-items:center; animation:bounceDown 1.4s ease-in-out infinite}
.floody-simulateur-page .cta-magnet:hover .cta-magnet__arrow{animation:none}
@keyframes bounceDown{0%, 100%{transform:translateY(0)} 50%{transform:translateY(4px)}}
.floody-simulateur-page .cta-magnet__arrow svg{width:18px; height:18px}
.floody-simulateur-page .cta-magnet__lock{width:16px; height:16px; opacity:.7}
.floody-simulateur-page .invite-trust{
	margin-top:14px;
	display:flex; justify-content:center; gap:18px;
	font-family:var(--font-mono);
	font-size:11px; color:var(--ink-400);
	flex-wrap:wrap;
	text-transform:uppercase; letter-spacing:.08em;
}
.floody-simulateur-page .invite-trust-item{display:flex; align-items:center; gap:5px}
.floody-simulateur-page .invite-trust-item svg{width:11px; height:11px; color:var(--barnier-500)}

/* ─── Preview flouté ─── */
.floody-simulateur-page .preview-strip{
	position:relative;
	background:var(--ink-25);
	border-top:1px solid var(--ink-100);
	padding:18px 24px 24px;
	overflow:hidden;
	min-height:140px;
}
.floody-simulateur-page .preview-strip__rows{
	filter:blur(6px); user-select:none; pointer-events:none;
	display:flex; flex-direction:column; gap:8px;
}
.floody-simulateur-page .preview-row{
	display:flex; align-items:center; gap:12px;
	padding:10px 14px; background:#fff; border-radius:var(--r-sm);
	box-shadow:var(--shadow-sm);
}
.floody-simulateur-page .preview-row__icon{
	width:28px; height:28px; border-radius:var(--r-sm);
	background:var(--floody-50);
	display:grid; place-items:center; flex-shrink:0;
}
.floody-simulateur-page .preview-row__icon svg{width:14px; height:14px; color:var(--floody-700)}
.floody-simulateur-page .preview-row__body{flex:1}
.floody-simulateur-page .preview-row__title{font-size:13px; font-weight:600; color:var(--ink-900)}
.floody-simulateur-page .preview-row__sub{font-size:11px; color:var(--ink-500); margin-top:1px}
.floody-simulateur-page .preview-row__price{
	font-family:var(--font-mono);
	font-size:13px; font-weight:600; color:var(--ink-900);
	font-variant-numeric:tabular-nums;
}
.floody-simulateur-page .preview-strip__fade{
	position:absolute; left:0; right:0; bottom:0; height:60%;
	background:linear-gradient(180deg, transparent 0%, var(--ink-25) 70%);
	pointer-events:none;
	display:flex; align-items:flex-end; justify-content:center;
	padding-bottom:16px;
}
.floody-simulateur-page .preview-strip__label{
	display:inline-flex; align-items:center; gap:6px;
	padding:6px 14px; background:#fff;
	border:1px solid var(--ink-200); border-radius:var(--r-pill);
	font-family:var(--font-mono);
	font-size:11px; font-weight:600; color:var(--ink-500);
	text-transform:uppercase; letter-spacing:.06em;
	box-shadow:var(--shadow-sm);
}
.floody-simulateur-page .preview-strip__label svg{width:12px; height:12px; color:var(--floody-700)}
.floody-simulateur-page .megacard.unlocked .preview-strip__rows{filter:none; user-select:auto; pointer-events:auto; transition:filter 1s var(--ease)}
.floody-simulateur-page .megacard.unlocked .preview-strip__fade{opacity:0; transition:opacity .6s var(--ease)}
.floody-simulateur-page .megacard.unlocked .cta-magnet{display:none}
.floody-simulateur-page .megacard.unlocked .megacard__invite-label{display:none}
.floody-simulateur-page .megacard.unlocked .megacard__invite-title{color:var(--barnier-500)}
.floody-simulateur-page .megacard.unlocked .megacard__invite-title::after{content:" \2713"}
.floody-simulateur-page .megacard.unlocked .megacard__invite-sub{display:none}

/* ─── Modal ─── */
.floody-simulateur-page .modal-backdrop{
	display:none; position:fixed; inset:0; z-index:100;
	background:rgba(7,13,31,.65); backdrop-filter:blur(4px);
	align-items:center; justify-content:center; padding:16px;
}
.floody-simulateur-page .modal-backdrop.show{display:flex; animation:fsdFadeIn .2s ease}
/* Override explicite : motta theme global a `.modal{display:none;z-index:1100}` qui
   surcharge sans ce reset. */
.floody-simulateur-page .modal{
	display:block;
	position:static;
	top:auto; bottom:auto; left:auto; right:auto;
	background:#fff; border-radius:var(--r-md);
	max-width:460px; width:100%;
	max-height:90vh; overflow-y:auto;
	box-shadow:var(--shadow-lg);
	animation:modalIn .25s var(--ease);
}
@keyframes modalIn{from{opacity:0; transform:scale(.96) translateY(8px)} to{opacity:1; transform:scale(1)}}
.floody-simulateur-page .modal__header{padding:24px 56px 6px 24px; position:relative}
/* Bouton close : spécificité haute + width/box-sizing forcés pour battre
   les styles de boutons WooCommerce/Motta qui stretchent le button via
   width:auto + display:block dans les contextes modaux/forms. */
.floody-simulateur-page .modal .modal__header .modal__close,
.floody-simulateur-page button.modal__close{
	position:absolute; top:14px; right:14px;
	width:36px; height:36px;
	min-width:36px; max-width:36px;
	min-height:36px; max-height:36px;
	flex:0 0 36px;
	padding:0;
	box-sizing:border-box;
	border-radius:var(--r-sm);
	border:1px solid var(--ink-200);
	background:#fff;
	cursor:pointer;
	display:grid; place-items:center;
	color:var(--ink-700);
	box-shadow:0 1px 2px rgba(11,18,28,.06);
	transition:all .15s var(--ease);
	z-index:2;
}
.floody-simulateur-page .modal .modal__header .modal__close:hover,
.floody-simulateur-page button.modal__close:hover{
	background:var(--ink-900);
	border-color:var(--ink-900);
	color:#fff;
	box-shadow:0 2px 6px rgba(11,18,28,.18);
}
.floody-simulateur-page .modal .modal__header .modal__close:focus-visible,
.floody-simulateur-page button.modal__close:focus-visible{
	outline:2px solid var(--floody-500, #2563EB);
	outline-offset:2px;
}
.floody-simulateur-page .modal__close svg{
	width:18px; height:18px;
	stroke:currentColor; stroke-width:2.2;
	fill:none;
	display:block;
}
.floody-simulateur-page .modal__title{
	font-family:var(--font-brand);
	font-size:20px; font-weight:700; color:var(--ink-900);
	letter-spacing:-0.015em; margin-bottom:6px;
	padding-right:0;
}
.floody-simulateur-page .modal__sub{font-size:14px; color:var(--ink-500); line-height:1.5}
.floody-simulateur-page .modal__body{padding:18px 24px 24px}
.floody-simulateur-page .modal__row{display:grid; gap:10px; grid-template-columns:1fr 1fr; margin-bottom:12px}
@media(max-width:480px){.floody-simulateur-page .modal__row{grid-template-columns:1fr}}

.floody-simulateur-page .consent{
	display:flex; gap:10px; padding:11px 13px; margin-bottom:14px;
	background:var(--ink-50); border-radius:var(--r-sm);
	border:1.5px solid var(--ink-100);
	font-size:12px; color:var(--ink-500); line-height:1.5;
	cursor:pointer; align-items:flex-start;
	transition:all .25s var(--ease);
	position:relative;
}
.floody-simulateur-page .consent:hover{border-color:var(--floody-300); background:#fff}
.floody-simulateur-page .consent.consent--pulse{animation:consentNudge 2.4s ease-in-out infinite}
.floody-simulateur-page .consent.consent--checked{
	background:#E6F4ED; border-color:var(--barnier-500);
	animation:none;
}
.floody-simulateur-page .consent.consent--checked::after{
	content:""; position:absolute; top:50%; right:14px; transform:translateY(-50%);
	width:6px; height:6px; border-radius:50%;
	background:var(--barnier-500);
	box-shadow:0 0 0 4px rgba(22,133,90,.15);
}
.floody-simulateur-page .consent input{margin-top:2px; cursor:pointer; accent-color:var(--barnier-500); width:16px; height:16px}
.floody-simulateur-page .consent a{color:var(--floody-700); font-weight:600}
@keyframes consentNudge{
	0%, 100%{box-shadow:0 0 0 0 rgba(37,99,235,0)}
	50%{box-shadow:0 0 0 4px rgba(37,99,235,.12)}
}
.floody-simulateur-page .consent-hint{
	display:none; margin-bottom:10px; padding:8px 12px;
	background:var(--floody-50); border-left:3px solid var(--floody-500);
	border-radius:var(--r-sm);
	font-family:var(--font-mono);
	font-size:11px; color:var(--floody-700);
	text-transform:uppercase; letter-spacing:.06em; font-weight:600;
}
.floody-simulateur-page .consent-hint.show{display:block; animation:fsdFadeIn .3s ease}
.floody-simulateur-page .modal__trust{
	display:flex; justify-content:center; gap:18px;
	font-family:var(--font-mono);
	font-size:11px; color:var(--ink-400);
	margin-top:14px; flex-wrap:wrap;
	text-transform:uppercase; letter-spacing:.08em;
}
.floody-simulateur-page .modal__trust-item{display:flex; align-items:center; gap:5px}
.floody-simulateur-page .modal__trust-item svg{width:12px; height:12px; color:var(--barnier-500)}

/* ─── Trust strip ─── */
.floody-simulateur-page .trust-strip{
	display:flex; justify-content:center; gap:22px;
	flex-wrap:wrap; margin-top:18px;
	font-family:var(--font-mono);
	font-size:11px; color:var(--ink-400);
	text-transform:uppercase; letter-spacing:.08em;
}
.floody-simulateur-page .trust-strip__item{display:flex; align-items:center; gap:6px}
.floody-simulateur-page .trust-strip__item svg{width:14px; height:14px; color:var(--barnier-500)}

/* ─── Animations + a11y ─── */
@keyframes fsdFadeIn{from{opacity:0; transform:translateY(-4px)} to{opacity:1; transform:none}}
@keyframes spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){
	.floody-simulateur-page .cta-magnet,
	.floody-simulateur-page .cta-magnet__arrow{animation:none}
}

/* ═════════════════════════════════════════════════════════════════════
 * Embed mode — scope .floody-cta-zones .floody-simulateur-page
 *
 * Quand le simulateur est embed sur une page zones-inondables-{ville},
 * on contraint sa largeur (la page parent a déjà sa typo de blog) et
 * on compresse le hero (le H1 existe déjà au-dessus dans l'article).
 *
 * Le simulateur autonome /simulateur-fonds-barnier/ N'EST PAS impacté
 * (le wrapper parent .floody-cta-zones est absent).
 * ═════════════════════════════════════════════════════════════════════ */

.floody-cta-zones .floody-simulateur-page{
	max-width:720px;
	margin:32px auto 24px;
	padding:0;
}

/* Hero compact : eyebrow + headline + lede sur 3 lignes max */
.floody-cta-zones .floody-simulateur-page .hero{padding:8px 16px 4px}
.floody-cta-zones .floody-simulateur-page .hero h1{
	font-size:clamp(20px, 4.5vw, 28px);
	line-height:1.2;
	margin:8px 0 4px;
}
.floody-cta-zones .floody-simulateur-page .hero__lede{font-size:14px; margin:0}

/* Card form compactée */
.floody-cta-zones .floody-simulateur-page .card{margin-top:12px; padding:18px}
.floody-cta-zones .floody-simulateur-page .shell{padding:0 12px}

/* Result megacard reste full-width naturelle */
.floody-cta-zones .floody-simulateur-page .result{margin-top:16px}

/* Trust strip réduit */
.floody-cta-zones .floody-simulateur-page .trust-strip{margin-top:12px; gap:12px}

/* ═════════════════════════════════════════════════════════════════════
 * Sticky mobile — barre flottante bottom (Phase 1, E6)
 *
 * Apparaît sur mobile (≤768px) quand le hero embed sort du viewport.
 * Le JS associé (js/floody-sticky-mobile.js) gère la visibilité et la
 * détection de la bannière Complianz pour éviter l'overlap RGPD.
 * ═════════════════════════════════════════════════════════════════════ */

.floody-sim-sticky{
	position:fixed;
	left:0;
	right:0;
	bottom:0;
	z-index:9000; /* En-dessous de Complianz (10000+) pour overlap auto */
	background:linear-gradient(180deg, rgba(255,255,255,.96), #fff);
	border-top:1px solid #EAEEF3;
	box-shadow:0 -6px 18px rgba(11,18,28,.10);
	padding:10px 14px;
	transform:translateY(100%);
	transition:transform .25s cubic-bezier(.16,1,.3,1);
	display:none;
}
.floody-sim-sticky.is-visible{
	display:block;
	transform:translateY(0);
}
.floody-sim-sticky__btn{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:8px;
	width:100%;
	min-height:44px;
	padding:10px 18px;
	background:#2563EB;
	color:#fff;
	border:none;
	border-radius:10px;
	font-family:"Bricolage Grotesque", "Inter", system-ui, sans-serif;
	font-weight:600;
	font-size:15px;
	cursor:pointer;
	box-shadow:0 4px 12px rgba(37,99,235,.30);
}
.floody-sim-sticky__btn:hover,
.floody-sim-sticky__btn:focus-visible{background:#1D4ED8}
.floody-sim-sticky__btn svg{width:18px; height:18px; flex-shrink:0}

/* Desktop : sticky jamais affichée */
@media (min-width:769px){
	.floody-sim-sticky{display:none !important}
}
/* RGPD banner visible → on cache le sticky pour éviter l'empilement */
body.cmplz-banner-visible .floody-sim-sticky,
body.cmplz-show-cookiebanner .floody-sim-sticky{display:none !important}
