/* =========================================================
   L'AS DE GLASS — FINAL 16 COMPACT
   Recherche IA + formulaire client, sans toucher au moteur métier.
   ========================================================= */

/* ---------- MODAL : une vraie interface d'application ---------- */
#ldgpModal.ldg14-search-mode,
#ldgpModal.ldg14-form-mode{
  width:min(94vw,760px)!important;
  max-width:760px!important;
  max-height:90vh!important;
  overflow:hidden!important;
  border:1px solid rgba(79,216,248,.34)!important;
  border-radius:30px!important;
  background:
    radial-gradient(circle at 92% 4%,rgba(44,199,240,.20),transparent 28%),
    radial-gradient(circle at 7% 90%,rgba(18,98,170,.20),transparent 34%),
    linear-gradient(145deg,#03192d 0%,#052944 52%,#03192e 100%)!important;
  box-shadow:0 48px 130px -55px rgba(0,4,15,.98),0 0 0 1px rgba(88,220,248,.06),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
#ldgpModal.ldg14-search-mode .ldgp-head,
#ldgpModal.ldg14-form-mode .ldgp-head{
  min-height:60px!important;padding:12px 17px!important;
  border-bottom:1px solid rgba(126,223,245,.12)!important;
  background:rgba(3,24,42,.82)!important;backdrop-filter:blur(18px);
}
#ldgpModal.ldg14-search-mode .ldgp-brand,
#ldgpModal.ldg14-form-mode .ldgp-brand{color:#fff!important;font-weight:850!important}
#ldgpModal.ldg14-search-mode .ldgp-close,
#ldgpModal.ldg14-form-mode .ldgp-close{background:rgba(255,255,255,.055)!important;border-color:rgba(133,220,241,.17)!important;color:#e8f8fd!important}
#ldgpModal.ldg14-search-mode .ldgp-body,
#ldgpModal.ldg14-form-mode .ldgp-body{padding:0!important;background:transparent!important}

/* ---------- RECHERCHE IA ---------- */
#ldgpSearch{
  position:relative;max-height:calc(90vh - 60px);overflow:auto!important;padding:18px!important;
  background:
    linear-gradient(rgba(65,180,218,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(65,180,218,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 42%,rgba(25,162,218,.17),transparent 34%)!important;
  background-size:32px 32px,32px 32px,auto!important;color:#fff!important;
  scrollbar-width:thin;scrollbar-color:#35caec rgba(255,255,255,.04)
}
#ldgpSearch::-webkit-scrollbar{width:6px}#ldgpSearch::-webkit-scrollbar-track{background:rgba(255,255,255,.03)}#ldgpSearch::-webkit-scrollbar-thumb{background:#35caec;border-radius:99px}
.ldg14-ai-banner{display:flex;align-items:center;gap:10px;padding:11px 13px;margin:0 0 12px;border:1px solid rgba(84,220,249,.18);border-radius:15px;background:linear-gradient(135deg,rgba(11,65,103,.80),rgba(6,42,73,.70));box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.ldg14-ai-banner>div{min-width:0;flex:1}.ldg14-ai-banner b{display:block;color:#fff;font:850 .76rem/1.2 Manrope,system-ui,sans-serif}.ldg14-ai-banner small{display:block;margin-top:2px;color:#8fb8ca;font:600 .59rem/1.3 Manrope,system-ui,sans-serif}
.ldg14-ai-orb{width:13px;height:13px;border-radius:50%;background:#32e0f7;box-shadow:0 0 0 5px rgba(50,224,247,.10),0 0 20px rgba(50,224,247,.55);animation:ldg14Pulse 1.8s ease-in-out infinite}
.ldg14-live{padding:5px 8px;border:1px solid rgba(61,231,190,.20);border-radius:99px;background:rgba(31,209,157,.08);color:#66edc7;font:850 .54rem/1 Manrope,system-ui,sans-serif;letter-spacing:.09em}

#ldgpSearch .ldgp-radar{position:relative!important;height:330px!important;margin:0!important;overflow:hidden!important;border:1px solid rgba(72,216,247,.23)!important;border-radius:22px!important;background:
  radial-gradient(circle at 50% 52%,rgba(30,206,244,.22),rgba(7,49,83,.12) 26%,rgba(2,24,45,.78) 62%),
  linear-gradient(150deg,#062e50,#031b33)!important;box-shadow:inset 0 0 60px rgba(9,164,223,.08),0 24px 60px -42px #000!important}
#ldgpSearch .ldgp-grid{opacity:.19!important;stroke:#54d7f3!important}
#ldgpSearch .ldgp-ring{border-color:rgba(70,219,248,.25)!important;box-shadow:0 0 24px rgba(44,207,239,.08)!important}
#ldgpSearch .ldgp-sweep{background:conic-gradient(from 5deg,transparent 0 78%,rgba(54,217,248,.22) 88%,rgba(79,226,251,.02) 100%)!important;filter:drop-shadow(0 0 15px rgba(45,213,244,.22))}
#ldgpSearch .ldgp-me{z-index:7!important;filter:drop-shadow(0 0 14px rgba(54,220,249,.55))}
#ldgpSearch .ldgp-mascot-hunt{z-index:8!important;width:100px!important;height:100px!important;object-fit:contain!important;filter:drop-shadow(0 16px 20px rgba(0,0,0,.42)) drop-shadow(0 0 15px rgba(63,215,244,.20))!important;animation:ldg14Float 2.8s ease-in-out infinite!important}
.ldg14-network-node{position:absolute;z-index:6;transform:translate(-50%,-50%);pointer-events:none}.ldg14-network-node i{display:block;width:10px;height:10px;border:2px solid #b8f6ff;border-radius:50%;background:#25bfe9;box-shadow:0 0 0 6px rgba(37,191,233,.10),0 0 20px rgba(37,191,233,.75);animation:ldg14Pulse 2.1s ease-in-out infinite}.ldg14-network-node b{position:absolute;left:14px;top:-7px;padding:4px 7px;border:1px solid rgba(108,223,247,.18);border-radius:8px;background:rgba(4,35,61,.90);color:#d9f8ff;font:800 .52rem/1 Manrope,system-ui,sans-serif;white-space:nowrap;box-shadow:0 8px 24px -15px #000}
.ldg14-network-node:after{content:"";position:absolute;left:5px;top:5px;width:var(--line,75px);height:1px;transform-origin:left center;background:linear-gradient(90deg,rgba(62,218,248,.68),rgba(62,218,248,0));opacity:.42}.ldg14-network-node.n1:after{--line:110px;transform:rotate(25deg)}.ldg14-network-node.n2:after{--line:92px;transform:rotate(155deg)}.ldg14-network-node.n3:after{--line:90px;transform:rotate(205deg)}.ldg14-network-node.n4:after{--line:86px;transform:rotate(-42deg)}.ldg14-network-node.n5:after{--line:105px;transform:rotate(-5deg)}.ldg14-network-node.n6:after{--line:115px;transform:rotate(200deg)}
.ldg14-radar-caption{position:absolute;z-index:9;left:14px;right:14px;bottom:13px;display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid rgba(110,223,247,.16);border-radius:13px;background:rgba(3,29,52,.80);backdrop-filter:blur(10px);box-shadow:0 15px 35px -28px #000}.ldg14-radar-caption>div{min-width:0}.ldg14-radar-caption b{display:block;color:#fff;font:800 .66rem/1.25 Manrope,system-ui,sans-serif}.ldg14-radar-caption small{display:block;margin-top:2px;color:#8eb6c9;font:600 .53rem/1.3 Manrope,system-ui,sans-serif}.ldg14-pulse-dot{width:10px;height:10px;border-radius:50%;background:#36e8c2;box-shadow:0 0 0 5px rgba(54,232,194,.10),0 0 16px rgba(54,232,194,.45)}
#ldgpSearch .ldgp-status{margin:12px 0 0!important;padding:12px 14px!important;border:1px solid rgba(91,220,246,.16)!important;border-radius:15px!important;background:rgba(255,255,255,.035)!important;text-align:left!important}#ldgpSearch .ldgp-status h3{margin:0!important;color:#fff!important;font:850 .88rem/1.25 Sora,Manrope,system-ui,sans-serif!important}#ldgpSearch .ldgp-status .sub{display:block;margin-top:3px;color:#93b9ca!important;font-size:.62rem!important}#ldgpSearch .ldgp-spin{float:right;margin-top:-26px}
#ldgpSearch .ldgp-steps{display:grid!important;grid-template-columns:1fr 1fr!important;gap:7px!important;margin:10px 0 0!important;padding:0!important}#ldgpSearch .ldgp-steps li{min-height:43px!important;margin:0!important;padding:9px 10px!important;border:1px solid rgba(113,222,245,.12)!important;border-radius:12px!important;background:rgba(255,255,255,.035)!important;color:#9dbecd!important;font-size:.59rem!important}#ldgpSearch .ldgp-steps li.done,#ldgpSearch .ldgp-steps li.active{color:#ecfbff!important;border-color:rgba(72,222,247,.24)!important;background:rgba(50,185,222,.08)!important}

/* ---------- RÉSULTAT + FORMULAIRE INTERACTIF V15 ---------- */
#ldgpFound{max-height:calc(90vh - 60px)!important;overflow:auto!important;padding:14px!important;background:
 radial-gradient(circle at 92% 0%,rgba(53,210,242,.14),transparent 27%),
 linear-gradient(145deg,#041a2f 0%,#052b48 55%,#03192d 100%)!important;color:#fff!important;scrollbar-width:thin;scrollbar-color:#39caeb rgba(255,255,255,.03)}
#ldgpFound::-webkit-scrollbar{width:5px}#ldgpFound::-webkit-scrollbar-thumb{background:#39caeb;border-radius:99px}
#ldgpFound>.ldgp-found-top{margin:0 0 8px!important}#ldgpFound>.ldgp-found-top h3{margin:6px 0 0!important;color:#fff!important;font:900 1.02rem/1.12 Sora,Manrope,system-ui,sans-serif!important;letter-spacing:-.035em!important}#ldgpFound>.ldgp-found-top .ldgp-found-badge{color:#79eaff!important;border-color:rgba(75,218,247,.20)!important;background:rgba(56,195,229,.07)!important}
#ldgpFound>.ldgp-card{min-height:66px!important;margin:0 0 8px!important;padding:10px 12px!important;border:1px solid rgba(91,220,247,.22)!important;border-radius:17px!important;background:linear-gradient(135deg,rgba(15,71,110,.92),rgba(5,42,74,.96))!important;box-shadow:0 18px 40px -30px rgba(0,0,0,.90),inset 0 1px 0 rgba(255,255,255,.04)!important}#ldgpFound>.ldgp-card .nm{color:#fff!important}#ldgpFound>.ldgp-card .meta{color:#b0cfdb!important}#ldgpFound>.ldgp-card .ldgp-disp{color:#dceff6!important;background:rgba(255,255,255,.055)!important;border-color:rgba(255,255,255,.08)!important}
#ldgpFound>.ldgp-gift{margin:0 0 8px!important;padding:10px 11px!important;border:1px solid rgba(238,63,90,.23)!important;border-radius:14px!important;background:linear-gradient(135deg,rgba(34,67,87,.72),rgba(8,47,76,.86))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)!important;color:#eaf8fd!important}#ldgpFound>.ldgp-gift svg{color:#f04461!important;stroke:#f04461!important}#ldgpFound>.ldgp-gift .gt{color:#eaf8fd!important}#ldgpFound>.ldgp-gift .gt b{color:#fff!important;font-weight:850!important}#ldgpFound>.ldgp-gift .gt small{color:#a7c5d1!important}
#ldgpFound>.ldgp-recap{margin:0 0 9px!important;color:#a8c9d6!important}
.ldg15-result-actions{display:grid;gap:6px;margin-top:10px}.ldg15-start{min-height:48px;border:1px solid rgba(76,224,249,.28);border-radius:13px;background:linear-gradient(135deg,#18a9d2,#087dab);color:#fff;font:900 .76rem/1 Manrope,system-ui,sans-serif;box-shadow:0 20px 36px -27px rgba(33,207,241,.85);cursor:pointer}.ldg15-result-actions small{text-align:center;color:#8fb5c4;font:650 .56rem/1.3 Manrope,system-ui,sans-serif}

/* Après validation du prestataire, seules les questions restent à l'écran. */
#ldgpFound.ldg15-waiting #ldgpForm{display:none!important}
#ldgpFound.ldg15-started>.ldgp-found-top,#ldgpFound.ldg15-started>.ldgp-card,#ldgpFound.ldg15-started>.ldgp-gift,#ldgpFound.ldg15-started>.ldgp-recap,#ldgpFound.ldg15-started>.ldg15-result-actions{display:none!important}
#ldgpModal.ldg15-started{width:min(94vw,630px)!important;max-width:630px!important}
#ldgpFound.ldg15-started{padding:9px!important;overflow:hidden!important}
#ldgpForm.ldg14-form{margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}

.ldg14-flow{overflow:hidden;border:1px solid rgba(86,220,248,.25);border-radius:22px;background:radial-gradient(circle at 95% 4%,rgba(55,216,247,.13),transparent 30%),linear-gradient(150deg,rgba(5,40,68,.99),rgba(3,25,45,.99));box-shadow:0 24px 52px -36px rgba(0,0,0,.96),inset 0 1px 0 rgba(255,255,255,.035)}
.ldg14-flow-top{padding:12px 13px 10px;border-bottom:1px solid rgba(117,221,244,.11);background:linear-gradient(180deg,rgba(8,52,84,.72),rgba(3,30,52,.24))}.ldg14-flow-kicker{display:flex;align-items:center;gap:7px;color:#7fe9ff;font:800 .54rem/1 Manrope,system-ui,sans-serif;text-transform:uppercase;letter-spacing:.10em}.ldg14-flow-kicker #ldg14Count{margin-left:auto;color:#b1cfda;letter-spacing:.03em}.ldg14-ai-dot{width:8px;height:8px;border-radius:50%;background:#34dff6;box-shadow:0 0 0 5px rgba(52,223,246,.09),0 0 14px rgba(52,223,246,.40)}
.ldg14-progress{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;margin:8px 0 8px}.ldg14-progress i{height:3px;border-radius:99px;background:rgba(126,202,222,.15);transition:background .2s ease,box-shadow .2s ease}.ldg14-progress i.on{background:linear-gradient(90deg,#23bfe7,#64e8fa);box-shadow:0 0 10px rgba(57,211,241,.22)}
.ldg15-history{display:flex;gap:6px;overflow-x:auto;max-width:100%;padding:0;margin:0;scrollbar-width:none;white-space:nowrap}.ldg15-history::-webkit-scrollbar{display:none}.ldg15-history:not(.has-items){display:none}.ldg15-history button{display:inline-flex;align-items:center;gap:5px;max-width:180px;min-height:29px;padding:0 8px;border:1px solid rgba(102,218,242,.13);border-radius:9px;background:rgba(255,255,255,.035);color:#96bdcc;cursor:pointer}.ldg15-history button span{font:750 .48rem/1 Manrope,system-ui,sans-serif;color:#62def8}.ldg15-history button b{overflow:hidden;text-overflow:ellipsis;font:750 .49rem/1 Manrope,system-ui,sans-serif;color:#dff5fb}
.ldg14-flow-top h4{margin:8px 0 0;color:#fff;font:900 1.05rem/1.08 Sora,Manrope,system-ui,sans-serif;letter-spacing:-.035em}.ldg14-flow-top p{margin:3px 0 0;color:#9fc0ce;font:600 .60rem/1.32 Manrope,system-ui,sans-serif}
.ldg14-step{padding:11px 12px 12px;animation:ldg14In .20s ease both}.ldg14-step[hidden]{display:none!important}.ldg14-step-card{padding:0;border:0;border-radius:0;background:transparent;box-shadow:none}.ldg14-fields{display:grid;grid-template-columns:1fr 1fr;gap:8px}.ldg14-fields.one{grid-template-columns:1fr}.ldg14-step .ldgp-fld label{color:#dceff6!important;font-weight:760!important;font-size:.63rem!important}.ldg14-step .req{color:#ff6d85!important}.ldg14-step .ldgp-opt,.ldg14-step .ldgp-multi{color:#9dd3e2!important;background:rgba(255,255,255,.05)!important;border-color:rgba(112,211,235,.12)!important}.ldg14-step .ldgp-fld input,.ldg14-step .ldgp-fld select,.ldg14-step .ldgp-fld textarea{min-height:44px!important;padding-top:0!important;padding-bottom:0!important;border:1px solid rgba(119,214,237,.20)!important;border-radius:11px!important;background:#f3fbfe!important;color:#0b2f49!important;caret-color:#0b86aa!important;box-shadow:0 12px 24px -22px rgba(0,0,0,.9)!important}.ldg14-step .ldgp-fld input::placeholder,.ldg14-step .ldgp-fld textarea::placeholder{color:#829dad!important;opacity:1!important}.ldg14-step .ldgp-fld input:focus,.ldg14-step .ldgp-fld select:focus{border-color:#45d6f4!important;box-shadow:0 0 0 3px rgba(69,214,244,.10)!important}.ldg14-step .ldgp-fld input.ldg14-valid{border-color:#55d9b5!important}.ldg14-step .ldgp-fldhint{display:block;margin-top:4px;color:#92b6c4!important;font-size:.54rem!important}.ldg14-step .ldgp-fldmsg{color:#ff9daf!important;font-size:.55rem!important}
.ldg14-reassure,.ldg14-privacy{margin-top:7px;color:#9dbfcc;font:650 .54rem/1.3 Manrope,system-ui,sans-serif}.ldg14-reassure{padding:7px 9px;border-radius:9px;background:rgba(58,224,183,.045);color:#b9ddd4}.ldg14-actions{display:flex;gap:7px;margin-top:9px}.ldg14-actions.end{justify-content:flex-start}.ldg14-next,.ldg14-back,.ldg14-skip{min-height:41px;padding:0 13px;border-radius:10px;font:850 .64rem/1 Manrope,system-ui,sans-serif;cursor:pointer;transition:transform .15s ease,opacity .15s ease}.ldg14-next{flex:1;border:1px solid rgba(74,221,248,.23);background:linear-gradient(135deg,#18a7d0,#087dab);color:#fff;box-shadow:0 15px 28px -23px rgba(42,210,243,.72)}.ldg14-next:disabled{opacity:.32;cursor:not-allowed;box-shadow:none}.ldg14-back,.ldg14-skip{border:1px solid rgba(130,215,237,.16);background:rgba(255,255,255,.05);color:#d7ebf2}.ldg14-next:not(:disabled):hover,.ldg14-back:hover,.ldg14-skip:hover{transform:translateY(-1px)}

/* Assurance = une question autonome et compacte. */
#ldg14AssuranceHost .ldg-insurance-fld{margin:0!important;padding:9px!important;border:1px solid rgba(125,219,241,.12)!important;border-radius:12px!important;background:rgba(255,255,255,.03)!important}#ldg14AssuranceHost .ldg-insurance-fld>label:first-child{color:#dceff6!important}#ldg14AssuranceHost .ldg-insurance-fld input[type="text"]{min-height:44px!important;background:#f3fbfe!important;color:#0b2f49!important}.ldg-insurance-note{margin-top:4px!important;color:#91b4c2!important;font-size:.53rem!important}.ldg-noins{margin-top:7px!important;padding:8px 9px!important;min-height:52px!important;border-color:rgba(116,216,240,.16)!important;border-radius:10px!important;background:rgba(255,255,255,.035)!important}.ldg-noins-t{color:#e9f7fb!important;font-size:.64rem!important}.ldg-noins-s{color:#99bdca!important;font-size:.53rem!important;line-height:1.25!important}

/* Vitrage : 2 x 2 même sur mobile, un seul choix suffit. */
.ldg14-step .ldgp-veh-vitrage{margin-top:0!important}.ldg14-step .ldgp-vitrage{grid-template-columns:1fr 1fr!important;gap:7px!important;margin-top:5px!important}.ldg14-step .ldgp-vit{min-height:66px!important;padding:9px!important;border:1px solid rgba(125,219,241,.17)!important;border-radius:12px!important;background:#f1fafc!important;color:#0d334d!important;box-shadow:0 10px 24px -23px rgba(0,0,0,.9)!important}.ldg14-step .ldgp-vit:has(input:checked),.ldg14-step .ldgp-vit.on{border-color:#38cdea!important;background:#e8faff!important;box-shadow:0 0 0 2px rgba(56,205,234,.10)!important}.ldg14-step .ldgp-vit-t{color:#0d334d!important;font-weight:850!important}.ldg14-step .ldgp-vit-s{color:#6e8b9b!important}.ldg14-step .ldgp-vit-hint{display:block;margin-top:6px;color:#92b5c3!important;font-size:.53rem!important}.ldg14-step .ldgp-vit-ico{background:#e5f7fb!important;color:#0b86aa!important}.ldg14-step .ldgp-vit-ck{transform:scale(.88)}

/* Final : résumé dense, véhicule optionnel fermé, consentement lisible. */
.ldg14-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:8px}.ldg14-summary>span{padding:7px 8px;border:1px solid rgba(121,218,240,.13);border-radius:9px;background:rgba(255,255,255,.035)}.ldg14-summary small{display:block;color:#8fb2c1;font:650 .48rem/1.2 Manrope,system-ui,sans-serif}.ldg14-summary b{display:block;margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#fff;font:800 .59rem/1.2 Manrope,system-ui,sans-serif}.ldg15-final-card .ldgp-more{margin:0!important;border:1px solid rgba(129,219,240,.14)!important;border-radius:10px!important;background:linear-gradient(145deg,rgba(13,58,88,.68),rgba(7,39,66,.75))!important;color:#fff!important}.ldg15-final-card .ldgp-more summary{padding:8px 9px!important;color:#dff2f8!important;font-size:.59rem!important;font-weight:760!important}.ldg15-final-card .ldgp-more summary span{color:#a8c9d5!important}.ldg15-final-card .ldgp-veh{padding:0 9px 9px!important}.ldg15-final-card .ldgp-veh-title,.ldg15-final-card .ldgp-veh-q,.ldg15-final-card .ldgp-veh .ldgp-fld label{color:#e8f8fd!important}.ldg15-final-card .ldgp-veh-sub{color:#9fc2d0!important}.ldg15-final-card .ldgp-consent{margin-top:7px!important;padding:8px 9px!important;border:1px solid rgba(132,219,240,.14)!important;border-radius:10px!important;background:linear-gradient(145deg,rgba(13,58,88,.68),rgba(7,39,66,.75))!important;color:#d7eaf1!important;font-size:.54rem!important;line-height:1.28!important}.ldg15-final-card .ldgp-consent span{color:#d7eaf1!important}.ldg15-final-card .ldgp-consent a{color:#64e1fb!important}.ldg15-final-card .ldgp-consent .req{color:#ff758c!important}.ldg15-final-card #ldgpSubmitBtn{width:100%;min-height:46px;margin-top:8px!important;border-radius:11px!important;background:linear-gradient(135deg,#f23858,#d82146)!important;box-shadow:0 16px 29px -23px rgba(241,47,84,.76)!important;color:#fff!important;font-weight:900!important}.ldg15-final-card .ldgp-note{display:none!important}.ldg14-privacy{text-align:center;color:#a7c5d1!important}.ldg15-final-card .ldg14-actions.end{margin-top:6px}.ldg15-final-card .ldg14-actions.end .ldg14-back{min-height:36px}

/* Anciens éléments redondants du formulaire : jamais visibles dans la version interactive. */
#ldgpModal.ldg14-form-mode #ldgpFound>.ldgp-tech-path,#ldgpModal.ldg14-form-mode #ldgpFound>.ldgp-tech-formhead{display:none!important}

@media(max-width:620px){
  #ldgpModal.ldg14-search-mode,#ldgpModal.ldg14-form-mode{width:calc(100vw - 8px)!important;max-height:calc(100dvh - 8px)!important;border-radius:20px!important}
  #ldgpModal.ldg15-started{width:calc(100vw - 8px)!important;max-width:none!important}
  #ldgpModal.ldg14-search-mode .ldgp-head,#ldgpModal.ldg14-form-mode .ldgp-head{min-height:54px!important;padding:9px 12px!important}
  #ldgpSearch,#ldgpFound{max-height:calc(100dvh - 62px)!important;padding:9px!important}
  #ldgpSearch .ldgp-radar{height:238px!important;border-radius:17px!important}
  #ldgpSearch .ldgp-mascot-hunt{width:76px!important;height:76px!important}
  #ldgpSearch .ldgp-steps{grid-template-columns:1fr 1fr!important;gap:5px!important}#ldgpSearch .ldgp-steps li{min-height:38px!important;padding:7px 8px!important;font-size:.53rem!important}
  .ldg14-network-node b{display:none}.ldg14-ai-banner small{display:none}
  #ldgpFound>.ldgp-found-top h3{font-size:.94rem!important}
  #ldgpFound>.ldgp-card{min-height:62px!important;padding:8px 9px!important}
  #ldgpFound>.ldgp-gift{padding:8px 9px!important}
  #ldgpFound.ldg15-started{padding:6px!important}
  .ldg14-flow{border-radius:18px}
  .ldg14-flow-top{padding:10px 10px 8px}.ldg14-flow-top h4{font-size:.94rem}.ldg14-flow-top p{font-size:.55rem}.ldg14-step{padding:9px 10px 10px}
  .ldg14-fields.two{grid-template-columns:1fr 1fr!important;gap:7px}.ldg14-fields.one{grid-template-columns:1fr!important}
  .ldg14-step .ldgp-fld input,.ldg14-step .ldgp-fld select,.ldg14-step .ldgp-fld textarea{min-height:42px!important;font-size:.78rem!important}
  .ldg14-reassure{font-size:.50rem;padding:6px 8px}
  .ldg14-actions{margin-top:8px}.ldg14-next,.ldg14-back,.ldg14-skip{min-height:39px;padding:0 11px;font-size:.60rem}
  .ldg-insurance-note{display:none!important}.ldg-noins{min-height:48px!important;padding:7px 8px!important}
  .ldg14-step .ldgp-vitrage{grid-template-columns:1fr 1fr!important;gap:6px!important}.ldg14-step .ldgp-vit{min-height:64px!important;padding:8px 7px!important}.ldg14-step .ldgp-vit-s{display:none!important}.ldg14-step .ldgp-vit-t{font-size:.69rem!important}.ldg14-step .ldgp-vit-ico{transform:scale(.90)}.ldg14-step .ldgp-vit-hint{font-size:.50rem!important}
  .ldg14-summary{grid-template-columns:1fr 1fr!important;gap:5px}.ldg14-summary>span{padding:6px 7px}.ldg14-summary b{font-size:.55rem}.ldg14-summary small{font-size:.45rem}
  .ldg15-final-card .ldgp-more summary{padding:7px 8px!important}.ldg15-final-card .ldgp-consent{padding:7px 8px!important;font-size:.50rem!important}.ldg15-final-card #ldgpSubmitBtn{min-height:43px!important}
  .ldg15-history button{max-width:145px;min-height:26px;padding:0 7px}.ldg15-history button span,.ldg15-history button b{font-size:.45rem}
}
@media(max-width:370px){.ldg14-flow-top p{display:none}.ldg14-step .ldgp-fldhint{display:none}.ldg14-step .ldgp-vit{min-height:58px!important}.ldg14-step .ldgp-vit-ico{display:none!important}.ldg15-result-actions small{display:none}}
@media(max-height:690px){.ldg14-flow-top p{display:none}.ldg14-step{padding-top:8px}.ldg14-reassure{display:none}.ldg14-step .ldgp-fldhint{display:none}.ldg14-privacy{display:none}.ldg15-final-card .ldgp-more summary{padding:6px 8px!important}}
@media(prefers-reduced-motion:reduce){.ldg14-ai-orb,#ldgpSearch .ldgp-mascot-hunt,.ldg14-network-node i{animation:none!important}.ldg14-step{animation:none!important}}
@keyframes ldg14Pulse{0%,100%{opacity:.78;transform:scale(.92)}50%{opacity:1;transform:scale(1.12)}}
@keyframes ldg14Float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-7px) rotate(1deg)}}
@keyframes ldg14In{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:none}}


/* =========================================================
   FINAL 16 — corrections ciblées
   1) le résultat prestataire/cadeau disparaît réellement pendant le questionnaire
   2) contraste du véhicule corrigé
   3) une étape compacte par écran sur mobile
   ========================================================= */
#ldgpModal.ldg15-started #ldgpFound>.ldgp-found-top,
#ldgpModal.ldg15-started #ldgpFound>.ldgp-card,
#ldgpModal.ldg15-started #ldgpFound>.ldgp-gift,
#ldgpModal.ldg15-started #ldgpFound>.ldgp-recap,
#ldgpModal.ldg15-started #ldgpFound>.ldg15-result-actions{
  display:none!important;
}
#ldgpModal.ldg15-started #ldgpFound{scroll-behavior:auto!important}

/* Cadeau : palette cohérente bleu ice + rouge de marque, sans jaune parasite. */
#ldgpFound>.ldgp-gift .gt,
#ldgpFound>.ldgp-gift .gt b{color:#e9f9fd!important}
#ldgpFound>.ldgp-gift .gt small{color:#9fc4d1!important}

/* Véhicule facultatif : panneau sombre + champs blancs lisibles, desktop et mobile. */
.ldg15-final-card .ldgp-more[open]{background:linear-gradient(145deg,#0a3657,#062844)!important}
.ldg15-final-card .ldgp-more .ldgp-veh,
.ldg15-final-card .ldgp-more .ldgp-veh-row,
.ldg15-final-card .ldgp-more .ldgp-veh-manual,
.ldg15-final-card .ldgp-more .ldgp-veh-confirm,
.ldg15-final-card .ldgp-more .ldgp-fg,
.ldg15-final-card .ldgp-more .ldgp-fld{
  background:transparent!important;color:#eaf9fd!important;
}
.ldg15-final-card .ldgp-more .ldgp-veh-title,
.ldg15-final-card .ldgp-more .ldgp-veh-q,
.ldg15-final-card .ldgp-more .ldgp-fld>label{color:#eefaff!important;opacity:1!important}
.ldg15-final-card .ldgp-more .ldgp-veh-sub{color:#a8cad6!important;opacity:1!important}
.ldg15-final-card .ldgp-more input[type="text"],
.ldg15-final-card .ldgp-more input[type="tel"],
.ldg15-final-card .ldgp-more input[type="number"],
.ldg15-final-card .ldgp-more select{
  min-height:42px!important;border:1px solid rgba(103,214,239,.25)!important;
  border-radius:10px!important;background:#f2fbfe!important;color:#0a3049!important;
  -webkit-text-fill-color:#0a3049!important;opacity:1!important;
}
.ldg15-final-card .ldgp-more input::placeholder{color:#7f9dab!important;opacity:1!important}
.ldg15-final-card .ldgp-more .ldgp-opt{color:#6d91a2!important;background:#e9f6fa!important;border-color:#d1eaf1!important}

/* Le choix "sans assurance" est une vraie réponse sélectionnable, bien lisible. */
#ldg14AssuranceHost .ldg-noins.on{border-color:#42d8f5!important;background:rgba(42,188,223,.12)!important;box-shadow:0 0 0 2px rgba(66,216,245,.08)!important}
#ldg14AssuranceHost .ldg-noins.on .ldg-noins-t{color:#fff!important}
#ldg14AssuranceHost .ldg-noins.on .ldg-noins-s{color:#b8d9e4!important}

@media(max-width:620px){
  /* Dès que le questionnaire commence, il occupe seul la zone utile. */
  #ldgpModal.ldg15-started{height:calc(100dvh - 8px)!important;max-height:calc(100dvh - 8px)!important}
  #ldgpModal.ldg15-started .ldgp-body{height:calc(100% - 54px)!important;min-height:0!important}
  #ldgpModal.ldg15-started #ldgpFound{
    height:100%!important;max-height:100%!important;overflow:hidden!important;padding:5px!important;
  }
  #ldgpModal.ldg15-started #ldgpForm{height:100%!important;min-height:0!important}
  #ldgpModal.ldg15-started .ldg14-flow{
    height:100%!important;max-height:100%!important;display:flex!important;flex-direction:column!important;
    border-radius:16px!important;
  }
  #ldgpModal.ldg15-started .ldg14-flow-top{flex:0 0 auto;padding:7px 8px 6px!important}
  #ldgpModal.ldg15-started .ldg14-progress{margin:5px 0 5px!important}
  #ldgpModal.ldg15-started .ldg14-flow-top h4{margin-top:5px!important;font-size:.88rem!important;line-height:1.05!important}
  #ldgpModal.ldg15-started .ldg14-flow-top p{margin-top:2px!important;font-size:.50rem!important;line-height:1.2!important}
  #ldgpModal.ldg15-started .ldg15-history{gap:4px!important;max-height:25px!important}
  #ldgpModal.ldg15-started .ldg15-history button{max-width:112px!important;min-height:23px!important;padding:0 6px!important;border-radius:7px!important}
  #ldgpModal.ldg15-started .ldg15-history button span{font-size:.40rem!important}
  #ldgpModal.ldg15-started .ldg15-history button b{font-size:.41rem!important}
  #ldgpModal.ldg15-started .ldg14-step{
    flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;padding:7px 8px 8px!important;
    overscroll-behavior:contain;scrollbar-width:none;
  }
  #ldgpModal.ldg15-started .ldg14-step::-webkit-scrollbar{display:none}
  #ldgpModal.ldg15-started .ldg14-fields.two{grid-template-columns:1fr 1fr!important;gap:6px!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-fld input,
  #ldgpModal.ldg15-started .ldg14-step .ldgp-fld select,
  #ldgpModal.ldg15-started .ldg14-step .ldgp-fld textarea{min-height:39px!important;font-size:.69rem!important;border-radius:9px!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-fld label{font-size:.55rem!important}
  #ldgpModal.ldg15-started .ldg14-actions{margin-top:6px!important;gap:5px!important}
  #ldgpModal.ldg15-started .ldg14-next,
  #ldgpModal.ldg15-started .ldg14-back,
  #ldgpModal.ldg15-started .ldg14-skip{min-height:36px!important;padding:0 9px!important;font-size:.55rem!important;border-radius:9px!important}
  #ldgpModal.ldg15-started .ldg14-reassure{margin-top:5px!important;padding:5px 7px!important;font-size:.44rem!important}
  #ldgpModal.ldg15-started #ldg14AssuranceHost .ldg-insurance-fld{padding:7px!important}
  #ldgpModal.ldg15-started .ldg-noins{min-height:43px!important;margin-top:5px!important;padding:6px 7px!important}
  #ldgpModal.ldg15-started .ldg-noins-t{font-size:.57rem!important}
  #ldgpModal.ldg15-started .ldg-noins-s{font-size:.46rem!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-vitrage{gap:5px!important;margin-top:4px!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-vit{min-height:56px!important;padding:6px!important;border-radius:10px!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-vit-t{font-size:.59rem!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-vit-ico{transform:scale(.78)!important}
  #ldgpModal.ldg15-started .ldg14-step .ldgp-vit-hint{margin-top:4px!important;font-size:.43rem!important}
  #ldgpModal.ldg15-started .ldg14-summary{gap:4px!important;margin-bottom:5px!important}
  #ldgpModal.ldg15-started .ldg14-summary>span{padding:5px 6px!important}
  #ldgpModal.ldg15-started .ldg15-final-card .ldgp-more summary{padding:6px 7px!important}
  #ldgpModal.ldg15-started .ldg15-final-card .ldgp-consent{margin-top:5px!important;padding:6px 7px!important;font-size:.44rem!important}
  #ldgpModal.ldg15-started .ldg15-final-card #ldgpSubmitBtn{min-height:39px!important;margin-top:5px!important}
  #ldgpModal.ldg15-started .ldg14-privacy{margin-top:4px!important;font-size:.42rem!important}
  #ldgpModal.ldg15-started .ldg15-final-card .ldg14-actions.end{margin-top:4px!important}
}

/* =========================================================
   FINAL 17 — responsive + contraste définitif
   Corrige les anciennes règles à forte spécificité du thème qui
   imposaient un grand cadre blanc et des panneaux clairs.
   Aucun changement du moteur métier.
   ========================================================= */

/* Le formulaire interactif est l'interface elle-même : aucun grand cadre blanc externe. */
html body #ldgpModal.ldg14-form-mode form#ldgpForm.ldg14-form,
html body #ldgpModal.ldg15-started form#ldgpForm.ldg14-form{
  position:relative!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* Dernière étape : accordéon véhicule réellement sombre et lisible. */
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more{
  margin:0!important;
  border:1px solid rgba(111,220,244,.20)!important;
  border-radius:11px!important;
  background:linear-gradient(145deg,#0b3b5e 0%,#062944 100%)!important;
  color:#eefaff!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.045)!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more>summary{
  background:transparent!important;
  color:#eefaff!important;
  border-color:rgba(111,220,244,.14)!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more>summary span,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more>summary::after{
  color:#a9d2df!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-row,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-manual,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-confirm,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-fg,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-fld{
  background:transparent!important;
  color:#eefaff!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-title,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-q,
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-fld>label{
  color:#f4fcff!important;
  -webkit-text-fill-color:#f4fcff!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-veh-sub{
  color:#a9cbd7!important;
  -webkit-text-fill-color:#a9cbd7!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more input[type="text"],
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more input[type="tel"],
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more input[type="number"],
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more select{
  border-color:rgba(101,210,236,.30)!important;
  background:#f4fbfe!important;
  color:#092f48!important;
  -webkit-text-fill-color:#092f48!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more input::placeholder{
  color:#7895a5!important;
  -webkit-text-fill-color:#7895a5!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm details.ldgp-more .ldgp-opt{
  color:#5f8394!important;
  -webkit-text-fill-color:#5f8394!important;
  background:#e8f5f9!important;
  border-color:#cfe7ee!important;
}

/* Consentement : plus jamais texte clair sur fond clair. */
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm label.ldgp-consent{
  margin-top:7px!important;
  padding:8px 9px!important;
  border:1px solid rgba(111,220,244,.18)!important;
  border-radius:10px!important;
  background:linear-gradient(145deg,#0b3a5c,#062842)!important;
  color:#dceff5!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.04)!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm label.ldgp-consent span{
  color:#dceff5!important;
  -webkit-text-fill-color:#dceff5!important;
  opacity:1!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm label.ldgp-consent a{
  color:#62e3fb!important;
  -webkit-text-fill-color:#62e3fb!important;
}
html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm label.ldgp-consent .req{
  color:#ff7189!important;
  -webkit-text-fill-color:#ff7189!important;
}

/* MOBILE : le modal épouse le contenu au lieu de créer un écran vide de 100vh. */
@media(max-width:620px){
  html body #ldgpModal.ldg15-started{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 12px)!important;
  }
  html body #ldgpModal.ldg15-started .ldgp-body{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 58px)!important;
  }
  html body #ldgpModal.ldg15-started #ldgpFound{
    height:auto!important;
    min-height:0!important;
    max-height:calc(100dvh - 58px)!important;
    overflow-y:auto!important;
    padding:6px!important;
  }
  html body #ldgpModal.ldg15-started form#ldgpForm.ldg14-form{
    height:auto!important;
    min-height:0!important;
  }
  html body #ldgpModal.ldg15-started .ldg14-flow{
    display:block!important;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    border-radius:15px!important;
  }
  html body #ldgpModal.ldg15-started .ldg14-step{
    display:block;
    height:auto!important;
    min-height:0!important;
    max-height:none!important;
    overflow:visible!important;
  }
  html body #ldgpModal.ldg15-started .ldg14-step[hidden]{display:none!important}
  html body #ldgpModal.ldg15-started .ldg14-flow-top{padding:7px 8px 6px!important}
  html body #ldgpModal.ldg15-started .ldg14-step{padding:8px!important}
  html body #ldgpModal.ldg15-started .ldg14-actions{margin-top:6px!important}
  html body #ldgpModal.ldg15-started .ldg14-reassure{margin-top:5px!important}
  html body #ldgpModal.ldg15-started .ldg15-final-card #ldgpSubmitBtn{margin-top:6px!important}
}

/* =========================================================
   FINAL 18 — VIEWPORT / CENTRAGE / RECHERCHE IA DESKTOP
   Correctif visuel uniquement. Aucune logique métier touchée.
   ========================================================= */

/* La page reste calée à la largeur réelle de l'écran. */
html,body{
  width:100%;
  max-width:100%;
  overflow-x:hidden;
}

/* Recherche IA desktop : la carte radar et ses éléments utilisent
   toute la largeur utile du modal au lieu de rester limités à 340px. */
@media (min-width:621px){
  html body #ldgpModal.ldg14-search-mode #ldgpSearch{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldg14-ai-banner,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-radar,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-status,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-steps{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-radar{
    height:330px!important;
    aspect-ratio:auto!important;
    margin:0!important;
  }
}

/* Mobile : le modal est centré dans la zone réellement visible,
   avec prise en compte des zones sûres iPhone. */
@media (max-width:620px){
  html body .ldgp-ov{
    align-items:center!important;
    justify-content:center!important;
    min-height:100dvh!important;
    padding:
      max(8px,env(safe-area-inset-top))
      4px
      max(8px,env(safe-area-inset-bottom))!important;
  }
  html body #ldgpModal.ldg14-search-mode,
  html body #ldgpModal.ldg14-form-mode,
  html body #ldgpModal.ldg15-started{
    margin:auto!important;
    max-height:calc(100dvh - 16px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
    transform:none;
  }

  /* Empêche Safari iPhone de zoomer automatiquement au focus des champs. */
  html body #ldgpModal input,
  html body #ldgpModal select,
  html body #ldgpModal textarea{
    font-size:16px!important;
  }

  /* Le contenu reste contenu dans l'écran et ne crée jamais de largeur parasite. */
  html body #ldgpModal,
  html body #ldgpModal .ldgp-body,
  html body #ldgpModal #ldgpSearch,
  html body #ldgpModal #ldgpFound,
  html body #ldgpModal form,
  html body #ldgpModal .ldg14-flow,
  html body #ldgpModal .ldg14-step{
    max-width:100%!important;
    min-width:0!important;
  }
}

/* =========================================================
   L'AS DE GLASS — FINAL 18.3 PRO
   Couche responsive autoritaire : positionnement + iOS + desktop.
   Cette section est volontairement la DERNIERE couche CSS du site.
   Aucune logique métier n'est modifiée.
   ========================================================= */

html,body{
  width:100%!important;
  max-width:100%!important;
  overflow-x:hidden!important;
  -webkit-text-size-adjust:100%!important;
  text-size-adjust:100%!important;
}

/* Le fond modal utilise toujours le vrai centre de l'écran. */
html body .ldgp-ov.on{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:max(10px,env(safe-area-inset-top)) max(8px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-left))!important;
  overflow:hidden!important;
}

/* Recherche IA : pleine largeur utile, aucune vieille limite à 340px sur desktop. */
@media (min-width:621px){
  html body #ldgpModal.ldg14-search-mode{
    width:min(92vw,760px)!important;
    max-width:760px!important;
    height:auto!important;
    max-height:calc(100dvh - 48px)!important;
    margin:auto!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch{
    display:block!important;
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldg14-ai-banner,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-radar,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-status,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-steps{
    width:100%!important;
    max-width:none!important;
    min-width:0!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch .ldgp-radar{
    height:330px!important;
    aspect-ratio:auto!important;
    margin:0!important;
  }
}

/* Formulaire : même logique professionnelle sur ordinateur et mobile.
   Le modal reste centré ; il grandit avec son contenu et ne fabrique plus de vide. */
html body #ldgpModal.ldg14-form-mode,
html body #ldgpModal.ldg15-started{
  width:min(94vw,640px)!important;
  max-width:640px!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 32px)!important;
  margin:auto!important;
  overflow:hidden!important;
  transform:none!important;
}
html body #ldgpModal.ldg15-started .ldgp-body,
html body #ldgpModal.ldg15-started #ldgpFound{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:calc(100dvh - 92px)!important;
}
html body #ldgpModal.ldg15-started #ldgpFound{
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  align-items:stretch!important;
  overflow-y:auto!important;
  overscroll-behavior:contain!important;
  padding:8px!important;
}
html body #ldgpModal.ldg15-started form#ldgpForm.ldg14-form{
  width:100%!important;
  max-width:610px!important;
  height:auto!important;
  min-height:0!important;
  margin:auto!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
html body #ldgpModal.ldg15-started .ldg14-flow{
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
  margin:0 auto!important;
}
html body #ldgpModal.ldg15-started .ldg14-step{
  height:auto!important;
  min-height:0!important;
  max-height:none!important;
}
html body #ldgpModal.ldg15-started .ldg14-step[hidden]{display:none!important}

/* iPhone/iPad : Safari ne doit jamais considérer les champs comme "petits".
   Sélecteurs plus forts que toutes les anciennes couches du thème. */
@media (max-width:760px){
  html body .ldgp-ov.on{
    min-height:100dvh!important;
    height:100dvh!important;
  }
  html body #ldgpModal.ldg14-search-mode,
  html body #ldgpModal.ldg14-form-mode,
  html body #ldgpModal.ldg15-started{
    width:calc(100vw - 12px)!important;
    max-width:620px!important;
    max-height:calc(100dvh - 20px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }
  html body #ldgpModal.ldg15-started .ldgp-body,
  html body #ldgpModal.ldg15-started #ldgpFound{
    max-height:calc(100dvh - 78px - env(safe-area-inset-top) - env(safe-area-inset-bottom))!important;
  }
  html body #ldgpModal.ldg15-started #ldgpFound{
    padding:6px!important;
  }
  html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm select,
  html body #ldgpModal.ldg15-started #ldgpFound #ldgpForm textarea,
  html body #ldgpModal.ldg14-form-mode #ldgpFound #ldgpForm input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
  html body #ldgpModal.ldg14-form-mode #ldgpFound #ldgpForm select,
  html body #ldgpModal.ldg14-form-mode #ldgpFound #ldgpForm textarea{
    font-size:16px!important;
    line-height:1.25!important;
    -webkit-text-size-adjust:100%!important;
    text-size-adjust:100%!important;
    transform:none!important;
  }
}

/* Desktop : proportions constantes, y compris sur petits ordinateurs portables. */
@media (min-width:761px){
  html body #ldgpModal.ldg15-started{
    width:min(88vw,640px)!important;
    max-height:min(820px,calc(100dvh - 48px))!important;
  }
  html body #ldgpModal.ldg15-started #ldgpFound{
    max-height:min(748px,calc(100dvh - 108px))!important;
    padding:12px!important;
  }
}


/* =========================================================
   L'AS DE GLASS — FINAL 18.4
   Correctif de cadrage de la recherche IA sur mobile.
   La vue active occupe 100 % de la largeur utile du modal.
   ========================================================= */
@media (max-width:760px){
  html body #ldgpModal.ldg14-search-mode{
    width:calc(100vw - 12px)!important;
    max-width:calc(100vw - 12px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    overflow:hidden!important;
  }
  html body #ldgpModal.ldg14-search-mode .ldgp-body{
    display:block!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:0!important;
    overflow:hidden!important;
    background:transparent!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch.ldgp-view.on{
    display:block!important;
    position:relative!important;
    inset:auto!important;
    float:none!important;
    clear:both!important;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin:0!important;
    padding:9px!important;
    transform:none!important;
    animation:none!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldg14-ai-banner,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-radar,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-status,
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-steps{
    display:flex;
    width:100%!important;
    max-width:100%!important;
    min-width:0!important;
    margin-left:0!important;
    margin-right:0!important;
    left:auto!important;
    right:auto!important;
    transform:none!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-radar{
    display:block!important;
    height:238px!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-status{
    display:block!important;
  }
  html body #ldgpModal.ldg14-search-mode #ldgpSearch > .ldgp-steps{
    display:grid!important;
    grid-template-columns:1fr 1fr!important;
  }
}
