/* LF Configurateur Plaque — styles (préfixe lfc-) charte Sauge Minérale */
#lf-cfg{--bg:#F2EFE7;--bg-alt:#E8E4D9;--surface:#FBFAF5;--surface-2:#FFFFFF;--ink:#1A2620;--title:#2E3A33;--muted:#55605A;--tertiary:#8A948D;--rule:#DFDACD;--rule-soft:#EAE5D8;--brand:#6B7F6C;--brand-deep:#24332A;--brand-light:#8FA08C;--accent:#B08867;--accent-soft:#D6B898;--success:#4E7A5C;--font-serif:'Instrument Serif',serif;--font-sans:'Inter',system-ui,sans-serif;}
#lf-cfg *{box-sizing:border-box}
#lf-cfg{font-family:var(--font-sans);color:var(--ink);background:var(--bg);border:1px solid var(--rule);border-radius:20px;overflow:hidden;display:flex;flex-direction:column;max-width:1160px;margin:0 auto}
/* Masque le formulaire natif tout en le gardant fonctionnel */
.lfc-on form.cart{position:absolute!important;left:-9999px!important;top:0;width:1px;height:1px;overflow:hidden}
.lfc-appbar{background:var(--surface);border-bottom:1px solid var(--rule);padding:12px 16px 11px}
.lfc-appbar__top{display:flex;align-items:center;justify-content:space-between;gap:10px}
.lfc-title{font-family:var(--font-serif);font-size:19px;color:var(--brand-deep);line-height:1.05}
.lfc-title em{font-style:italic;color:var(--brand)}
.lfc-price{font-size:12px;color:var(--muted)} .lfc-price b{color:var(--accent);font-weight:600}
.lfc-progress{height:5px;background:var(--rule);border-radius:99px;overflow:hidden;margin-top:11px}
.lfc-progress__fill{height:100%;width:14%;background:var(--accent);border-radius:99px;transition:width .35s ease}
.lfc-progress__lbl{font-size:10.5px;letter-spacing:.04em;color:var(--tertiary);margin-top:6px;text-transform:uppercase}
.lfc-progress__lbl b{color:var(--accent);font-weight:600}
.lfc-main{display:flex;min-height:0}
.lfc-stage{position:relative;background:#fff;flex:0 0 52%;border-right:1px solid var(--rule);min-height:300px}
.lfc-preview{position:absolute;inset:24px;background-size:contain;background-repeat:no-repeat;background-position:center;transition:opacity .35s ease}
.lfc-tag{position:absolute;top:12px;left:12px;background:rgba(36,51,42,.78);color:#fff;font-size:11px;padding:5px 11px;border-radius:99px}
.lfc-hint{position:absolute;bottom:12px;right:12px;background:rgba(251,250,245,.9);color:var(--muted);font-size:10px;padding:4px 9px;border-radius:99px}
.lfc-panel{flex:1;display:flex;flex-direction:column;min-width:0}
.lfc-body{flex:1;overflow-y:auto;padding:22px 26px}
.lfc-step{display:none} .lfc-step.is-active{display:block}
.lfc-eyebrow{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--accent);font-weight:600}
.lfc-h{font-family:var(--font-serif);font-size:28px;color:var(--brand-deep);line-height:1.08;margin:3px 0 4px}
.lfc-sub{font-size:13px;color:var(--muted);line-height:1.45;margin-bottom:15px}
.lfc-field{margin-bottom:14px}
.lfc-field label{font-size:13px;font-weight:600;color:var(--title);margin-bottom:6px;display:block}
.lfc-help{font-size:11.5px;color:var(--tertiary);margin-top:5px;line-height:1.4}
.lfc-inp{width:100%;border:1px solid var(--rule);background:#fff;border-radius:12px;padding:12px 14px;font-family:var(--font-sans);font-size:15px;color:var(--ink)}
.lfc-inp:focus{outline:none;border-color:var(--brand)}
.lfc-up{border:1.5px dashed var(--accent-soft);background:#fbf6f0;border-radius:14px;padding:16px 14px;text-align:center;cursor:pointer}
.lfc-up:hover{background:#f8efe4;border-color:var(--accent)} .lfc-up b{font-size:13.5px;color:var(--title)} .lfc-up span{display:block;font-size:11.5px;color:var(--tertiary);margin-top:3px}
.lfc-up.filled{border-style:solid;border-color:var(--success);background:#eef4ee}
.lfc-row{display:grid;gap:9px;grid-template-columns:repeat(3,1fr)}
.lfc-row[data-cols="2"]{grid-template-columns:repeat(2,1fr)}
.lfc-row[data-cols="4"]{grid-template-columns:repeat(4,1fr)}
.lfc-row[data-cols="5"]{grid-template-columns:repeat(5,1fr)}
.lfc-row[data-cols="6"]{grid-template-columns:repeat(3,1fr)}
.lfc-opt{border:1.5px solid var(--rule);background:#fff;border-radius:13px;padding:7px;cursor:pointer;text-align:center;position:relative;display:flex;flex-direction:column;gap:5px;transition:.15s;min-width:0}
.lfc-opt:hover{border-color:var(--brand-light)}
.lfc-opt.sel{border-color:var(--accent);background:#fbf4ec;box-shadow:0 0 0 3px rgba(176,136,103,.12)}
.lfc-opt img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:9px;background:var(--bg-alt)}
.lfc-opt b{font-size:12px;color:var(--title);line-height:1.1}
.lfc-opt .p{font-size:10.5px;color:var(--brand)}
.lfc-opt .ck{position:absolute;top:5px;right:5px;width:19px;height:19px;border-radius:50%;background:var(--accent);color:#fff;display:none;align-items:center;justify-content:center;font-size:12px}
.lfc-opt.sel .ck{display:flex}
.lfc-opt.size{padding:11px 3px} .lfc-opt.size b{font-size:15px;font-family:var(--font-serif)} .lfc-opt.size .d{font-size:9px;color:var(--tertiary)}
.lfc-explain{margin-top:13px;background:var(--surface);border:1px solid var(--rule-soft);border-left:3px solid var(--accent-soft);border-radius:10px;padding:11px 13px}
.lfc-explain p{font-size:12px;color:var(--muted);line-height:1.5;margin:0}
.lfc-explain .selx{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed var(--rule);font-size:12.5px;color:var(--brand-deep)}
.lfc-explain .selx b{color:var(--accent)}
.lfc-explain img{width:100%;border-radius:9px;margin-top:10px;display:block;border:1px solid var(--rule-soft)}
.lfc-sizeout{display:none;margin-top:13px;background:#fbf4ec;border:1px solid var(--accent-soft);border-radius:12px;padding:13px 14px;align-items:baseline;justify-content:center;gap:12px}
.lfc-sizeout.show{display:flex}
.lfc-sizeout .nm{font-size:12px;color:var(--muted)} .lfc-sizeout .dim{font-family:var(--font-serif);font-size:25px;color:var(--brand-deep)} .lfc-sizeout .pr{font-size:19px;color:var(--accent);font-weight:600}
.lfc-reassure{display:flex;gap:10px;background:#eef3ee;border:1px solid #d7e2d6;border-radius:12px;padding:12px;margin-top:14px}
.lfc-reassure b{font-size:12.5px;color:var(--brand-deep)} .lfc-reassure p{font-size:11.5px;color:var(--muted);line-height:1.4;margin:2px 0 0}
.lfc-recap .r{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--rule-soft)}
.lfc-recap img{width:44px;height:44px;border-radius:9px;object-fit:cover;background:var(--bg-alt)}
.lfc-recap .k{font-size:11px;color:var(--tertiary);text-transform:uppercase;letter-spacing:.06em}
.lfc-recap .v{font-size:13.5px;color:var(--title);font-weight:600}
.lfc-recap .ed{margin-left:auto;font-size:11.5px;color:var(--accent);background:none;border:none;cursor:pointer;font-weight:600}
.lfc-nav{background:var(--surface);border-top:1px solid var(--rule);padding:11px 16px 14px;display:flex;align-items:center;gap:10px}
.lfc-total{margin-right:auto} .lfc-total .k{font-size:10px;color:var(--tertiary);text-transform:uppercase} .lfc-total .v{font-size:19px;font-family:var(--font-serif);color:var(--brand-deep)}
.lfc-btn{border:none;border-radius:99px;font-family:var(--font-sans);font-weight:600;cursor:pointer;font-size:14.5px;background:var(--brand);color:#fff;padding:13px 22px}
.lfc-btn:hover{background:var(--brand-deep)} .lfc-btn:disabled{background:var(--rule);color:var(--tertiary);cursor:not-allowed}
.lfc-btn.cart{background:var(--accent)} .lfc-btn.cart:hover{background:#9a7457}
.lfc-back{width:44px;height:44px;border-radius:50%;border:1px solid var(--rule);background:var(--surface);color:var(--brand-deep);cursor:pointer}
.lfc-back:disabled{opacity:.35;cursor:not-allowed}
.lfc-hidden{display:none!important}
@media(max-width:1024px){.lfc-stage{flex-basis:46%}.lfc-h{font-size:25px}}
@media(max-width:760px){.lfc-main{flex-direction:column}.lfc-stage{flex:0 0 300px;border-right:none;border-bottom:1px solid var(--rule)}.lfc-preview{inset:18px}.lfc-body{padding:16px}}

/* ── Étape 7 : finish (CGV + 2 portes) ── */
.lfc-finish{margin-top:4px}
.lfc-cgv{display:flex;gap:9px;align-items:flex-start;margin:14px 0 6px;font-size:12px;color:var(--muted);line-height:1.4}
.lfc-cgv input{margin-top:2px;flex-shrink:0}
.lfc-cgv a{color:var(--accent)}
.lfc-emailwrap{margin:8px 0 4px}
.lfc-choice{display:flex;flex-direction:column;gap:10px;margin-top:8px}
.lfc-cta{display:block;width:100%;border:none;border-radius:14px;padding:13px 15px;cursor:pointer;text-align:left;font-family:var(--font-sans);transition:.15s}
.lfc-cta b{display:block;font-size:15px;line-height:1.2}
.lfc-cta span{display:block;font-size:11.5px;opacity:.9;margin-top:3px;line-height:1.35}
.lfc-cta--bat{background:var(--brand);color:#fff}
.lfc-cta--bat:hover{background:var(--brand-deep)}
.lfc-cta--pay{background:#fff;border:1.5px solid var(--accent);color:var(--brand-deep)}
.lfc-cta--pay:hover{background:#fbf4ec}
