
/* =========================================================
   SEO VISUEL — couleurs + Bootstrap Icons
   ========================================================= */
:root{
  --lx-blue:#0d6efd;
  --lx-cyan:#14b8d4;
  --lx-pink:#df359d;
  --lx-green:#16a34a;
  --lx-orange:#f59e0b;
  --lx-purple:#7c3aed;
  --lx-dark:#111827;
  --lx-muted:#4b5563;
}

.lx-proofbar{
  margin-top:18px;
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:10px;
}
.lx-proofitem{
  display:inline-flex;
  align-items:center;
  gap:7px;
  padding:8px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.94);
  color:#172033;
  font-size:13px;
  font-weight:800;
  box-shadow:0 8px 20px rgba(0,0,0,.14);
}
.lx-proofitem i{ color:var(--lx-blue); }
.lx-metrics-hidden{ display:none !important; }
.lx-price-factors{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:12px;
  margin-top:18px;
}
.lx-price-factor{
  border:1px solid rgba(13,110,253,.12);
  background:#fff;
  border-radius:16px;
  padding:16px;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.lx-price-factor strong{
  display:block;
  color:var(--lx-dark);
  margin-bottom:6px;
}
.lx-price-factor i{
  color:var(--lx-blue);
  margin-right:6px;
}
@media (max-width: 991px){
  .lx-price-factors{ grid-template-columns:1fr; }
}
@media (max-width: 576px){
  .lx-proofbar{ gap:7px; }
  .lx-proofitem{ width:100%; justify-content:center; font-size:12px; }
}
.lx-seo-hero{
  position:relative;
  overflow:hidden;
  border:1px solid rgba(13,110,253,.16);
  background:transparent; /* fond retiré sur le bloc du haut */
  border-radius:26px;
  padding:28px;
  box-shadow:none;
}
.lx-seo-hero::before{
  content:none; /* supprime la forme décorative de fond */
}
.lx-seo-kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  margin-bottom:10px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(13,110,253,.10);
  color:var(--lx-blue);
  font-size:13px;
  font-weight:900;
}
.lx-seo-hero h2,
.lx-seo-copy h2,
.lx-seo-faq h2{
  font-weight:900;
  color:var(--lx-dark);
}
.lx-seo-hero p,
.lx-seo-copy p,
.lx-seo-copy li,
.lx-seo-faq p{
  color:var(--lx-muted);
  line-height:1.65;
}
.lx-seo-highlight{
  border:0;
  border-radius:20px;
  color:#fff;
  background:linear-gradient(135deg, var(--lx-blue), var(--lx-purple));
  box-shadow:0 14px 30px rgba(13,110,253,.24);
}
.lx-seo-highlight strong{ color:#fff; }
.lx-seo-highlight .small{ color:rgba(255,255,255,.82) !important; }
.lx-seo-pill-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:14px;
}
.lx-seo-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:7px 10px;
  border-radius:999px;
  background:#fff;
  border:1px solid rgba(13,110,253,.14);
  color:#1f2937;
  font-size:12px;
  font-weight:800;
  box-shadow:0 6px 16px rgba(0,0,0,.04);
}
.lx-seo-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:20px;
}
.lx-seo-card{
  position:relative;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(0,0,0,.07);
  border-radius:18px;
  padding:16px;
  height:100%;
  box-shadow:0 10px 26px rgba(0,0,0,.055);
  transition:transform .16s ease, box-shadow .16s ease, border-color .16s ease;
}
.lx-seo-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 34px rgba(13,110,253,.12);
  border-color:rgba(13,110,253,.18);
}
.lx-seo-card::after{
  content:"";
  position:absolute;
  inset:auto -35px -45px auto;
  width:110px;
  height:110px;
  border-radius:999px;
  opacity:.12;
}
.lx-seo-card-blue::after{ background:var(--lx-blue); }
.lx-seo-card-pink::after{ background:var(--lx-pink); }
.lx-seo-card-green::after{ background:var(--lx-green); }
.lx-seo-card-orange::after{ background:var(--lx-orange); }
.lx-seo-icon{
  width:42px;
  height:42px;
  border-radius:14px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  color:#fff;
  font-size:20px;
  margin-bottom:10px;
  box-shadow:0 10px 22px rgba(0,0,0,.13);
}
.lx-seo-icon.blue{ background:linear-gradient(135deg, var(--lx-blue), #60a5fa); }
.lx-seo-icon.pink{ background:linear-gradient(135deg, var(--lx-pink), #f472b6); }
.lx-seo-icon.green{ background:linear-gradient(135deg, var(--lx-green), #4ade80); }
.lx-seo-icon.orange{ background:linear-gradient(135deg, var(--lx-orange), #fbbf24); }
.lx-seo-card strong{
  display:block;
  color:var(--lx-dark);
  margin-bottom:4px;
}
.lx-seo-copy,
.lx-seo-faq{
  border:1px solid rgba(0,0,0,.07);
  border-radius:24px;
  padding:26px;
  background:
    linear-gradient(180deg, rgba(248,250,252,.92), rgba(255,255,255,1));
  box-shadow:0 14px 36px rgba(0,0,0,.055);
}
.lx-seo-section-title{
  display:flex;
  align-items:center;
  gap:10px;
}
.lx-seo-section-title i{
  width:38px;
  height:38px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:linear-gradient(135deg, var(--lx-blue), var(--lx-pink));
  color:#fff;
  font-size:18px;
  flex:0 0 auto;
}
.lx-seo-copy .lx-seo-two-cols{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
.lx-seo-mini-card{
  border:1px solid rgba(13,110,253,.12);
  background:#fff;
  border-radius:18px;
  padding:18px;
  height:100%;
  box-shadow:0 8px 22px rgba(0,0,0,.04);
}
.lx-seo-mini-card h3{
  display:flex;
  align-items:center;
  gap:8px;
  color:var(--lx-dark);
  font-weight:900;
}
.lx-seo-mini-card h3 i{ color:var(--lx-blue); }
.lx-seo-faq details{
  border:1px solid rgba(13,110,253,.11);
  border-radius:16px;
  padding:14px 16px;
  background:#fff;
  margin-bottom:10px;
  box-shadow:0 7px 18px rgba(0,0,0,.035);
}
.lx-seo-faq details[open]{
  border-color:rgba(13,110,253,.24);
  background:linear-gradient(180deg, rgba(13,110,253,.045), #fff);
}
.lx-seo-faq summary{
  cursor:pointer;
  font-weight:900;
  color:var(--lx-dark);
  list-style:none;
}
.lx-seo-faq summary::-webkit-details-marker{ display:none; }
.lx-seo-faq summary i{
  color:var(--lx-blue);
  margin-right:8px;
}
@media (max-width: 991px){
  .lx-seo-grid{ grid-template-columns:repeat(2,minmax(0,1fr)); }
  .lx-seo-copy .lx-seo-two-cols{ grid-template-columns:1fr; }
}
@media (max-width: 576px){
  .lx-seo-hero,
  .lx-seo-copy,
  .lx-seo-faq{ padding:16px; border-radius:20px; }
  .lx-seo-grid{ grid-template-columns:1fr; }
  .lx-seo-section-title{ align-items:flex-start; }
}


@keyframes flashPrice { 0%{background-color:#dff0d8;} 100%{background-color:transparent;} }
.flash-price{ animation: flashPrice .6s ease-out; }
#addToCart.disabled{ opacity:.5; pointer-events:none; cursor:not-allowed; }
#addToCart{ transition: all .2s ease; }
#lxInlineCartWrap button{ box-shadow: 0 4px 16px rgba(13,110,253,.30); }
#lxInlineCartWrap button:hover{ transform: translateY(-1px); box-shadow: 0 6px 22px rgba(13,110,253,.40); }


.lx-manual-quote-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.lx-manual-quote-actions .btn{border-radius:12px;font-weight:800;}
#lxManualQuoteReasons{margin:8px 0 10px 18px;padding:0;}
#lxManualQuoteReasons li{margin-bottom:4px;}
@keyframes lxPulse{
  0%,100%{ box-shadow:0 0 0 0 rgba(25,135,84,.55); }
  50%    { box-shadow:0 0 0 8px rgba(25,135,84,0); }
}

/* ── DIMS TABS ──────────────────────────────────── */
.lx-dim-tabs{ border-bottom:1px solid rgba(0,0,0,.10); padding-bottom:8px; }
.lx-dim-tab{ background:none; border:1.5px solid rgba(0,0,0,.12); border-radius:8px; padding:4px 14px; font-size:12px; font-weight:700; color:#555; cursor:pointer; transition:all .15s; }
.lx-dim-tab.active{ background:#0d6efd; color:#fff; border-color:#0d6efd; }
.lx-dim-tab:hover:not(.active){ border-color:#0d6efd; color:#0d6efd; }

/* ── ORIG REF ──────────────────────────────────── */
.lx-orig-ref{ background:#f8f9ff; border:1px dashed rgba(13,110,253,.25); border-radius:8px; padding:6px 12px; font-size:12px; display:flex; align-items:center; gap:4px; flex-wrap:wrap; }
.lx-orig-label{ font-weight:700; opacity:.6; margin-right:4px; }
.lx-orig-val{ font-weight:800; color:#0d6efd; }
.lx-orig-unit{ opacity:.5; }

/* ── AXIS LABELS ──────────────────────────────── */
.lx-axis-label{ font-size:11px; font-weight:900; margin-bottom:3px; display:block; }
.lx-axis-label.lx-x, .lx-axis-dot.lx-x{ color:#c16363; }
.lx-axis-label.lx-y, .lx-axis-dot.lx-y{ color:#4cc813; }
.lx-axis-label.lx-z, .lx-axis-dot.lx-z{ color:#2278ce; }
.lx-unit-badge{ font-size:10px; padding:0 6px; background:#f0f0f0; color:#666; }

/* ── PCT MODE ──────────────────────────────────── */
.lx-scale-range{ accent-color:#0d6efd; }
.lx-pct-preview{ background:#f8f9ff; border-radius:8px; padding:8px 12px; display:flex; gap:12px; flex-wrap:wrap; }
.lx-pct-row{ display:flex; align-items:center; gap:5px; font-size:12px; font-weight:700; }
.lx-axis-dot{ width:8px; height:8px; border-radius:50%; background:currentColor; display:inline-block; }
.lx-pct-row span[id]{ color:#0d6efd; min-width:40px; }

/* =========================
   LAYOUT (Viewer / Paramètres)
   ========================= */
.lx-layout{
  display:grid;
  grid-template-columns: 42% 58%;
  gap:14px;
  align-items:start;
}
.lx-right{ position: sticky; top: 12px; }

@media (max-width: 991px){
  .lx-layout{ grid-template-columns: 1fr; }
  .lx-right{ position: static; }
}

/* =========================
   MENU (barre + nav)
   ========================= */
.lx-menu{
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:#fff;
  padding:10px;
  margin-bottom:10px;
}

/* --- Boutons paramètres (1 ligne, compacts) --- */
.lx-icons{
  display:flex;
  flex-wrap:nowrap;
  gap:8px;
  margin-top:0;
  overflow-x:auto;
  -webkit-overflow-scrolling: touch;
  padding-bottom:2px;
}
.lx-icons::-webkit-scrollbar{ height:6px; }
.lx-icons::-webkit-scrollbar-thumb{ background:rgba(0,0,0,.12); border-radius:999px; }
.lx-icons::-webkit-scrollbar-track{ background:transparent; }

.lx-ico{
  flex:0 0 auto;
  height:40px;
  padding:0 10px;
  gap:6px;
  border-radius:12px;
  border:1px solid rgba(0,0,0,.10);
  background:#fff;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.lx-ico i{ font-size:18px; }
.lx-ico:hover{ transform: translateY(-1px); box-shadow: 0 6px 16px rgba(0,0,0,.10); }
.lx-ico.active{ border-color: rgba(106,166,255,.65); box-shadow:0 10px 20px rgba(106,166,255,.18); }

.lx-label{
  font-size:11px;
  font-weight:700;
  line-height:1;
  white-space:nowrap;
  opacity:.85;
}
@media (max-width: 420px){
  .lx-label{ display:none; }
  .lx-ico{ width:40px; padding:0; }
}

/* =========================
   NAV (Précédent / Suivant)
   ========================= */
.lx-devis-nav{
  display:flex;
  gap:10px;
  margin-top:10px;
}
.lx-btn{
  width:50%;
  height:40px;
  
  background:rgba(0,0,0,.04);
  border-radius:12px;
  padding:0 10px;
  cursor:pointer;
  text-decoration:none;
  color:inherit;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}

/* =========================
   PANELS
   ========================= */
.lx-panelwrap{ border:1px solid rgba(0,0,0,.10); border-radius:16px; background:#fff; overflow:hidden; }
.lx-panel{ display:none; }
.lx-panel.open{ display:block; }

.lx-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:10px 12px;
  border-bottom:1px solid rgba(0,0,0,.08);
  font-weight:900;
}

.lx-body{ padding:12px; max-height:560px; overflow:auto; }

/* =========================
   CANVAS VIEWER
   ========================= */
.lx-viewer-shell{
  position:relative;
  width:100%;
  border-radius:12px;
  overflow:hidden;
  background:#f6f6f6;
}
#vu3d{
  display:block;
  background:#f6f6f6 !important;
  border-radius:12px;
  border:2px dashed rgba(0,0,0,.18);
  animation: dashPulse 1.4s ease-in-out infinite;
}
.lx-viewer-loading{
  position:absolute;
  inset:0;
  z-index:8;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(245,248,252,.90);
  backdrop-filter:blur(4px);
  opacity:1;
  visibility:visible;
  transition:opacity .18s ease, visibility .18s ease;
}
.lx-viewer-loading.is-hidden{
  opacity:0;
  visibility:hidden;
  pointer-events:none;
}
.lx-viewer-loading-card{
  width:min(360px, 88%);
  padding:16px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:14px;
  background:#fff;
  box-shadow:0 14px 35px rgba(0,0,0,.12);
}
.lx-viewer-loading-title{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  margin-bottom:10px;
  color:#313943;
  font-size:13px;
  font-weight:800;
}
.lx-viewer-loading-track{
  height:10px;
  overflow:hidden;
  border-radius:999px;
  background:#e5e9ef;
}
.lx-viewer-loading-bar{
  position:relative;
  width:0;
  height:100%;
  border-radius:inherit;
  background:linear-gradient(90deg, #0d6efd, #5aa0ff);
  transition:width .16s ease;
}
.lx-viewer-loading-bar.is-processing::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(110deg, transparent 25%, rgba(255,255,255,.60) 50%, transparent 75%);
  transform:translateX(-100%);
  animation:lxViewerShimmer 1s linear infinite;
}
.lx-viewer-loading.is-error .lx-viewer-loading-bar{ background:#dc3545; }
.lx-viewer-loading.is-error .lx-viewer-loading-title{ color:#b02a37; }
@keyframes lxViewerShimmer{ to{ transform:translateX(100%); } }
@keyframes dashPulse{
  0%,100% { border-color: rgba(0,0,0,.10); }
  50%     { border-color: rgba(0,0,0,.22); }
}

/* =========================
   TECH IMAGE (entière, pas trop grande)
   ========================= */
.tech-frame{
  width:100%;
  height:180px;
  background:#f6f6f6;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.tech-frame img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}

/* ✅ zone alertes entre paramètres et prix */
.lx-alerts{
  margin-top: 10px;
}
.lx-alerts .alert{
  margin:0;
  padding:.65rem .75rem;
  border-radius:14px;
  font-size:.92rem;
}

/* ✅ prix tout en bas, après les paramètres */
.lx-footerprice{
  margin-top: 10px;
  border:1px solid rgba(0,0,0,.10);
  border-radius:16px;
  background:#fff;
  padding:12px;
}
.lx-footerprice h5{ margin:0 0 8px 0; }
.lx-footerprice .input-group{ margin:0; }

.lx-nav-between{
  position: sticky;
  bottom: 10px;
  z-index: 6;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(6px);
  padding: 8px;
  border: 1px solid rgba(0,0,0,.10);
  border-radius: 14px;
}













.lx-metrics{ margin-top: 4px; }

.lx-metric{
  border:1px solid rgba(0,0,0,.08);
  background: #fff;
  border-radius: 14px;
  padding: 10px 10px;
  box-shadow: 0 6px 18px rgba(0,0,0,.04);
  min-height: 72px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}

.lx-metric-top{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}

.lx-metric-label{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size: 12px;
  font-weight: 800;
  opacity:.85;
}

.lx-metric-label i{
  font-size: 16px;
  opacity:.9;
}

.lx-metric-val{
  font-size: 18px;
  font-weight: 900;
  letter-spacing: .2px;
  display:flex;
  align-items:baseline;
  gap:6px;
}

.lx-unit{
  font-size: 12px;
  font-weight: 800;
  opacity:.65;
}

/* ✅ Check "visité" sur les boutons paramètres */
.lx-ico{
  position: relative; /* nécessaire pour placer le check */
}

.lx-ico .lx-check{
  position: absolute;
  top: 6px;
  right: 6px;
  width: 18px;
  height: 18px;
  border-radius: 999px;
  background: #1db954;
  color: #fff;
  display: none;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 700;
  line-height: 1;
  box-shadow: 0 4px 10px rgba(0,0,0,.15);
}

.lx-ico.visited .lx-check{
  display: inline-flex;
}

/* état alerte dimensions trop petites */
.lx-ico.warning .lx-check{
  display: inline-flex;
  background: #f59e0b; /* orange */
  color: #fff;
}


/* ── GALERIE FICHIERS ─────────────────────────────────── */
.lx-galerie-grid{ display:flex; flex-wrap:wrap; align-items:flex-start; gap:12px; }
.lx-fichier-card{
  width:98px;
  min-height:116px;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  cursor:pointer;
  position:relative;
  padding:7px 6px 8px;
  border:1px solid #e5e7eb;
  border-radius:18px;
  background:#fff;
  box-shadow:none;
  transition:transform .14s ease,border-color .14s ease,background .14s ease;
}
.lx-fichier-card:hover{ transform:translateY(-2px); border-color:#8bbcff; background:#f8fbff; }
.lx-fichier-card.active-file{ border-color:#4c9bff; background:#f2f8ff; outline:2px solid rgba(76,155,255,.18); }
.lx-fichier-icon{
  width:82px;
  height:82px;
  border-radius:15px;
  border:1px solid #e5e7eb;
  background:#fafafa;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:29px;
  position:relative;
  overflow:hidden;
  box-shadow:none;
}
.lx-fichier-card:hover .lx-fichier-icon{ border-color:#b9d7ff; }
.lx-fichier-card.active-file .lx-fichier-icon{ border-color:#4c9bff; background:#fff; }
.lx-ext-stl .lx-fichier-icon{ color:#e05c2e; }
.lx-ext-obj .lx-fichier-icon{ color:#2e9fe0; }
.lx-ext-3mf .lx-fichier-icon{ color:#7b5ef6; }
.lx-fichier-name-in{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:20px;
  line-height:20px;
  padding:0 5px;
  background:#fff;
  color:#263238;
  font-size:9px;
  font-weight:900;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-top:1px solid #edf0f3;
}
.lx-fichier-badge{ position:absolute; top:6px; right:6px; font-size:8px; font-weight:900; padding:2px 5px; border-radius:7px; color:#fff; letter-spacing:.25px; line-height:1.3; }
.lx-ext-stl .lx-fichier-badge{ background:#e05c2e; }
.lx-ext-obj .lx-fichier-badge{ background:#2e9fe0; }
.lx-ext-3mf .lx-fichier-badge{ background:#7b5ef6; }
.lx-fichier-ok{ position:absolute; top:5px; left:5px; width:18px; height:18px; border-radius:50%; background:#24b35b; color:#fff; display:flex; align-items:center; justify-content:center; font-size:10px; font-weight:900; border:2px solid #fff; box-shadow:none; z-index:3; }
.lx-fichier-count{ position:absolute; top:5px; left:25px; min-width:18px; height:18px; padding:0 5px; border-radius:999px; background:#fff; color:#344054; border:1px solid #24b35b; display:flex; align-items:center; justify-content:center; font-size:9px; font-weight:900; line-height:1; box-shadow:none; z-index:3; }
.lx-fichier-count.is-multiple{ background:#fff8e1; color:#8a5a00; border-color:#ffc107; }
.lx-fichier-status-holder{ width:100%; min-height:0; display:flex; justify-content:center; }
.lx-fichier-status-holder:empty{ display:none; }
.lx-fichier-status{ width:86px; min-height:18px; padding:2px 5px; border-radius:999px; font-size:9px; font-weight:850; line-height:1.15; display:flex; align-items:center; justify-content:center; gap:3px; background:#eef2f7; color:#475467; border:1px solid rgba(71,84,103,.16); position:relative; overflow:hidden; }
.lx-fichier-status span{ position:relative; z-index:2; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lx-fichier-status i{ position:relative; z-index:2; font-size:9px; }
.lx-fichier-status.is-running{ background:#fff8e6; color:#946200; border-color:rgba(255,193,7,.55); }
.lx-fichier-status.is-ok{ background:#ecfdf3; color:#027a48; border-color:rgba(40,167,69,.30); }
.lx-fichier-status.is-warning{ background:#fff3cd; color:#8a5a00; border-color:rgba(255,193,7,.65); }
.lx-fichier-status.is-error{ background:#fdecec; color:#b42318; border-color:rgba(220,53,69,.35); }
.lx-fichier-status-bar{ position:absolute!important; left:0; bottom:0; height:3px; width:100%; background:rgba(0,0,0,.08); z-index:1!important; }
.lx-fichier-status-bar span{ display:block; height:100%; background:currentColor; opacity:.35; transition:width .18s ease; }
.lx-fichier-status-bar.is-indeterminate span{ width:38%!important; animation:lxCardProgress 1.15s ease-in-out infinite; }
.lx-fichier-status.is-running{ font-variant-numeric:tabular-nums; }
.lx-sla-reco{ max-width:90px; display:flex; align-items:center; justify-content:center; gap:3px; padding:2px 6px; border-radius:999px; background:#f3e8ff; color:#6f2dbd; border:1px solid rgba(111,45,189,.24); font-size:8px; line-height:1.2; font-weight:900; white-space:nowrap; }
.lx-sla-reco.is-strong{ background:#ede9fe; color:#5b21b6; border-color:rgba(91,33,182,.36); }
.lx-sla-reco i{ font-size:8px; }
.lx-state-spin{ animation:lxSpin .9s linear infinite; }
@keyframes lxCardProgress{ 0%{ transform:translateX(-120%); } 55%{ transform:translateX(90%); } 100%{ transform:translateX(260%); } }
@keyframes lxSpin{ to{ transform:rotate(360deg); } }
.lx-upload-temp-card .lx-fichier-icon{ opacity:1; }
.lx-fichier-del{ position:absolute; top:-6px; right:-6px; width:22px; height:22px; border-radius:50%; background:#dc3545; color:#fff; border:2px solid #fff; font-size:12px; display:none; align-items:center; justify-content:center; cursor:pointer; z-index:5; box-shadow:none; }
.lx-fichier-card:hover .lx-fichier-del{ display:flex; }
.lx-add-card{ border-style:dashed; border-color:#b7d2ff; color:#0d6efd; background:#f7fbff; }
.lx-add-card .lx-fichier-icon{ border-style:dashed; border-color:#b7d2ff; background:#fff; color:#0d6efd; font-size:26px; transition:background .15s,border-color .15s; }
.lx-add-card:hover .lx-fichier-icon{ border-color:#0d6efd; background:#eef6ff; }
.lx-add-card .lx-fichier-nom{ color:#0d6efd; opacity:1; font-weight:700; }


.lx-batch-queue{
  display:flex;
  align-items:center;
  gap:10px;
  padding:10px 12px;
  margin-bottom:10px;
  border:1px solid rgba(13,110,253,.22);
  border-radius:14px;
  background:#f4f8ff;
  color:#17365f;
  font-size:12px;
  box-shadow:0 6px 18px rgba(13,110,253,.06);
  position:relative;
  overflow:hidden;
}
.lx-batch-queue-icon{ color:#0d6efd; font-size:17px; }
.lx-batch-queue-main{ min-width:0; flex:1; }
.lx-batch-queue-main strong{ display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.lx-batch-queue-main span{ display:block; color:#667085; font-size:10px; margin-top:1px; }
.lx-batch-queue::after{
  content:"";
  position:absolute;
  left:-35%;
  bottom:0;
  width:35%;
  height:3px;
  background:#0d6efd;
  opacity:.55;
  animation:lxQueueBar 1.25s ease-in-out infinite;
}
@keyframes lxQueueBar{ 0%{ transform:translateX(0); } 100%{ transform:translateX(390%); } }
body.lx-batch-queue-active #lxGalerie .lx-fichier-card:not(.lx-upload-temp-card){
  cursor:wait;
}
body.lx-batch-queue-active #lxGalerie .lx-fichier-card:not(.active-file){
  opacity:.62;
}
body.lx-batch-queue-active #lxCompleteMenu,
body.lx-batch-queue-active .lx-panelwrap,
body.lx-batch-queue-active #addToCart{
  pointer-events:none;
  user-select:none;
  opacity:.68;
}
body.lx-batch-queue-active .lx-fichier-del{ display:none!important; }
body.lx-batch-queue-active #lxGalerieClear{ pointer-events:none; opacity:.5; }

/* ── BARRE STICKY PANIER ─────────────────────────────── */


  /* Footer toujours visible dans le modal */
  #materiauModal .modal-footer{
    position: sticky;
    bottom: 0;
    z-index: 10;
    background: #fff;                 /* important pour ne pas voir le contenu derrière */
    border-top: 1px solid rgba(0,0,0,.10);
  }

  /* Optionnel : header sticky aussi */
  #materiauModal .modal-header{
    position: sticky;
    top: 0;
    z-index: 10;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.10);
  }


  #materiauModal .modal-body{
    overflow-x: hidden;
  }

  #materiauxContainer{
    max-width: 100%;
    min-width: 0;
    /*
     * Ne pas mettre overflow:hidden ici : ce conteneur deviendrait le parent
     * de défilement et empêcherait les catégories sticky de suivre le modal.
     */
    overflow: visible;
  }

  #materiauxContainer .lx-material-tabs{
    position: sticky;
    top: 0;
    z-index: 6;
    width: 100%;
    max-width: 100%;
    min-width: 0;
    display: flex;
    gap: 6px;
    row-gap: 8px;
    flex-wrap: wrap;
    overflow-x: hidden;
    padding: 0 0 10px 0;
    margin-bottom: 14px;
    background: #fff;
    border-bottom: 1px solid rgba(0,0,0,.08);
    box-shadow: 0 5px 10px rgba(0,0,0,.04);
  }

  #materiauxContainer .lx-material-tabs .nav-item{
    max-width: 100%;
    min-width: 0;
    flex: 0 1 auto;
  }

  #materiauxContainer .lx-material-tabs .nav-link{
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    border: 1px solid rgba(0,0,0,.10);
    color: #4b5563;
    font-weight: 700;
    font-size: 13px;
    line-height: 1.15;
    border-radius: 999px;
    padding: 7px 12px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
  }

  #materiauxContainer .lx-material-tab-name{
    min-width: 0;
    max-width: 180px;
    overflow: hidden;
    text-overflow: ellipsis;
    overflow-wrap: anywhere;
  }

  @media (max-width: 576px){
    #materiauxContainer .lx-material-tabs .nav-link{
      font-size: 12px;
      padding: 7px 10px;
    }

    #materiauxContainer .lx-material-tab-name{
      max-width: 118px;
    }
  }

  #materiauxContainer .lx-material-count{
    min-width: 22px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(0,0,0,.06);
    color: #4b5563;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 11px;
    font-weight: 800;
  }

  #materiauxContainer .lx-material-tabs .nav-link.active{
    color: #fff;
    background: #0d6efd;
    border-color: #0d6efd;
  }

  #materiauxContainer .lx-material-tabs .nav-link.active .lx-material-count{
    background: rgba(255,255,255,.25);
    color: #fff;
  }


  #materiauxContainer .lx-material-subcategory{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:10px;
    margin: 4px 0 2px;
    padding: 9px 12px;
    border-radius: 12px;
    background: #f6f8fb;
    border: 1px solid rgba(0,0,0,.08);
    color:#1f2937;
    font-size:13px;
    font-weight:800;
  }

  #materiauxContainer .lx-material-subcategory-meta{
    color:#6b7280;
    font-size:11px;
    font-weight:700;
    white-space:nowrap;
  }

  #materiauxContainer .lx-material-card{
    min-height: 88px;
    padding: 12px;
    border: 1px solid rgba(0,0,0,.10);
    border-radius: 14px;
    background: #fff;
    margin-bottom: 8px;
    transition: border-color .15s ease, box-shadow .15s ease, transform .15s ease;
  }

  #materiauxContainer .lx-material-card:hover{
    border-color: rgba(13,110,253,.45);
    box-shadow: 0 8px 18px rgba(0,0,0,.08);
    transform: translateY(-1px);
  }

  #materiauxContainer .materiau-radio:checked + label h6{
    color: #0d6efd;
  }

  #materiauxContainer .lx-material-img{
    width: 52px;
    height: 52px;
    object-fit: cover;
    flex: 0 0 52px;
  }

  #materiauxContainer .lx-material-img-empty{
    font-size: 10px;
    text-align: center;
    line-height: 1.1;
  }

  #materiauxContainer .lx-material-usage{
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
  }
  
  .lx-choice-line{
  margin-bottom:10px;
  padding:8px 12px;
  border:1px solid rgba(0,0,0,.08);
  border-radius:12px;
  background:#fff;
  font-size:12px;
  font-weight:600;
  color:#5f6b7a;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.lx-choice-line b{
  color:#1f2937;
  font-weight:700;
}

/* Bannière devis V4 — animation une seule fois */
.lx-devis-hero {
  --lx-hero-blue: #2f7de1;
  --lx-hero-cyan: #64d8ff;
  --lx-hero-ink: #08111f;
  --lx-hero-ink-2: #101f35;
  --lx-hero-white: #f8fbff;
  --lx-hero-muted: #aab8cb;

  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 34px 0 30px;
  background:
    radial-gradient(circle at 82% 18%, rgba(68, 154, 255, .30), transparent 28%),
    radial-gradient(circle at 20% 100%, rgba(46, 110, 200, .18), transparent 32%),
    linear-gradient(118deg, #07101e 0%, #0c1829 47%, #112642 100%);
  color: var(--lx-hero-white);
  border-top: 1px solid rgba(255,255,255,.08);
  border-bottom: 1px solid rgba(12, 26, 45, .6);
}

.lx-devis-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -2;
  opacity: .22;
  background-image:
    linear-gradient(rgba(255,255,255,.065) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.065) 1px, transparent 1px);
  background-size: 42px 42px;
  -webkit-mask-image: linear-gradient(90deg, rgba(0,0,0,.85), transparent 78%);
  mask-image: linear-gradient(90deg, rgba(0,0,0,.85), transparent 78%);
}

.lx-devis-hero::after {
  content: "";
  position: absolute;
  width: 460px;
  height: 460px;
  right: -150px;
  top: -260px;
  z-index: -1;
  border-radius: 50%;
  border: 1px solid rgba(130, 196, 255, .18);
  box-shadow:
    0 0 0 70px rgba(94, 164, 255, .035),
    0 0 0 140px rgba(94, 164, 255, .018);
  animation: lxHeroOrb 12s ease-in-out 1 forwards;
}

.lx-devis-hero .container { position: relative; }

.lx-devis-hero-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(330px, .8fr);
  gap: 44px;
  align-items: center;
}

.lx-devis-hero-main { max-width: 780px; }

.lx-devis-label {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 11px;
  padding: 7px 11px;
  border: 1px solid rgba(123, 195, 255, .22);
  border-radius: 999px;
  background: rgba(26, 73, 125, .28);
  color: #cfe8ff;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .01em;
  backdrop-filter: blur(8px);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06);
}

.lx-devis-label i {
  color: #80d7ff;
  filter: drop-shadow(0 0 8px rgba(100,216,255,.45));
}

.lx-devis-hero h1 {
  margin: 0;
  max-width: 800px;
  color: #fff;
  font-size: clamp(34px, 3.15vw, 50px);
  font-weight: 820;
  line-height: 1.03;
  letter-spacing: -.045em;
  text-wrap: balance;
}

.lx-devis-hero h1 span {
  display: inline-block;
  margin-top: 3px;
  background: linear-gradient(90deg, #7fd6ff 0%, #4d9aff 55%, #87e7ff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.lx-devis-hero-main > p {
  max-width: 700px;
  margin: 13px 0 0;
  color: var(--lx-hero-muted);
  font-size: 15px;
  line-height: 1.58;
}

.lx-devis-hero-main > p strong {
  color: #dcecff;
  font-weight: 800;
}

.lx-devis-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin-top: 18px;
}

.lx-devis-usecases {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  margin-top: 12px;
  color: #93a8c2;
  font-size: 12px;
  font-weight: 700;
}

.lx-devis-usecases span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lx-devis-usecases i {
  color: #6bcaff;
}

.lx-devis-btn {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 10px 16px;
  border-radius: 11px;
  font-size: 13px;
  font-weight: 800;
  text-decoration: none !important;
  transition: transform .2s ease, border-color .2s ease, background .2s ease, box-shadow .2s ease;
}

.lx-devis-btn-primary {
  color: #07101e !important;
  background: linear-gradient(135deg, #91e3ff, #5ba6ff);
  box-shadow: 0 10px 30px rgba(55, 139, 236, .28);
}

.lx-devis-btn-secondary {
  color: #d8e8f8 !important;
  border: 1px solid rgba(255,255,255,.14);
  background: rgba(255,255,255,.055);
}

.lx-devis-btn:hover {
  transform: translateY(-2px);
}

.lx-devis-btn-primary:hover {
  box-shadow: 0 14px 36px rgba(55, 139, 236, .38);
}

.lx-devis-btn-secondary:hover {
  border-color: rgba(120, 199, 255, .38);
  background: rgba(255,255,255,.08);
}

/* Visuel impression 3D — V4 : animation jouée une seule fois */
.lx-devis-visual {
  position: relative;
  min-height: 238px;
  display: grid;
  place-items: center;
  perspective: 900px;
}

.lx-devis-glow {
  position: absolute;
  width: 300px;
  height: 135px;
  border-radius: 50%;
  background: rgba(65, 147, 255, .25);
  filter: blur(44px);
  transform: translateY(48px);
  animation: lxHeroGlow 3.4s ease-in-out 1 forwards;
}

.lx-devis-machine {
  position: relative;
  width: min(100%, 410px);
  height: 228px;
  transform-style: preserve-3d;
}

.lx-devis-machine::before,
.lx-devis-machine::after {
  content: "";
  position: absolute;
  top: 13px;
  bottom: 29px;
  width: 4px;
  border-radius: 4px;
  background: linear-gradient(#78c7ff, rgba(89,159,235,.10));
  box-shadow: 0 0 18px rgba(86, 173, 255, .28);
  opacity: .56;
}

.lx-devis-machine::before { left: 34px; }
.lx-devis-machine::after { right: 34px; }

/* Le portique monte réellement pendant que la pièce se construit. */
.lx-devis-gantry {
  position: absolute;
  z-index: 4;
  left: 32px;
  right: 32px;
  top: 48px;
  height: 5px;
  border-radius: 5px;
  background: linear-gradient(90deg, rgba(107,187,255,.18), #75c8ff 48%, rgba(107,187,255,.18));
  box-shadow: 0 0 16px rgba(82, 168, 255, .25);
  animation: lxGantryZ 6.4s linear 1 forwards;
}

.lx-devis-head {
  position: absolute;
  z-index: 8;
  top: 39px;
  left: calc(50% - 18px);
  width: 36px;
  height: 31px;
  border-radius: 7px 7px 10px 10px;
  background: linear-gradient(160deg, #eef8ff 0%, #81bdf2 45%, #294f79 100%);
  box-shadow: 0 8px 18px rgba(0,0,0,.30), 0 0 18px rgba(91,177,255,.26);
  animation: lxPrintHeadV2 6.4s linear 1 forwards;
}

.lx-devis-head::before {
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -8px;
  height: 9px;
  border-radius: 0 0 5px 5px;
  background: linear-gradient(#4e79a4, #93d7ff);
}

.lx-devis-head::after {
  content: "";
  position: absolute;
  left: 15px;
  bottom: -17px;
  width: 6px;
  height: 10px;
  clip-path: polygon(18% 0, 82% 0, 100% 38%, 50% 100%, 0 38%);
  background: #b1ebff;
  filter: drop-shadow(0 0 8px rgba(100,216,255,.95));
}

/* La pièce repose sur le plateau : plus d'effet "objet flottant". */
.lx-devis-print {
  position: absolute;
  z-index: 5;
  left: 50%;
  bottom: 57px;
  width: 184px;
  height: 72px;
  transform: translateX(-50%);
  transform-origin: center bottom;
  clip-path: inset(calc(100% - 5px) 0 0 0);
  animation: lxBuildModel 6.4s linear 1 forwards;
}

.lx-devis-layer {
  --w: 170px;
  position: absolute;
  left: 50%;
  bottom: 0;
  width: var(--w);
  height: 9px;
  transform: translateX(-50%);
  border: 1px solid rgba(111, 213, 255, .86);
  border-radius: 50%;
  background: linear-gradient(180deg, rgba(112,215,255,.20), rgba(47,118,201,.08));
  box-shadow: 0 0 9px rgba(74, 178, 255, .11), inset 0 1px 3px rgba(181,236,255,.12);
}

.lx-devis-layer:nth-child(1)  { --w: 174px; bottom: 0px;  opacity:.50; }
.lx-devis-layer:nth-child(2)  { --w: 169px; bottom: 6px;  opacity:.55; }
.lx-devis-layer:nth-child(3)  { --w: 163px; bottom: 12px; opacity:.60; }
.lx-devis-layer:nth-child(4)  { --w: 157px; bottom: 18px; opacity:.65; }
.lx-devis-layer:nth-child(5)  { --w: 150px; bottom: 24px; opacity:.70; }
.lx-devis-layer:nth-child(6)  { --w: 143px; bottom: 30px; opacity:.75; }
.lx-devis-layer:nth-child(7)  { --w: 136px; bottom: 36px; opacity:.80; }
.lx-devis-layer:nth-child(8)  { --w: 129px; bottom: 42px; opacity:.85; }
.lx-devis-layer:nth-child(9)  { --w: 122px; bottom: 48px; opacity:.90; }
.lx-devis-layer:nth-child(10) { --w: 115px; bottom: 54px; opacity:.98; }

.lx-devis-print::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 1px;
  width: 165px;
  height: 2px;
  transform: translateX(-50%);
  border-radius: 99px;
  background: linear-gradient(90deg, transparent, #a9ecff 20%, #62cfff 50%, #a9ecff 80%, transparent);
  box-shadow: 0 0 9px #65d1ff, 0 0 18px rgba(83,190,255,.55);
  animation: lxDepositLine 6.4s linear 1 forwards;
}

.lx-devis-bed {
  position: absolute;
  z-index: 3;
  left: 50%;
  bottom: 18px;
  width: 278px;
  height: 77px;
  transform: translateX(-50%) rotateX(66deg);
  transform-origin: center bottom;
  border: 1px solid rgba(146, 210, 255, .34);
  border-radius: 12px;
  background:
    linear-gradient(rgba(120,190,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(120,190,255,.07) 1px, transparent 1px),
    linear-gradient(145deg, rgba(20,45,76,.94), rgba(7,18,32,.98));
  background-size: 18px 18px, 18px 18px, auto;
  box-shadow: 0 17px 38px rgba(0,0,0,.30), inset 0 0 24px rgba(74,157,255,.07);
}

.lx-devis-scan {
  position: absolute;
  z-index: 7;
  left: 50%;
  bottom: 58px;
  width: 198px;
  height: 1px;
  transform: translateX(-50%);
  background: linear-gradient(90deg, transparent, #83ddff, transparent);
  box-shadow: 0 0 12px #5fcaff;
  opacity: .12;
  animation: lxScanLayerV2 6.4s linear 1 forwards;
}

.lx-devis-chip {
  position: absolute;
  z-index: 12;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 7px 10px;
  border: 1px solid rgba(159, 215, 255, .16);
  border-radius: 10px;
  background: rgba(8, 25, 45, .82);
  color: #d5eaff;
  font-size: 11px;
  font-weight: 750;
  white-space: nowrap;
  box-shadow: 0 10px 28px rgba(0,0,0,.20);
  backdrop-filter: blur(8px);
}

.lx-devis-chip i { color: #73d7ff; }
.lx-devis-chip-a { top: 66px; left: -1px; animation: lxFloat 3.8s ease-in-out 1 both; }
.lx-devis-chip-b { right: -3px; bottom: 45px; animation: lxFloat 4.3s ease-in-out 1 both reverse; }

.lx-devis-bottom {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 24px;
  margin-top: 19px;
  padding-top: 14px;
  border-top: 1px solid rgba(255,255,255,.09);
  color: #8999ad;
  font-size: 12px;
}

.lx-devis-bottom span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.lx-devis-bottom span::before {
  content: "";
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #66d5ff;
  box-shadow: 0 0 8px rgba(102,213,255,.75);
}

.lx-devis-bottom strong { color: #dcecff; font-weight: 800; }

@keyframes lxPrintHeadV2 {
  0%   { transform: translate(-92px, 57px); }
  10%  { transform: translate( 92px, 51px); }
  20%  { transform: translate(-92px, 45px); }
  30%  { transform: translate( 92px, 39px); }
  40%  { transform: translate(-92px, 33px); }
  50%  { transform: translate( 92px, 27px); }
  60%  { transform: translate(-92px, 21px); }
  70%  { transform: translate( 92px, 15px); }
  80%  { transform: translate(-92px,  9px); }
  90%  { transform: translate( 92px,  3px); }
  94%,100% { transform: translate(0, 0); }
}

@keyframes lxGantryZ {
  0%   { transform: translateY(57px); opacity:.58; }
  90%  { transform: translateY(3px); opacity:.86; }
  94%,100% { transform: translateY(0); opacity:.70; }
}

@keyframes lxBuildModel {
  0%   { clip-path: inset(calc(100% - 5px) 0 0 0); opacity:.70; }
  8%   { clip-path: inset(90% 0 0 0); }
  18%  { clip-path: inset(80% 0 0 0); }
  28%  { clip-path: inset(70% 0 0 0); }
  38%  { clip-path: inset(60% 0 0 0); }
  48%  { clip-path: inset(50% 0 0 0); }
  58%  { clip-path: inset(40% 0 0 0); }
  68%  { clip-path: inset(30% 0 0 0); }
  78%  { clip-path: inset(20% 0 0 0); }
  88%  { clip-path: inset(10% 0 0 0); }
  92%,100% { clip-path: inset(0 0 0 0); opacity:1; }
}

@keyframes lxDepositLine {
  0%   { bottom: 1px;  width:165px; opacity:.95; }
  90%  { bottom: 56px; width:110px; opacity:1; }
  94%,100% { bottom: 58px; width:105px; opacity:.15; }
}

@keyframes lxScanLayerV2 {
  0%   { transform: translate(-50%, 0); opacity:.08; }
  12%,82% { opacity:.55; }
  90%  { transform: translate(-50%, -58px); opacity:.35; }
  94%,100% { transform: translate(-50%, -58px); opacity:.06; }
}

@keyframes lxHeroGlow {
  from { transform: translateY(34px) scale(.92); opacity:.62; }
  to { transform: translateY(20px) scale(1.08); opacity:1; }
}


@keyframes lxHeroOrb {
  from { transform: translate3d(0,0,0) scale(1); }
  to { transform: translate3d(-30px,28px,0) scale(1.08); }
}

@keyframes lxFloat {
  0%,100% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
}

@media (max-width: 991px) {
  .lx-devis-hero { padding: 30px 0 25px; }
  .lx-devis-hero-grid { grid-template-columns: 1fr; gap: 18px; }
  .lx-devis-hero-main { max-width: 100%; }
  .lx-devis-visual { min-height: 205px; }
  .lx-devis-machine { transform: scale(.90); transform-origin: center; }
}

@media (max-width: 575px) {
  .lx-devis-hero { padding: 25px 0 20px; }
  .lx-devis-hero::before { background-size: 32px 32px; }
  .lx-devis-hero h1 { font-size: 34px; }
  .lx-devis-hero h1 span { display: block; font-size: .78em; }
  .lx-devis-hero-main > p { font-size: 14px; line-height: 1.52; }
  .lx-devis-usecases { font-size: 11px; gap: 7px 11px; }
  .lx-devis-actions { align-items: stretch; }
  .lx-devis-btn { flex: 1 1 100%; }
  .lx-devis-visual { min-height: 185px; margin: -2px 0 -8px; overflow: hidden; }
  .lx-devis-machine { transform: scale(.74); transform-origin: center; }
  .lx-devis-chip-a { left: 15px; }
  .lx-devis-chip-b { right: 14px; }
  .lx-devis-bottom { gap: 6px 14px; margin-top: 14px; }
}

@media (prefers-reduced-motion: reduce) {
  .lx-devis-hero *,
  .lx-devis-hero::after { animation: none !important; scroll-behavior: auto !important; }
}
