:root{--lif-navy:#070D1A;--lif-navy2:#0C1526;--lif-ink:#111827;--lif-accent:#FF3D22;--lif-accent2:#E8300F;--lif-surface:#F4F5F7;--lif-smoke:#E8EBF0;--lif-muted:#6B7280;--lif-border:#DDE1E9;--lif-green:#10B981;--lif-r:18px;--lif-rs:10px}

.lif-btn-devis{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:15px;line-height:1;padding:14px 28px;border-radius:999px;border:0;cursor:pointer;text-decoration:none;background:var(--lif-accent);color:#fff;transition:background .15s ease,transform .1s ease}
.lif-btn-devis:hover,.lif-btn-devis:focus{background:var(--lif-accent2);color:#fff;text-decoration:none}
.lif-btn-devis:active{transform:translateY(1px)}
.lif-btn-devis[disabled]{opacity:.6;cursor:default}
.lif-btn-devis--ghost{background:transparent;color:var(--lif-ink);border:1px solid var(--lif-border)}
.lif-btn-devis--ghost:hover{background:var(--lif-surface);color:var(--lif-ink)}
.lif-btn-devis--sm{padding:10px 18px;font-size:14px}
.lif-btn-devis--ok{background:var(--lif-green)}

.lif-devis-loop{margin-top:8px}

/* Compteur flottant */
.lif-devis-fab{position:fixed;right:18px;bottom:18px;z-index:9998;display:none;align-items:center;gap:10px;padding:13px 22px;border-radius:999px;background:var(--lif-navy);color:#fff;font-family:'Plus Jakarta Sans',sans-serif;font-weight:600;font-size:15px;text-decoration:none;border:1px solid rgba(255,255,255,.12)}
.lif-devis-fab:hover,.lif-devis-fab:focus{background:var(--lif-navy2);color:#fff;text-decoration:none}
.lif-devis-fab.is-visible{display:inline-flex}
.lif-devis-fab .lif-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 7px;border-radius:999px;background:var(--lif-accent);font-size:13px;font-weight:700}

/* Page devis */
.lif-devis-wrap{font-family:'Plus Jakarta Sans',sans-serif;color:var(--lif-ink);font-size:16px;line-height:1.6}
.lif-devis-wrap h2,.lif-devis-wrap h3{font-family:'Syne',sans-serif;font-weight:800;line-height:1.12;color:var(--lif-ink);margin:0 0 14px}
.lif-devis-wrap h2{font-size:27px}
.lif-devis-wrap h3{font-size:20px}

.lif-devis-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
@media(max-width:860px){.lif-devis-grid{grid-template-columns:1fr;gap:26px}}

.lif-panel{background:#fff;border:1px solid var(--lif-border);border-radius:var(--lif-r);padding:26px}
.lif-panel--soft{background:var(--lif-surface)}

.lif-lignes{width:100%;border-collapse:collapse;margin:0 0 18px}
.lif-lignes th{background:var(--lif-surface);text-align:left;font-weight:600;font-size:13px;letter-spacing:.06em;text-transform:uppercase;color:var(--lif-muted);padding:11px 12px;border-bottom:1px solid var(--lif-border)}
.lif-lignes td{padding:13px 12px;border-bottom:1px solid var(--lif-border);vertical-align:top}
.lif-lignes tr:last-child td{border-bottom:0}
.lif-lignes a{color:var(--lif-ink);font-weight:600;text-decoration:none}
.lif-lignes a:hover{color:var(--lif-accent)}
.lif-lignes .lif-ref{display:block;font-size:13px;color:var(--lif-muted);font-weight:400;margin-top:3px}
.lif-qte{width:64px;height:38px;border:1px solid var(--lif-border);border-radius:var(--lif-rs);padding:0 8px;font:inherit;font-size:15px;text-align:center}
.lif-suppr{background:none;border:0;color:var(--lif-muted);cursor:pointer;font-size:14px;padding:4px;text-decoration:underline}
.lif-suppr:hover{color:var(--lif-accent2)}

.lif-vide{text-align:center;padding:34px 20px}
.lif-vide p{color:var(--lif-muted);margin:0 0 18px}

.lif-form .lif-champ{margin-bottom:16px}
.lif-form label{display:block;font-weight:600;font-size:14px;margin-bottom:6px;color:var(--lif-ink)}
.lif-form .lif-req{color:var(--lif-accent)}
.lif-form input[type=text],.lif-form input[type=email],.lif-form input[type=tel],.lif-form select,.lif-form textarea{width:100%;background:#fff;border:1px solid var(--lif-border);border-radius:var(--lif-rs);padding:0 14px;height:46px;font:inherit;font-size:15px;color:var(--lif-ink);box-sizing:border-box}
.lif-form textarea{height:auto;min-height:112px;padding:12px 14px;line-height:1.55;resize:vertical}
.lif-form input:focus,.lif-form select:focus,.lif-form textarea:focus{outline:0;border-color:var(--lif-accent);box-shadow:0 0 0 3px rgba(255,61,34,.18)}
.lif-form .lif-duo{display:grid;grid-template-columns:1fr 1fr;gap:16px}
@media(max-width:860px){.lif-form .lif-duo{grid-template-columns:1fr}}
.lif-form .lif-rgpd{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--lif-muted);line-height:1.5}
.lif-form .lif-rgpd input{margin-top:3px;flex:0 0 auto}
.lif-form .lif-hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.lif-erreur{color:var(--lif-accent2);font-size:14px;margin-top:5px}

.lif-alerte{border-radius:var(--lif-rs);padding:14px 16px;margin-bottom:20px;font-size:15px;border:1px solid}
.lif-alerte--ok{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.4);color:#065F46}
.lif-alerte--ko{background:rgba(232,48,15,.06);border-color:rgba(232,48,15,.35);color:#8A1C08}

.lif-engagements{list-style:none;margin:18px 0 0;padding:0}
.lif-engagements li{padding:11px 0;border-top:1px solid var(--lif-border);font-size:15px}
.lif-engagements li:first-child{border-top:0}
.lif-engagements strong{font-weight:700}

.lif-cart-devis{margin:18px 0;padding:18px;background:var(--lif-surface);border:1px solid var(--lif-border);border-radius:var(--lif-r)}
.lif-cart-devis p{margin:0 0 12px;font-size:15px;color:var(--lif-ink)}
