/* Airmax Simulateur pompe à chaleur — front
   Les couleurs viennent de l'administration via les variables --apac-*. */

.apac-shell{
	--apac-primary:#18294C;
	--apac-accent:#FF6B35;
	--apac-bg:#EEF3F5;
	--apac-text:#16243D;
	--apac-muted:#6b7a90;
	--apac-line:#e2e8f0;
	--apac-card:#ffffff;
	--apac-radius:18px;
	--apac-soft:color-mix(in srgb, var(--apac-accent) 14%, #fff);
	--apac-prim-soft:color-mix(in srgb, var(--apac-primary) 6%, #fff);

	width:100%;
	max-width:560px;
	margin:0 auto;
	box-sizing:border-box;
	font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
	color:var(--apac-text);
	-webkit-font-smoothing:antialiased;
}
.apac-shell *,.apac-shell *::before,.apac-shell *::after{box-sizing:border-box;}
.apac-shell svg{display:block;}

/* En-tête + progression */
.apac-head{display:flex;align-items:center;gap:12px;margin-bottom:16px;padding:0 4px;}
.apac-brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--apac-primary);font-size:17px;letter-spacing:-.01em;}
.apac-logo-img{max-height:34px;width:auto;display:block;}
.apac-spark{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:#fff;
	background:linear-gradient(135deg,var(--apac-accent),color-mix(in srgb,var(--apac-accent) 60%, #000 12%));}
.apac-stepcount{margin-left:auto;font-size:13px;font-weight:600;color:var(--apac-muted);}

.apac-track{height:8px;border-radius:999px;background:color-mix(in srgb,var(--apac-primary) 12%, #fff);overflow:hidden;margin:0 4px 22px;}
.apac-fill{height:100%;width:0;border-radius:999px;
	background:linear-gradient(90deg,var(--apac-primary),var(--apac-accent));
	transition:width .5s cubic-bezier(.22,1,.36,1);}

/* Kart */
.apac-card{
	background:var(--apac-card);border-radius:var(--apac-radius);
	box-shadow:0 24px 60px -28px rgba(20,40,76,.45);
	padding:30px 26px 26px;position:relative;overflow:hidden;
	border:1px solid color-mix(in srgb,var(--apac-primary) 8%, #fff);
}
.apac-eyebrow{display:inline-flex;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--apac-accent);
	letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;}
.apac-eyebrow svg{width:14px;height:14px;}
.apac-h{font-size:24px;line-height:1.18;letter-spacing:-.02em;margin:0 0 6px;font-weight:800;color:var(--apac-text);}
.apac-sub{font-size:14px;color:var(--apac-muted);margin:0 0 22px;line-height:1.5;}

/* Animation des étapes */
.apac-step{display:none;animation:apac-slide .4s cubic-bezier(.22,1,.36,1);}
.apac-step.apac-active{display:block;}
@keyframes apac-slide{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}

/* Options */
.apac-opts{display:grid;gap:12px;}
.apac-opts.apac-two{grid-template-columns:1fr 1fr;}
.apac-opt{
	border:2px solid var(--apac-line);border-radius:14px;background:#fff;
	padding:16px;cursor:pointer;text-align:left;font:inherit;color:var(--apac-text);
	display:flex;align-items:center;gap:14px;width:100%;
	transition:transform .12s,border-color .15s,background .15s,box-shadow .15s;
	position:relative;
}
.apac-opt.apac-col{flex-direction:column;align-items:flex-start;gap:12px;padding:20px 16px;}
.apac-opt:hover{border-color:color-mix(in srgb,var(--apac-primary) 45%, #fff);transform:translateY(-2px);}
.apac-opt:focus-visible{outline:3px solid var(--apac-accent);outline-offset:2px;}
.apac-opt.apac-sel{border-color:var(--apac-primary);background:var(--apac-prim-soft);box-shadow:inset 0 0 0 1px var(--apac-primary);}
.apac-ico{width:46px;height:46px;border-radius:12px;background:var(--apac-soft);color:var(--apac-accent);
	display:grid;place-items:center;flex:0 0 auto;transition:.15s;}
.apac-ico svg{width:24px;height:24px;}
.apac-opt.apac-sel .apac-ico{background:var(--apac-primary);color:#fff;}
.apac-opt-txt{display:flex;flex-direction:column;gap:2px;}
.apac-label{font-weight:700;font-size:15px;}
.apac-desc{font-size:12.5px;color:var(--apac-muted);font-weight:400;}
.apac-check{margin-left:auto;width:24px;height:24px;border-radius:50%;border:2px solid var(--apac-line);
	flex:0 0 auto;display:grid;place-items:center;color:transparent;transition:.15s;}
.apac-check svg{width:14px;height:14px;}
.apac-opt.apac-sel .apac-check{border-color:var(--apac-primary);background:var(--apac-primary);color:#fff;}
.apac-opt.apac-col .apac-check{position:absolute;top:14px;right:14px;margin:0;}

/* Champs du formulaire */
.apac-field{margin-bottom:14px;}
.apac-field label{display:flex;align-items:center;gap:7px;font-size:13px;font-weight:700;margin-bottom:7px;color:var(--apac-text);}
.apac-field label svg{width:15px;height:15px;color:var(--apac-primary);}
.apac-req{color:var(--apac-accent);font-weight:800;margin-left:1px;}
.apac-field input,.apac-field select{
	width:100%;border:2px solid var(--apac-line);border-radius:12px;padding:13px 14px;
	font:inherit;font-size:15px;color:var(--apac-text);background:#fff;transition:border-color .15s,box-shadow .15s;
}
.apac-field input:focus,.apac-field select:focus{
	outline:none;border-color:var(--apac-primary);
	box-shadow:0 0 0 4px color-mix(in srgb,var(--apac-primary) 16%, transparent);
}
.apac-field select{
	-webkit-appearance:none;appearance:none;cursor:pointer;
	background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236b7a90' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat:no-repeat;background-position:right 14px center;padding-right:40px;
}
.apac-telwrap{display:flex;align-items:stretch;border:2px solid var(--apac-line);border-radius:12px;overflow:hidden;
	transition:border-color .15s,box-shadow .15s;background:#fff;}
.apac-telwrap:focus-within{border-color:var(--apac-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--apac-primary) 16%, transparent);}
.apac-telwrap .apac-prefix{display:flex;align-items:center;padding:0 14px;background:var(--apac-prim-soft);
	font-weight:700;color:var(--apac-primary);border-right:2px solid var(--apac-line);}
.apac-telwrap input{border:none;border-radius:0;box-shadow:none;}
.apac-telwrap input:focus{box-shadow:none;}

/* Case RGPD (classes .apac-kvkk conservées) */
.apac-kvkk{display:flex;align-items:flex-start;gap:10px;cursor:pointer;margin:4px 0 6px;font-size:13px;color:var(--apac-muted);line-height:1.45;}
.apac-kvkk input{position:absolute;opacity:0;width:0;height:0;}
.apac-kvkk-box{flex:0 0 auto;width:22px;height:22px;border:2px solid var(--apac-line);border-radius:7px;
	display:grid;place-items:center;color:transparent;transition:.15s;margin-top:1px;}
.apac-kvkk-box svg{width:13px;height:13px;}
.apac-kvkk input:checked + .apac-kvkk-box{background:var(--apac-primary);border-color:var(--apac-primary);color:#fff;}
.apac-kvkk input:focus-visible + .apac-kvkk-box{outline:3px solid var(--apac-accent);outline-offset:2px;}
.apac-kvkk-text a{color:var(--apac-primary);font-weight:600;}

/* Honeypot gizle */
.apac-hp{position:absolute;left:-9999px;top:-9999px;width:1px;height:1px;overflow:hidden;}

/* Navigasyon */
.apac-nav{display:flex;align-items:center;gap:12px;margin-top:22px;}
.apac-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;font:inherit;font-weight:700;
	color:var(--apac-muted);cursor:pointer;padding:10px 4px;border-radius:8px;}
.apac-back svg{width:16px;height:16px;}
.apac-back:hover{color:var(--apac-text);}
.apac-cta{
	margin-left:auto;display:inline-flex;align-items:center;gap:8px;border:none;font:inherit;font-weight:800;font-size:15px;color:#fff;
	cursor:pointer;background:linear-gradient(135deg,var(--apac-accent),color-mix(in srgb,var(--apac-accent) 70%, #000 14%));
	padding:14px 26px;border-radius:13px;
	box-shadow:0 12px 26px -10px color-mix(in srgb,var(--apac-accent) 80%, transparent);
	transition:transform .12s,box-shadow .15s,opacity .15s;
}
.apac-cta svg{width:16px;height:16px;}
.apac-cta:hover{transform:translateY(-2px);}
.apac-cta:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none;}
.apac-hint{display:flex;align-items:center;justify-content:center;gap:6px;font-size:12.5px;color:var(--apac-muted);margin:16px 0 0;text-align:center;}
.apac-hint svg{width:13px;height:13px;}

/* Bandeau de confiance */
.apac-trust{display:flex;align-items:center;justify-content:center;gap:18px;margin-top:18px;flex-wrap:wrap;
	font-size:12px;color:var(--apac-muted);font-weight:600;}
.apac-trust span{display:inline-flex;align-items:center;gap:6px;}
.apac-trust svg{width:14px;height:14px;color:var(--apac-accent);}
.apac-trust b{color:var(--apac-primary);}

/* Écran de fin */
.apac-done{text-align:center;padding:14px 0;}
.apac-badge{width:84px;height:84px;border-radius:50%;margin:6px auto 18px;display:grid;place-items:center;color:#fff;
	background:linear-gradient(135deg,var(--apac-primary),color-mix(in srgb,var(--apac-primary) 60%, var(--apac-accent)));
	box-shadow:0 16px 38px -12px color-mix(in srgb,var(--apac-primary) 70%, transparent);
	animation:apac-pop .5s cubic-bezier(.34,1.56,.64,1);}
.apac-badge svg{width:40px;height:40px;}
@keyframes apac-pop{0%{transform:scale(.3);opacity:0}100%{transform:scale(1);opacity:1}}
.apac-recap{background:var(--apac-prim-soft);border-radius:14px;padding:6px 16px;text-align:left;margin-top:18px;font-size:13.5px;}
.apac-recap div{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-bottom:1px solid var(--apac-line);}
.apac-recap div:last-child{border:none;}
.apac-recap span:first-child{color:var(--apac-muted);}
.apac-recap span:last-child{font-weight:700;text-align:right;}

/* Message d'erreur */
.apac-error{background:#fdecec;color:#b3261e;border:1px solid #f5c2c0;border-radius:10px;padding:11px 14px;font-size:13px;font-weight:600;margin-bottom:14px;}

@media (max-width:440px){
	.apac-h{font-size:21px;}
	.apac-opts.apac-two{grid-template-columns:1fr;}
	.apac-card{padding:24px 18px;}
	.apac-trust{gap:12px;}
}
@media (prefers-reduced-motion:reduce){
	.apac-shell *{animation:none!important;transition:none!important;}
}
