/* TRANSALUX PREMIUM 1.4 — formulaire transport, isolation complète */
#tlxt-dialog[hidden],#tlxt-launcher[hidden]{display:none!important}
#tlxt-dialog,#tlxt-dialog *{box-sizing:border-box}
#tlxt-dialog{--tx-dark:#071e32;--tx-blue:#1479b6;--tx-red:#e83f40;--tx-text:#1d3044;--tx-muted:#6d7b89;position:fixed;inset:0;z-index:2147482000;display:grid;place-items:center;padding:clamp(8px,2.5vw,28px);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--tx-text);opacity:0;visibility:hidden;transition:opacity .28s ease,visibility .28s ease}
#tlxt-dialog.tlxt-open{opacity:1;visibility:visible}
#tlxt-dialog .tlxt-backdrop{position:absolute;inset:0;background:rgba(3,15,29,.74);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
#tlxt-dialog .tlxt-panel{position:relative;display:grid;grid-template-columns:minmax(230px,.43fr) minmax(0,.72fr);width:min(1040px,100%);height:min(710px,calc(100dvh - 34px));max-height:calc(100dvh - 18px);overflow:hidden;isolation:isolate;border:1px solid rgba(255,255,255,.6);border-radius:22px;background:#fff;box-shadow:0 32px 110px rgba(3,18,35,.38);transform:translateY(14px) scale(.985);transition:transform .35s cubic-bezier(.2,.85,.25,1)}
#tlxt-dialog.tlxt-open .tlxt-panel{transform:none}
#tlxt-dialog .tlxt-aside{position:relative;min-height:100%;color:#fff;overflow:hidden;background:linear-gradient(165deg,#143f5e,#071c2c)}
#tlxt-dialog .tlxt-aside-photo{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,23,41,.09),rgba(5,21,36,.95)),url('https://transalux.com/wp-content/uploads/2025/12/Accueuil-1-scaled.jpg') center /cover no-repeat;opacity:.95}
#tlxt-dialog .tlxt-aside:after{content:"";position:absolute;inset:0;background:linear-gradient(130deg,rgba(14,117,184,.27),transparent 55%);pointer-events:none}
#tlxt-dialog .tlxt-aside-content{position:absolute;z-index:1;bottom:0;left:0;right:0;padding:clamp(24px,3vw,43px)}
#tlxt-dialog .tlxt-eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:800;letter-spacing:.19em;font-size:10px;color:#99dffc}
#tlxt-dialog .tlxt-eyebrow:before{content:"";display:block;width:20px;height:2px;background:#fa5456}
#tlxt-dialog .tlxt-aside h3{color:#fff;font-size:clamp(29px,3.2vw,43px);font-weight:850;line-height:1.08;letter-spacing:-.05em;margin:19px 0 15px;text-wrap:balance}
#tlxt-dialog .tlxt-aside p{font-size:13px;line-height:1.75;color:#dceaf5;max-width:340px;margin:0}
#tlxt-dialog .tlxt-aside-seal{display:flex;align-items:center;gap:10px;margin-top:30px;font-size:10px;font-weight:800;letter-spacing:.12em;color:#c9dae7}
#tlxt-dialog .tlxt-aside-seal span{width:33px;height:33px;display:grid;place-items:center;border-radius:50%;background:#e83f40;color:#fff;font-size:19px}
#tlxt-dialog .tlxt-close{position:absolute;top:17px;right:17px;z-index:4;display:grid;place-items:center;width:38px;height:38px;padding:0!important;border:1px solid #d9e4eb!important;border-radius:50%;background:#fff!important;color:#1d3d55!important;font:300 27px/1 sans-serif;cursor:pointer;box-shadow:0 3px 16px rgba(11,37,61,.07);transition:transform .2s,background .2s}
#tlxt-dialog .tlxt-close:hover{transform:rotate(90deg);background:#eef5f8!important}
#tlxt-dialog .tlxt-main{padding:clamp(26px,3.6vw,48px) clamp(22px,3.7vw,50px);overflow-y:auto;overscroll-behavior:contain;min-width:0;scrollbar-width:thin}
#tlxt-dialog .tlxt-kicker{display:flex;gap:10px;align-items:center;color:#2e76a4;font-size:10px;font-weight:900;letter-spacing:.11em;padding-right:37px}
#tlxt-dialog .tlxt-kicker-dot{display:inline-block;width:8px;height:8px;background:#e83f40;border-radius:50%;box-shadow:0 0 0 5px rgba(232,63,64,.1)}
#tlxt-dialog .tlxt-step-counter{margin-left:auto;font-size:10px;color:#82919f;white-space:nowrap}
#tlxt-dialog #tlxt-title{font-size:clamp(27px,3.2vw,39px);line-height:1.12;color:#09243a;letter-spacing:-.045em;font-weight:850;margin:18px 45px 7px 0;text-wrap:balance}
#tlxt-dialog .tlxt-intro{margin:0 0 23px;color:#6c7f91;font-size:13px;line-height:1.6}
#tlxt-dialog .tlxt-progress{height:4px;background:#e9eff3;overflow:hidden;border-radius:99px;margin:0 0 26px}
#tlxt-dialog .tlxt-progress>span{display:block;width:33.333%;height:100%;background:linear-gradient(90deg,#1489ce,#e83f40);border-radius:99px;transition:width .3s}
#tlxt-dialog .tlxt-step[hidden],#tlxt-dialog .tlxt-actions [hidden],#tlxt-dialog .tlxt-success[hidden],#tlxt-dialog .tlxt-alert[hidden]{display:none!important}
#tlxt-dialog .tlxt-step h3{color:#15364e;font-size:17px;font-weight:800;line-height:1.3;margin:0 0 5px}
#tlxt-dialog .tlxt-step-caption{font-size:12px;color:#718394;margin:0 0 20px}
#tlxt-dialog .tlxt-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 15px}
#tlxt-dialog .tlxt-field{display:flex;flex-direction:column;gap:7px;min-width:0;font-weight:750;color:#263d51;font-size:12px;line-height:1.35;margin:0}
#tlxt-dialog .tlxt-field span{color:#e83f40}
#tlxt-dialog .tlxt-field .tlxt-optional{color:#8594a3;font-weight:400}
#tlxt-dialog .tlxt-field.tlxt-wide,#tlxt-dialog .tlxt-consent.tlxt-wide{grid-column:1/-1}
#tlxt-dialog .tlxt-field :is(input,select,textarea){display:block;width:100%;min-width:0;margin:0;padding:12px 13px;border:1px solid #d9e3ec!important;border-radius:9px;background:#f8fafc!important;color:#183449;font:500 13px/1.35 Inter,system-ui,-apple-system,sans-serif;box-shadow:none!important;outline:0;transition:border-color .2s,box-shadow .2s;-webkit-appearance:auto;appearance:auto}
#tlxt-dialog .tlxt-field :is(input,select){height:46px;min-height:46px}
#tlxt-dialog .tlxt-field textarea{min-height:76px;resize:vertical}
#tlxt-dialog .tlxt-field :is(input,select,textarea)::placeholder{color:#92a0ac;opacity:1}
#tlxt-dialog .tlxt-field :is(input,select,textarea):focus{border-color:#1889cd!important;box-shadow:0 0 0 3px rgba(24,137,205,.12)!important;background:#fff!important}
#tlxt-dialog .tlxt-field :is(input,select,textarea):invalid:not(:placeholder-shown):focus{border-color:#e83f40!important}
#tlxt-dialog .tlxt-consent{display:flex;align-items:flex-start;gap:11px;font-size:12px;font-weight:500;color:#627487;line-height:1.6;margin-top:4px}
#tlxt-dialog .tlxt-consent input{flex:0 0 17px;width:17px;height:17px;margin:2px 0 0;accent-color:#1479b6;cursor:pointer}
#tlxt-dialog .tlxt-consent a{color:#116da3;text-decoration:underline}
#tlxt-dialog .tlxt-actions{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:23px}
#tlxt-dialog :is(.tlxt-next,.tlxt-submit,.tlxt-success button){display:inline-flex;align-items:center;justify-content:center;gap:25px;padding:13px 18px;min-height:49px;border:0;border-radius:9px;background:#e83f40;color:#fff;font-size:12px;font-weight:850;letter-spacing:.015em;cursor:pointer;box-shadow:0 12px 24px rgba(232,63,64,.18);transition:transform .2s,background .2s}
#tlxt-dialog :is(.tlxt-next,.tlxt-submit,.tlxt-success button):hover{transform:translateY(-2px);background:#d42e37}
#tlxt-dialog :is(.tlxt-next,.tlxt-submit):disabled{opacity:.65;cursor:wait;transform:none}
#tlxt-dialog .tlxt-back{margin-right:auto;padding:10px 3px;border:0;background:none!important;color:#627587!important;font-size:13px;font-weight:800;cursor:pointer}
#tlxt-dialog .tlxt-legal{font-size:10px;line-height:1.6;color:#91a0ac;text-align:right;margin:15px 0 0}
#tlxt-dialog .tlxt-hidden{position:absolute;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
#tlxt-dialog .tlxt-alert{border:1px solid #e4a5a8;background:#fff1f1;color:#9d292f;padding:11px 13px;border-radius:9px;margin-top:17px;font-size:12px;line-height:1.6}
#tlxt-dialog .tlxt-success{padding:28px 6px;text-align:center}
#tlxt-dialog .tlxt-success-icon{display:grid;place-items:center;margin:5px auto 24px;width:75px;height:75px;border-radius:50%;background:#e0f6ee;color:#097d59;font-size:34px;font-weight:700}
#tlxt-dialog .tlxt-success h3{font-size:27px;color:#102e44;margin:0 0 10px}
#tlxt-dialog .tlxt-success p{color:#687c8c;line-height:1.65;max-width:360px;margin:0 auto 23px}
#tlxt-launcher{position:fixed;z-index:2147479000;right:max(22px,env(safe-area-inset-right));bottom:max(22px,env(safe-area-inset-bottom));display:flex;align-items:center;gap:11px;min-height:54px;padding:9px 17px 9px 9px;background:#0a2941;color:white;border:1px solid rgba(255,255,255,.2);border-radius:40px;box-shadow:0 12px 38px rgba(5,29,48,.3);cursor:pointer;font:800 12px/1.25 Inter,system-ui,sans-serif;letter-spacing:.01em;transition:transform .2s,box-shadow .2s}
#tlxt-launcher:hover{transform:translateY(-3px);box-shadow:0 16px 40px rgba(5,29,48,.42)}
#tlxt-launcher .tlxt-launcher-icon{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;background:#e83f40;font-size:22px;line-height:1;color:#fff}
#tlxt-dialog :is(button,input,select,textarea,a):focus-visible,#tlxt-launcher:focus-visible{outline:3px solid #58b7f8!important;outline-offset:3px}
body.tlxt-body-lock{overflow:hidden!important}
@media(max-width:850px){#tlxt-dialog .tlxt-panel{grid-template-columns:minmax(0,1fr);width:min(620px,100%)}#tlxt-dialog .tlxt-aside{display:none}#tlxt-dialog .tlxt-main{padding:clamp(24px,5vw,40px)}}
@media(max-width:520px){#tlxt-dialog{padding:8px}#tlxt-dialog .tlxt-panel{height:auto;max-height:calc(100dvh - 16px);border-radius:15px}#tlxt-dialog .tlxt-main{padding:26px 18px 19px}#tlxt-dialog .tlxt-fields{grid-template-columns:1fr;gap:13px}#tlxt-dialog #tlxt-title{font-size:27px;margin-top:13px}#tlxt-dialog .tlxt-intro{margin-bottom:17px}#tlxt-dialog .tlxt-progress{margin-bottom:18px}#tlxt-dialog .tlxt-step-caption{margin-bottom:14px}#tlxt-dialog .tlxt-actions{margin-top:19px}#tlxt-dialog .tlxt-legal{text-align:left}#tlxt-dialog .tlxt-close{top:10px;right:10px;width:34px;height:34px}#tlxt-launcher{bottom:max(13px,env(safe-area-inset-bottom));right:max(13px,env(safe-area-inset-right));min-height:47px;font-size:11px;padding:7px 12px 7px 7px}#tlxt-launcher .tlxt-launcher-icon{width:31px;height:31px}}
@media(prefers-reduced-motion:reduce){#tlxt-dialog,#tlxt-dialog .tlxt-panel,#tlxt-dialog *,#tlxt-launcher{transition:none!important;animation:none!important}}

/* Keep campaign launcher independently accessible if both popup systems are enabled. */
body.tlxt-has-launcher #tlx-popup-launcher{bottom:max(88px,calc(env(safe-area-inset-bottom) + 88px))}
/* Required field indicators remain inline with label text, not a separate flex row. */
#tlxt-dialog .tlxt-field{display:block}
#tlxt-dialog .tlxt-field :is(input,select,textarea){margin-top:8px}

/* V1.4.2 fail-safe: the floating link opens the dialog via :target even when JS is deferred. */
#tlxt-dialog:target[hidden]{display:grid!important}
#tlxt-dialog:target{opacity:1!important;visibility:visible!important}
#tlxt-dialog:target .tlxt-panel{transform:none!important}
#tlxt-dialog .tlxt-backdrop{display:block}
#tlxt-dialog .tlxt-close{display:grid;align-items:center;justify-items:center;text-decoration:none!important}
#tlxt-launcher{text-decoration:none!important}
