/* Ludorum — LudoMatch Groupe v1.0.2 */
.lmg-app {
  --lmg-navy:#061b3b;
  --lmg-blue:#0754c9;
  --lmg-blue-2:#1765d8;
  --lmg-yellow:#ffc21e;
  --lmg-red:#df061b;
  --lmg-ink:#102a43;
  --lmg-muted:#64758b;
  --lmg-line:#e1e8f0;
  width:100%;
  padding:24px 16px 72px;
  color:var(--lmg-ink);
  font-family:inherit;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.lmg-app,.lmg-app *,.lmg-app *::before,.lmg-app *::after{box-sizing:border-box}
.lmg-app [hidden]{display:none!important}
.lmg-shell{width:min(1120px,100%);margin:0 auto}

.lmg-hero{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 190px;
  align-items:center;
  width:min(980px,100%);
  min-height:225px;
  margin:0 auto 22px;
  padding:34px 42px;
  overflow:hidden;
  border-radius:25px;
  color:#fff;
  background:
    radial-gradient(circle at 83% 20%,rgba(31,105,218,.42),transparent 28%),
    linear-gradient(120deg,#061b3b 0%,#0b3678 55%,#0754c9 100%);
  box-shadow:0 22px 45px rgba(6,27,59,.16);
}
.lmg-hero::before{content:"";position:absolute;inset:0 0 auto;height:5px;background:linear-gradient(90deg,var(--lmg-blue) 0 33.333%,var(--lmg-yellow) 33.333% 66.666%,var(--lmg-red) 66.666%)}
.lmg-hero::after{content:"";position:absolute;width:310px;height:310px;right:-105px;bottom:-170px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 55px rgba(255,255,255,.025)}
.lmg-hero__copy{position:relative;z-index:2;max-width:690px}
.lmg-kicker{display:inline-flex;align-items:center;gap:7px;margin-bottom:10px;color:#82b7ff;font-size:11px;font-weight:900;letter-spacing:.1em}
.lmg-kicker span{color:var(--lmg-yellow)}
.lmg-hero h1{margin:0;max-width:680px;color:#fff;font-size:clamp(29px,3.2vw,43px);line-height:1.02;letter-spacing:-.035em;font-weight:950}
.lmg-hero p{max-width:670px;margin:12px 0 0;color:#d7e6fb;font-size:14px;line-height:1.55}
.lmg-promises{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}
.lmg-promises span{padding:6px 10px;border:1px solid rgba(255,255,255,.17);border-radius:999px;background:rgba(255,255,255,.07);color:#fff;font-size:10.5px;font-weight:850}
.lmg-hero__mark{position:relative;z-index:2;display:grid;place-items:center;width:104px;height:104px;margin:auto;border-radius:25px;background:var(--lmg-yellow);color:var(--lmg-navy);transform:rotate(-7deg);box-shadow:0 13px 0 rgba(0,0,0,.15)}
.lmg-hero__mark b{font-size:54px;line-height:1;font-weight:950}
.lmg-hero__mark i{position:absolute;width:10px;height:10px;border-radius:50%}
.lmg-hero__mark i:nth-of-type(1){right:-29px;top:-11px;background:#4195ff}.lmg-hero__mark i:nth-of-type(2){right:-42px;bottom:9px;background:var(--lmg-yellow)}.lmg-hero__mark i:nth-of-type(3){left:-42px;bottom:-1px;background:var(--lmg-red)}

.lmg-alert{width:min(980px,100%);margin:0 auto 18px;padding:13px 16px;border-radius:13px;font-size:13px;font-weight:800}
.lmg-alert.is-error{border:1px solid #ffc9cf;background:#fff1f3;color:#a20d1c}.lmg-alert.is-success{border:1px solid #bee8cd;background:#effaf3;color:#13723b}
.lmg-entry{width:min(980px,100%);margin:0 auto}
.lmg-entry__head{text-align:center;margin:30px 0 20px}
.lmg-entry__head>span,.lmg-question__head>span,.lmg-results__head>span{color:var(--lmg-blue);font-size:10.5px;font-weight:950;letter-spacing:.11em}
.lmg-entry__head h2{margin:7px 0 0;color:var(--lmg-navy);font-size:clamp(23px,3vw,31px);line-height:1.1;font-weight:950;letter-spacing:-.025em}
.lmg-entry__grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.lmg-choice{appearance:none;display:grid;grid-template-columns:52px 1fr 25px;align-items:center;gap:15px;min-height:116px;padding:22px;border:1px solid var(--lmg-line);border-radius:20px;background:#fff;color:var(--lmg-ink);text-align:left;font:inherit;cursor:pointer;box-shadow:0 12px 30px rgba(6,27,59,.06);transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}
.lmg-choice:hover,.lmg-choice:focus-visible{outline:none;transform:translateY(-3px);border-color:rgba(7,84,201,.42);box-shadow:0 17px 34px rgba(7,84,201,.1)}
.lmg-choice__icon{display:grid;place-items:center;width:52px;height:52px;border-radius:15px;background:#eaf3ff;color:var(--lmg-blue);font-size:26px;font-weight:800}
.lmg-choice--create .lmg-choice__icon{background:#fff1bf;color:#7a5500}
.lmg-choice strong{display:block;color:var(--lmg-navy);font-size:17px;font-weight:950}.lmg-choice small{display:block;margin-top:5px;color:var(--lmg-muted);font-size:12px;line-height:1.4}.lmg-choice>b{color:var(--lmg-blue);font-size:20px}

.lmg-panel{animation:lmgIn .2s ease both}.lmg-panel__back{appearance:none;margin:0 0 10px;padding:7px 0;border:0;background:transparent;color:var(--lmg-blue);font:inherit;font-size:12px;font-weight:900;cursor:pointer}
.lmg-form-card{display:grid;grid-template-columns:.85fr 1.15fr;gap:34px;padding:31px;border:1px solid var(--lmg-line);border-radius:22px;background:#fff;box-shadow:0 16px 38px rgba(6,27,59,.07)}
.lmg-step-badge{display:grid;place-items:center;width:36px;height:36px;margin-bottom:15px;border-radius:10px;background:var(--lmg-yellow);color:var(--lmg-navy);font-size:11px;font-weight:950}
.lmg-form-card h2{margin:0;color:var(--lmg-navy);font-size:28px;line-height:1.08;font-weight:950}.lmg-form-card>div>p{margin:9px 0 0;color:var(--lmg-muted);font-size:13px;line-height:1.55}
.lmg-form{display:grid;gap:13px}.lmg-form label{display:grid;gap:6px;color:var(--lmg-navy);font-size:12px;font-weight:900}.lmg-form label>span{color:var(--lmg-red)}.lmg-form label>small{display:inline;color:var(--lmg-muted);font-size:10px;font-weight:700}
.lmg-form input,.lmg-form select{width:100%;height:46px;padding:0 13px;border:1px solid #d5dee9;border-radius:11px;background:#fff;color:var(--lmg-ink);font:inherit;font-size:14px;outline:none}.lmg-form input:focus,.lmg-form select:focus{border-color:var(--lmg-blue);box-shadow:0 0 0 3px rgba(7,84,201,.1)}
.lmg-form .lmg-code-input{font-size:20px;font-weight:950;letter-spacing:.18em;text-transform:uppercase}
.lmg-primary{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:47px;padding:12px 18px;border:2px solid var(--lmg-yellow);border-radius:12px;background:var(--lmg-blue);color:#fff;font:inherit;font-size:13px;font-weight:950;line-height:1.2;cursor:pointer;box-shadow:0 9px 19px rgba(7,84,201,.17);transition:transform .15s ease,box-shadow .15s ease}.lmg-primary:hover,.lmg-primary:focus-visible{outline:none;transform:translateY(-1px);box-shadow:0 12px 23px rgba(7,84,201,.24)}.lmg-primary:disabled,.lmg-primary.is-loading{cursor:wait;opacity:.62;transform:none;box-shadow:none}

.lmg-room{width:100%;animation:lmgIn .22s ease both}.lmg-roombar{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:15px;padding:20px 24px;border-radius:19px;background:linear-gradient(110deg,var(--lmg-navy),#0b4cad);color:#fff;box-shadow:0 14px 28px rgba(6,27,59,.12)}
.lmg-roombar>div:first-child>span{color:#8ebcff;font-size:9.5px;font-weight:950;letter-spacing:.11em}.lmg-roombar h2{margin:4px 0 0;color:#fff;font-size:23px;line-height:1.05;font-weight:950}
.lmg-share{display:grid;grid-template-columns:auto auto;align-items:center;gap:2px 13px}.lmg-share small{color:#bad3f6;font-size:9px;font-weight:800}.lmg-share strong{grid-row:1/3;grid-column:2;font-size:25px;letter-spacing:.14em}.lmg-share button{appearance:none;padding:0;border:0;background:transparent;color:var(--lmg-yellow);font:inherit;font-size:10.5px;font-weight:900;text-align:left;cursor:pointer}
.lmg-roomgrid{display:grid;grid-template-columns:255px minmax(0,1fr);gap:15px;align-items:start}.lmg-members-card,.lmg-workspace{border:1px solid var(--lmg-line);border-radius:20px;background:#fff;box-shadow:0 13px 30px rgba(6,27,59,.055)}
.lmg-members-card{position:sticky;top:96px;padding:18px}.lmg-card-title{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid #edf1f5}.lmg-card-title>span{color:var(--lmg-blue);font-size:9.5px;font-weight:950;letter-spacing:.1em}.lmg-card-title>strong{color:var(--lmg-navy);font-size:13px}.lmg-card-title b{font-weight:950}
.lmg-members{display:grid;gap:7px;margin-top:12px}.lmg-member{display:grid;grid-template-columns:33px minmax(0,1fr);align-items:center;column-gap:9px;padding:8px;border-radius:11px;background:#f7f9fc}.lmg-member>span{grid-row:1/3;display:grid;place-items:center;width:33px;height:33px;border-radius:10px;background:#e8eef6;color:var(--lmg-navy);font-size:12px;font-weight:950}.lmg-member>strong{overflow:hidden;color:var(--lmg-ink);font-size:11.5px;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.lmg-member>small{color:#8996a6;font-size:9px}.lmg-member.is-ready{background:#effaf3}.lmg-member.is-ready>span{background:#d8f2e1;color:#14743b}.lmg-member.is-ready>small{color:#14743b;font-weight:850}
.lmg-members-note{margin:13px 0;color:var(--lmg-muted);font-size:9.5px;line-height:1.4}.lmg-text-button{appearance:none;padding:0;border:0;background:transparent;color:var(--lmg-blue);font:inherit;font-size:10.5px;font-weight:900;text-decoration:underline;text-underline-offset:3px;cursor:pointer}
.lmg-workspace{min-height:550px;padding:27px 31px}

.lmg-progress-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px}.lmg-progress-meta button{appearance:none;padding:4px 0;border:0;background:transparent;color:var(--lmg-blue);font:inherit;font-size:11px;font-weight:900;cursor:pointer}.lmg-progress-meta button.is-hidden{visibility:hidden}.lmg-progress-meta>span{color:var(--lmg-muted);font-size:11px;font-weight:750}.lmg-progress-meta strong{color:var(--lmg-blue)}
.lmg-progress{height:6px;margin-bottom:27px;overflow:hidden;border-radius:999px;background:#edf1f6}.lmg-progress>span{display:block;width:20%;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lmg-blue),var(--lmg-yellow));transition:width .25s ease}
.lmg-question{display:none;animation:lmgIn .2s ease both}.lmg-question.is-active{display:block}.lmg-question__head{max-width:650px;margin:0 auto 22px;text-align:center}.lmg-question__head>span{color:var(--lmg-red)}.lmg-question h2{margin:6px 0 7px;color:var(--lmg-navy);font-size:clamp(23px,3vw,31px);line-height:1.1;font-weight:950;letter-spacing:-.025em}.lmg-question__head p{margin:0;color:var(--lmg-muted);font-size:12.5px;line-height:1.5}
.lmg-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.lmg-question[data-question="age"] .lmg-options{grid-template-columns:repeat(3,minmax(0,1fr))}.lmg-option{appearance:none;position:relative;display:flex;align-items:center;gap:11px;min-height:72px;padding:12px 38px 12px 12px;border:1px solid var(--lmg-line);border-radius:14px;background:#fff;color:var(--lmg-ink);font:inherit;text-align:left;cursor:pointer;transition:transform .14s ease,border-color .14s ease,box-shadow .14s ease}.lmg-option:hover,.lmg-option:focus-visible{outline:none;transform:translateY(-2px);border-color:rgba(7,84,201,.35);box-shadow:0 9px 20px rgba(7,84,201,.08)}.lmg-option.is-selected{border-color:var(--lmg-blue);background:#f3f8ff;box-shadow:0 0 0 3px rgba(7,84,201,.08)}
.lmg-option>i{display:grid;place-items:center;flex:0 0 37px;width:37px;height:37px;border-radius:11px;background:#f0f4f9;color:var(--lmg-blue);font-style:normal;font-size:18px;font-weight:950}.lmg-option>span{min-width:0}.lmg-option>span strong{display:block;color:var(--lmg-navy);font-size:12.5px;line-height:1.25;font-weight:900}.lmg-option>span small{display:block;margin-top:3px;color:var(--lmg-muted);font-size:10px;line-height:1.3}.lmg-option>b{position:absolute;right:12px;top:50%;display:grid;place-items:center;width:19px;height:19px;border:1px solid #d8e0ea;border-radius:50%;color:transparent;transform:translateY(-50%);font-size:9px}.lmg-option.is-selected>b{border-color:var(--lmg-blue);background:var(--lmg-blue);color:#fff}
.lmg-quiz-done,.lmg-waiting{max-width:630px;margin:55px auto 30px;text-align:center;animation:lmgIn .2s ease both}.lmg-quiz-done>span,.lmg-waiting__check{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 15px;border-radius:50%;background:#e3f7ea;color:#168043;font-size:24px;font-weight:950}.lmg-quiz-done h2,.lmg-waiting h2{margin:0;color:var(--lmg-navy);font-size:26px;font-weight:950}.lmg-quiz-done p,.lmg-waiting>p{margin:8px auto 20px;color:var(--lmg-muted);font-size:13px;line-height:1.55}.lmg-ready-count{display:inline-flex;margin-bottom:18px;padding:7px 11px;border-radius:999px;background:#edf5ff;color:var(--lmg-blue);font-size:11px;font-weight:850}.lmg-host-actions{margin-top:18px;padding:18px;border:1px solid #d8e6f8;border-radius:15px;background:#f6faff}.lmg-host-actions p{margin:0 0 13px;color:var(--lmg-muted);font-size:11.5px;line-height:1.45}
.lmg-loading,.lmg-empty{padding:45px 20px;text-align:center;color:var(--lmg-muted);font-size:13px;font-weight:800}

.lmg-results__head{max-width:690px;margin:3px auto 24px;text-align:center}.lmg-results__head>span{color:var(--lmg-red)}.lmg-results__head h2{margin:7px 0 8px;color:var(--lmg-navy);font-size:clamp(26px,3.2vw,36px);line-height:1.08;font-weight:950;letter-spacing:-.03em}.lmg-results__head p{margin:0;color:var(--lmg-muted);font-size:13px;line-height:1.55}
.lmg-result-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.lmg-product{position:relative;display:flex;flex-direction:column;min-width:0;overflow:hidden;border:1px solid var(--lmg-line);border-radius:17px;background:#fff;box-shadow:0 10px 24px rgba(6,27,59,.055)}.lmg-product__rank{position:absolute;z-index:2;top:9px;left:9px;padding:5px 8px;border-radius:999px;background:var(--lmg-navy);color:#fff;font-size:9px;font-weight:950}.lmg-product__image{position:relative;display:block;aspect-ratio:1/1;padding:17px;background:linear-gradient(180deg,#fff,#f7f9fc)}.lmg-product__image img{display:block;width:100%;height:100%;object-fit:contain}.lmg-product__image>span{position:absolute;right:9px;bottom:9px;display:flex;flex-direction:column;align-items:center;min-width:55px;padding:7px;border:2px solid #fff;border-radius:12px;background:var(--lmg-red);color:#fff;box-shadow:0 6px 14px rgba(223,6,27,.22)}.lmg-product__image>span strong{font-size:16px;line-height:1}.lmg-product__image>span small{margin-top:2px;font-size:7.5px;font-weight:900;text-transform:uppercase}.lmg-product__body{display:flex;flex:1;flex-direction:column;padding:13px}.lmg-product h3{margin:0 0 7px;font-size:13px;line-height:1.25;font-weight:950}.lmg-product h3 a{color:var(--lmg-navy);text-decoration:none}.lmg-product__price{color:var(--lmg-blue);font-size:14px;font-weight:950}.lmg-product__price del{opacity:.5}.lmg-product__price ins{color:var(--lmg-red);text-decoration:none}.lmg-product__stock{margin-top:4px;font-size:9.5px;font-weight:850}.lmg-product__stock.is-in{color:#168043}.lmg-product__stock.is-out{color:var(--lmg-red)}.lmg-product__body>p{flex:1;margin:10px 0 13px;color:var(--lmg-muted);font-size:10.5px;line-height:1.45}.lmg-product__actions{display:grid;gap:6px}.lmg-product__actions>a{display:flex!important;align-items:center!important;justify-content:center!important;min-height:36px!important;margin:0!important;padding:7px 9px!important;border:1px solid #d8e1eb!important;border-radius:9px!important;background:#fff!important;color:var(--lmg-navy)!important;font:inherit!important;font-size:10.5px!important;font-weight:900!important;text-align:center!important;text-decoration:none!important}.lmg-product__actions>a:last-child:not(:first-child){border-color:var(--lmg-blue)!important;background:var(--lmg-blue)!important;color:#fff!important}.lmg-results__footer{display:flex;justify-content:center;margin-top:21px}

@keyframes lmgIn{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:none}}

body.ludorum-lmg-page .entry-header .entry-title,body.ludorum-lmg-page main.site-main>.page-header{display:none}
body.ludorum-lmg-page .site-main{overflow:visible}

@media(max-width:900px){
  .lmg-hero{grid-template-columns:minmax(0,1fr) 130px;padding:29px 31px}.lmg-hero__mark{width:88px;height:88px}.lmg-hero__mark b{font-size:46px}
  .lmg-roomgrid{grid-template-columns:210px minmax(0,1fr)}.lmg-members-card{position:static}.lmg-workspace{padding:23px 21px}.lmg-question[data-question="age"] .lmg-options{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lmg-result-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .lmg-app{padding:12px 10px 50px}.lmg-hero{display:block;min-height:0;padding:24px 20px;border-radius:20px}.lmg-hero h1{font-size:28px}.lmg-hero p{font-size:12.5px}.lmg-hero__mark{display:none}.lmg-promises span{font-size:9.5px}
  .lmg-entry__grid{grid-template-columns:1fr}.lmg-choice{min-height:96px;padding:17px}.lmg-form-card{grid-template-columns:1fr;gap:20px;padding:22px 18px}.lmg-form-card h2{font-size:24px}
  .lmg-roombar{align-items:flex-start;padding:17px;flex-direction:column}.lmg-share{width:100%;grid-template-columns:1fr auto}.lmg-share strong{font-size:22px}.lmg-roomgrid{grid-template-columns:1fr}.lmg-members-card{order:2}.lmg-workspace{order:1;min-height:0;padding:18px 14px}.lmg-members{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lmg-options,.lmg-question[data-question="age"] .lmg-options{grid-template-columns:1fr}.lmg-option{min-height:66px}.lmg-question h2{font-size:24px}.lmg-progress{margin-bottom:21px}
}
@media(max-width:480px){
  .lmg-result-grid{grid-template-columns:1fr}.lmg-product{display:grid;grid-template-columns:126px minmax(0,1fr)}.lmg-product__image{aspect-ratio:auto;min-height:175px}.lmg-product__body{min-width:0}.lmg-members{grid-template-columns:1fr}.lmg-share strong{letter-spacing:.1em}
}

/* ==========================================================
   v1.0.1 — Salle d'attente compacte et styles renforcés
   ========================================================== */
.lmg-app.is-room-active{padding-top:16px}
.lmg-app.is-room-active .lmg-hero{grid-template-columns:minmax(0,1fr) 90px;width:100%;min-height:128px;margin-bottom:15px;padding:24px 34px;border-radius:20px}
.lmg-app.is-room-active .lmg-hero h1{max-width:none;font-size:clamp(25px,2.4vw,32px)}
.lmg-app.is-room-active .lmg-hero p{max-width:800px;margin-top:8px;font-size:12px}
.lmg-app.is-room-active .lmg-promises{display:none}
.lmg-app.is-room-active .lmg-hero__mark{width:66px;height:66px;border-radius:18px;box-shadow:0 8px 0 rgba(0,0,0,.14)}
.lmg-app.is-room-active .lmg-hero__mark b{font-size:36px}
.lmg-app.is-room-active .lmg-workspace{min-height:420px}
.lmg-app.is-room-active .lmg-waiting{max-width:650px;margin:28px auto 12px;padding:8px 12px}
.lmg-app.is-room-active .lmg-host-actions{max-width:560px;margin:18px auto 0}

.lmg-app button.lmg-primary,.lmg-app a.lmg-primary{min-width:0!important;min-height:47px!important;margin:0!important;padding:12px 18px!important;border:2px solid var(--lmg-yellow)!important;border-radius:12px!important;background:var(--lmg-blue)!important;color:#fff!important;box-shadow:0 9px 19px rgba(7,84,201,.17)!important;font-family:inherit!important;font-size:13px!important;font-weight:950!important;line-height:1.2!important;text-decoration:none!important}
.lmg-app button.lmg-primary:disabled,.lmg-app button.lmg-primary.is-loading{border-color:#9dc1f1!important;background:#dbe9fa!important;color:#456987!important;box-shadow:none!important;opacity:1!important}
.lmg-app button.lmg-text-button{display:inline!important;width:auto!important;min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;color:var(--lmg-blue)!important;box-shadow:none!important;font-family:inherit!important;font-size:10.5px!important;font-weight:900!important;line-height:1.45!important;text-align:left!important;text-decoration:underline!important;text-underline-offset:3px!important}
.lmg-app .lmg-share button{min-width:0!important;min-height:0!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important;color:var(--lmg-yellow)!important}

@media(max-width:920px){
  .lmg-roomgrid{grid-template-columns:1fr}
  .lmg-workspace{order:1;min-height:0}
  .lmg-members-card{position:static;order:2;top:auto}
  .lmg-members{grid-template-columns:repeat(3,minmax(0,1fr))}
  .lmg-app.is-room-active .lmg-workspace{min-height:0}
}
@media(max-width:700px){
  .lmg-app.is-room-active{padding-top:8px}
  .lmg-app.is-room-active .lmg-hero{display:none}
  .lmg-app.is-room-active .lmg-roombar{align-items:flex-start;padding:17px;flex-direction:column;border-radius:16px}
  .lmg-app.is-room-active .lmg-roombar h2{font-size:20px}
  .lmg-app.is-room-active .lmg-waiting{margin:20px auto 8px;padding:0}
  .lmg-app.is-room-active .lmg-waiting h2{font-size:22px}
  .lmg-app.is-room-active .lmg-host-actions{padding:14px}
  .lmg-app button.lmg-primary{width:100%!important}
}

/* ==========================================================
   v1.0.2 — Isolation des deux cartes d'entrée
   Le thème Ludorum impose des styles !important aux boutons.
   ========================================================== */
.lmg-app .lmg-entry__grid>button.lmg-choice{
  all:unset!important;
  box-sizing:border-box!important;
  position:relative!important;
  display:grid!important;
  grid-template-columns:52px minmax(0,1fr) 25px!important;
  align-items:center!important;
  gap:15px!important;
  width:100%!important;
  min-width:0!important;
  min-height:116px!important;
  margin:0!important;
  padding:22px!important;
  border:1px solid var(--lmg-line)!important;
  border-radius:20px!important;
  background:#fff!important;
  color:var(--lmg-ink)!important;
  box-shadow:0 12px 30px rgba(6,27,59,.06)!important;
  font-family:inherit!important;
  font-size:inherit!important;
  line-height:normal!important;
  text-align:left!important;
  cursor:pointer!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease!important;
}
.lmg-app .lmg-entry__grid>button.lmg-choice:hover,.lmg-app .lmg-entry__grid>button.lmg-choice:focus-visible{
  outline:none!important;
  transform:translateY(-3px)!important;
  border-color:rgba(7,84,201,.42)!important;
  box-shadow:0 17px 34px rgba(7,84,201,.1)!important;
}
.lmg-app button.lmg-choice>.lmg-choice__icon{
  all:unset!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  width:52px!important;
  height:52px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:15px!important;
  background:#eaf3ff!important;
  color:var(--lmg-blue)!important;
  font-family:inherit!important;
  font-size:26px!important;
  font-weight:800!important;
  line-height:1!important;
}
.lmg-app button.lmg-choice--create>.lmg-choice__icon{background:#fff1bf!important;color:#7a5500!important}
.lmg-app button.lmg-choice>span:nth-child(2){all:unset!important;display:block!important;min-width:0!important;color:var(--lmg-ink)!important;font-family:inherit!important;text-align:left!important}
.lmg-app button.lmg-choice>span:nth-child(2)>strong{all:unset!important;display:block!important;color:var(--lmg-navy)!important;font-family:inherit!important;font-size:17px!important;font-weight:950!important;line-height:1.25!important;text-align:left!important}
.lmg-app button.lmg-choice>span:nth-child(2)>small{all:unset!important;display:block!important;margin-top:5px!important;color:var(--lmg-muted)!important;font-family:inherit!important;font-size:12px!important;font-weight:400!important;line-height:1.4!important;text-align:left!important}
.lmg-app button.lmg-choice>b{all:unset!important;display:block!important;margin:0!important;padding:0!important;color:var(--lmg-blue)!important;font-family:inherit!important;font-size:20px!important;font-weight:900!important;line-height:1!important;text-align:center!important}

@media(max-width:700px){
  .lmg-app .lmg-entry__grid>button.lmg-choice{grid-template-columns:44px minmax(0,1fr) 20px!important;gap:12px!important;min-height:92px!important;padding:16px!important;border-radius:16px!important}
  .lmg-app button.lmg-choice>.lmg-choice__icon{width:44px!important;height:44px!important;border-radius:13px!important;font-size:22px!important}
  .lmg-app button.lmg-choice>span:nth-child(2)>strong{font-size:15px!important}
  .lmg-app button.lmg-choice>span:nth-child(2)>small{font-size:11px!important}
}


/* ==========================================================
   LUDORUM — LUDOMATCH GROUPE v1.1.0
   Expérience harmonisée avec LudoMatch individuel
   ========================================================== */

.lmg-app {
  --lmg-blue:#0B4DBB;
  --lmg-yellow:#F5C518;
  --lmg-red:#D72626;
  padding-top:20px;
}

.lmg-shell {
  width:min(1080px,100%);
}

/* Hero plus compact. */
.lmg-hero {
  grid-template-columns:minmax(0,1fr) 140px;
  width:100%;
  min-height:185px;
  margin-bottom:18px;
  padding:27px 32px;
  border-radius:20px;
}
.lmg-hero h1 {
  font-size:clamp(28px,3vw,37px);
}
.lmg-hero p {
  max-width:740px;
  font-size:13px;
}
.lmg-hero__mark {
  width:86px;
  height:86px;
  border-radius:21px;
}
.lmg-hero__mark b {
  font-size:46px;
}

/* Entrée Créer / Rejoindre. */
.lmg-entry {
  width:100%;
}
.lmg-entry__head {
  margin:25px 0 17px;
}
.lmg-entry__grid {
  gap:14px;
}
.lmg-app .lmg-entry__grid>button.lmg-choice {
  min-height:104px!important;
  padding:18px!important;
  border-radius:17px!important;
  box-shadow:0 8px 22px rgba(7,26,51,.055)!important;
}
.lmg-app .lmg-entry__grid>button.lmg-choice:hover,
.lmg-app .lmg-entry__grid>button.lmg-choice:focus-visible {
  transform:translateY(-2px)!important;
  box-shadow:0 12px 27px rgba(11,77,187,.10)!important;
}
.lmg-form-card {
  padding:27px;
  border-radius:18px;
  box-shadow:0 10px 28px rgba(7,26,51,.06);
}

/* Salle. */
.lmg-roombar {
  margin-bottom:14px;
  padding:18px 21px;
  border-radius:17px;
}
.lmg-roomgrid {
  grid-template-columns:240px minmax(0,1fr);
  gap:14px;
}
.lmg-members-card,
.lmg-workspace {
  border-radius:17px;
  box-shadow:0 9px 25px rgba(7,26,51,.055);
}
.lmg-workspace {
  min-height:0;
  padding:23px 27px 25px;
}
.lmg-member {
  border:1px solid transparent;
}
.lmg-member.is-ready {
  border-color:#cfead9;
}

/* Progression avec espaces garantis. */
.lmg-progress-meta {
  margin-bottom:8px;
}
.lmg-progress-caption {
  color:var(--lmg-navy);
  font-size:10.8px;
  font-weight:900;
}
.lmg-progress-step {
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:26px;
  padding:4px 9px;
  border:1px solid #dce5f0;
  border-radius:999px;
  background:#f8fbff;
  color:var(--lmg-muted);
  font-size:10.5px;
  font-weight:800;
  white-space:nowrap;
}
.lmg-progress-step strong {
  color:var(--lmg-blue);
  font-weight:950;
}
.lmg-progress {
  height:8px;
  margin-bottom:23px;
}

/* Questionnaire guidé. */
.lmg-question__head {
  margin-bottom:18px;
}
.lmg-question h2 {
  font-size:clamp(23px,2.8vw,30px);
}
.lmg-options {
  gap:10px;
}
.lmg-option {
  min-height:70px;
  border-radius:14px;
  box-shadow:0 5px 15px rgba(7,26,51,.03);
}
.lmg-option:hover,
.lmg-option:focus-visible {
  transform:translateY(-1px);
  border-color:rgba(11,77,187,.45);
  box-shadow:0 8px 19px rgba(11,77,187,.08);
}

/* Sélection bleu / jaune, sans rose agressif. */
body .lmg-app .lmg-option.is-selected,
body .lmg-app .lmg-option[aria-pressed="true"] {
  border-color:#0B4DBB!important;
  background:linear-gradient(135deg,#eef5ff,#fff)!important;
  color:#102a43!important;
  box-shadow:0 0 0 3px rgba(11,77,187,.09),0 8px 19px rgba(11,77,187,.07)!important;
}
body .lmg-app .lmg-option.is-selected>span strong,
body .lmg-app .lmg-option[aria-pressed="true"]>span strong {
  color:#0B4DBB!important;
}
body .lmg-app .lmg-option.is-selected>b,
body .lmg-app .lmg-option[aria-pressed="true"]>b {
  border:2px solid #0B4DBB!important;
  background:#F5C518!important;
  color:#071A33!important;
  box-shadow:0 0 0 2px #fff,0 0 0 3px rgba(11,77,187,.11)!important;
}
body .lmg-app .lmg-option.is-selected>i,
body .lmg-app .lmg-option[aria-pressed="true"]>i {
  background:#e8f1ff!important;
}

/* Choix + navigation. */
.lmg-choice-summary {
  display:flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  min-height:32px;
  margin:16px auto 7px;
  color:var(--lmg-muted);
  font-size:10.5px;
}
.lmg-choice-summary>span {
  font-weight:750;
}
.lmg-choice-summary>strong {
  color:#7c8999;
  font-weight:900;
}
.lmg-choice-summary.has-choice>strong {
  color:var(--lmg-blue);
}
.lmg-quiz-actions {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding-top:9px;
  border-top:1px solid #edf1f6;
}
.lmg-quiz-actions[hidden],
.lmg-choice-summary[hidden] {
  display:none!important;
}
.lmg-quiz-back,
.lmg-quiz-next {
  appearance:none;
  min-height:41px;
  padding:8px 15px;
  border-radius:10px;
  font:inherit;
  font-size:11.5px;
  font-weight:900;
  cursor:pointer;
}
.lmg-quiz-back {
  border:1px solid #cfdbea;
  background:#fff;
  color:var(--lmg-blue);
}
.lmg-quiz-back.is-hidden {
  visibility:hidden;
  pointer-events:none;
}
.lmg-quiz-next {
  min-width:118px;
  border:1px solid rgba(7,26,51,.08);
  background:linear-gradient(120deg,#07336f,#0B4DBB);
  color:#fff;
  box-shadow:0 7px 16px rgba(11,77,187,.21),0 0 0 2px rgba(245,197,24,.18);
}
.lmg-quiz-next:disabled {
  cursor:not-allowed;
  border-color:#dce5f0;
  background:#e8eef6;
  color:#7890ad;
  box-shadow:none;
}
.lmg-quiz-next:not(:disabled):hover {
  transform:translateY(-1px);
  box-shadow:0 9px 20px rgba(11,77,187,.27),0 0 0 3px rgba(245,197,24,.24);
}

/* Résumé avant enregistrement. */
.lmg-quiz-done {
  max-width:720px;
  margin:32px auto 20px;
}
.lmg-profile-summary {
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:6px;
  margin:0 auto 17px;
}
.lmg-profile-summary span {
  padding:5px 8px;
  border:1px solid #dce5f0;
  border-radius:999px;
  background:#f8fbff;
  color:#38516d;
  font-size:9.8px;
  font-weight:800;
}

/* Attente. */
.lmg-waiting {
  margin:30px auto 16px;
}
.lmg-ready-count {
  font-size:11px;
}

/* Résultats alignés au catalogue. */
.lmg-results__head {
  max-width:760px;
  margin-bottom:19px;
}
.lmg-result-grid {
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.lmg-product {
  border-radius:14px;
  border-color:#dfe6ef;
  box-shadow:0 7px 20px rgba(7,26,51,.06);
  transition:transform .15s ease,box-shadow .15s ease;
}
.lmg-product:hover {
  transform:translateY(-2px);
  box-shadow:0 12px 26px rgba(7,26,51,.10);
}
.lmg-product__rank {
  top:8px;
  left:8px;
  max-width:calc(100% - 52px);
  padding:5px 8px;
  font-size:8.8px;
}
.lmg-product__wishlist {
  position:absolute;
  z-index:5;
  top:7px;
  right:7px;
  width:30px;
  height:30px;
}
.lmg-product__wishlist .tinv-wraper,
.lmg-product__wishlist .tinv-wishlist,
.lmg-product__wishlist .tinvwl_add_to_wishlist_button {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:30px!important;
  min-width:30px!important;
  max-width:30px!important;
  height:30px!important;
  min-height:30px!important;
  max-height:30px!important;
  margin:0!important;
  padding:0!important;
  border:1px solid #f0c7c4!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.97)!important;
  color:#D72626!important;
  font-size:0!important;
  text-decoration:none!important;
  box-shadow:0 3px 8px rgba(7,26,51,.07)!important;
}
.lmg-product__wishlist .tinvwl_add_to_wishlist_button::before {
  position:static!important;
  margin:0!important;
  color:#D72626!important;
  font-size:17px!important;
}
.lmg-product__wishlist .tinvwl_add_to_wishlist-text,
.lmg-product__wishlist .tinvwl-tooltip,
.lmg-product__wishlist .tinvwl-product-in-list,
.lmg-product__wishlist .tinvwl-product-make-remove {
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  overflow:hidden!important;
  clip:rect(0 0 0 0)!important;
}
.lmg-product__image {
  aspect-ratio:auto;
  height:200px;
  padding:10px;
  border-bottom:1px solid #edf1f6;
  background:#f8fafc;
}
.lmg-product__body {
  padding:10px;
}
.lmg-product h3 {
  display:-webkit-box;
  min-height:37px;
  max-height:37px;
  margin-bottom:5px;
  overflow:hidden;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  font-size:14.2px;
  line-height:1.28;
}
.lmg-product__price {
  min-height:20px;
  font-size:14px;
}
.lmg-product__stock {
  min-height:18px;
  margin-top:3px;
  font-size:10.7px;
}
.lmg-product__body>p {
  min-height:45px;
  margin:8px 0 10px;
  color:#596f88;
  font-size:10.8px;
  line-height:1.43;
}
.lmg-product__actions {
  gap:6px;
}
.lmg-product__actions>a {
  min-height:38px!important;
  font-size:10.7px!important;
}
.lmg-product__actions>a:last-child:not(:first-child) {
  border-color:#0B4DBB!important;
  background:linear-gradient(120deg,#07336f,#0B4DBB)!important;
  color:#fff!important;
  box-shadow:0 5px 12px rgba(11,77,187,.14)!important;
}

/* Responsive. */
@media(max-width:1024px) {
  .lmg-result-grid {
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .lmg-roomgrid {
    grid-template-columns:210px minmax(0,1fr);
  }
}
@media(max-width:900px) {
  .lmg-roomgrid {
    grid-template-columns:1fr;
  }
}
@media(max-width:700px) {
  .lmg-app {
    padding:10px 10px 48px;
  }
  .lmg-hero {
    padding:21px 17px;
    border-radius:17px;
  }
  .lmg-workspace {
    padding:18px 13px 20px;
  }
  .lmg-progress-step {
    font-size:9.5px;
  }
  .lmg-options,
  .lmg-question[data-question="age"] .lmg-options {
    grid-template-columns:1fr;
  }
  .lmg-option {
    min-height:63px;
  }
  .lmg-result-grid {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }
  .lmg-product__image {
    height:158px;
    padding:8px;
  }
  .lmg-product__body {
    padding:8px;
  }
  .lmg-product h3 {
    min-height:32px;
    max-height:32px;
    font-size:12.2px;
  }
  .lmg-product__price {
    font-size:12.2px;
  }
  .lmg-product__stock {
    font-size:9.8px;
  }
  .lmg-product__body>p {
    min-height:0;
    font-size:9.7px;
  }
  .lmg-product__actions>a {
    min-height:36px!important;
    font-size:9.7px!important;
  }
}
@media(max-width:420px) {
  .lmg-result-grid {
    grid-template-columns:1fr;
  }
  .lmg-product {
    display:block;
  }
  .lmg-product__image {
    height:210px;
  }
}


/* ==========================================================
   LUDOMATCH GROUPE v1.1.1 — correction visuelle bouton Suivant
   ========================================================== */
body .lmg-app .lmg-quiz-actions {
  align-items: center !important;
}
body .lmg-app .lmg-quiz-back,
body .lmg-app .lmg-quiz-next {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  min-height: 42px !important;
  padding: 0 16px !important;
  border-radius: 10px !important;
  line-height: 1 !important;
  text-decoration: none !important;
  letter-spacing: 0 !important;
  box-sizing: border-box !important;
}
body .lmg-app .lmg-quiz-next,
body .lmg-app button.lmg-quiz-next,
body .lmg-app input[type="button"].lmg-quiz-next,
body .lmg-app input[type="submit"].lmg-quiz-next {
  min-width: 126px !important;
  border: 1px solid rgba(7,26,51,.08) !important;
  background: linear-gradient(120deg, #07336f 0%, #0B4DBB 100%) !important;
  color: #ffffff !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  box-shadow: 0 7px 16px rgba(11,77,187,.23), 0 0 0 2px rgba(245,197,24,.20) !important;
  opacity: 1 !important;
  transform: none !important;
}
body .lmg-app .lmg-quiz-next span {
  color: inherit !important;
  font-weight: 900 !important;
}
body .lmg-app .lmg-quiz-next:not(:disabled):hover,
body .lmg-app .lmg-quiz-next:not(:disabled):focus-visible {
  background: linear-gradient(120deg, #083a7e 0%, #1158d6 100%) !important;
  color: #ffffff !important;
  transform: translateY(-1px) !important;
  filter: brightness(1.03) !important;
  box-shadow: 0 10px 21px rgba(11,77,187,.28), 0 0 0 3px rgba(245,197,24,.28) !important;
  outline: none !important;
}
body .lmg-app .lmg-quiz-next:disabled {
  border: 1px solid #dce5f0 !important;
  background: #e8eef6 !important;
  color: #7890ad !important;
  box-shadow: none !important;
  opacity: .82 !important;
}
body .lmg-app .lmg-quiz-back,
body .lmg-app button.lmg-quiz-back {
  border: 1px solid #cfdbea !important;
  background: #ffffff !important;
  color: #0B4DBB !important;
  font-size: 11.5px !important;
  font-weight: 900 !important;
  box-shadow: 0 3px 8px rgba(7,26,51,.04) !important;
}
body .lmg-app .lmg-quiz-back:hover,
body .lmg-app .lmg-quiz-back:focus-visible {
  border-color: rgba(11,77,187,.42) !important;
  background: #f7fbff !important;
  color: #0B4DBB !important;
  outline: none !important;
}


/* ==========================================================
   LUDORUM — LUDOMATCH GROUPE v1.1.2
   CORRECTION DÉFINITIVE DES RÉPONSES ROSES
   ========================================================== */

/*
 * Sélecteurs avec l'ID de l'application pour prendre la priorité
 * sur les anciens styles globaux du site/thème.
 */

/* Réponse normale : blanc + bordure neutre. */
html body #ludorum-lmg-app button.lmg-option,
html body #ludorum-lmg-app button.lmg-option:link,
html body #ludorum-lmg-app button.lmg-option:visited {
  -webkit-appearance: none !important;
  appearance: none !important;
  border: 1px solid #dce5f0 !important;
  background: #ffffff !important;
  background-image: none !important;
  color: #102a43 !important;
  box-shadow: 0 5px 15px rgba(7,26,51,.03) !important;
}

/* Survol/focus : bleu très léger, jamais rose. */
html body #ludorum-lmg-app button.lmg-option:hover,
html body #ludorum-lmg-app button.lmg-option:focus,
html body #ludorum-lmg-app button.lmg-option:focus-visible {
  border-color: rgba(11,77,187,.48) !important;
  background: #f7faff !important;
  background-image: none !important;
  color: #102a43 !important;
  box-shadow: 0 8px 19px rgba(11,77,187,.08) !important;
  outline: none !important;
}

/* Réponse sélectionnée : fond bleu très pâle + contour bleu. */
html body #ludorum-lmg-app button.lmg-option.is-selected,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"],
html body #ludorum-lmg-app button.lmg-option.is-selected:hover,
html body #ludorum-lmg-app button.lmg-option.is-selected:focus,
html body #ludorum-lmg-app button.lmg-option.is-selected:focus-visible,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"]:hover,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"]:focus,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"]:focus-visible,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"]:active {
  border: 1px solid #0B4DBB !important;
  background: linear-gradient(135deg, #edf5ff 0%, #f8fbff 70%, #ffffff 100%) !important;
  background-color: #edf5ff !important;
  color: #102a43 !important;
  box-shadow:
    0 0 0 3px rgba(11,77,187,.10),
    0 8px 19px rgba(11,77,187,.07) !important;
  filter: none !important;
}

/* Textes de la réponse sélectionnée. */
html body #ludorum-lmg-app button.lmg-option.is-selected > span strong,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"] > span strong {
  color: #0B4DBB !important;
}

html body #ludorum-lmg-app button.lmg-option.is-selected > span small,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"] > span small {
  color: #536a84 !important;
}

/* Icône : bleu pâle. */
html body #ludorum-lmg-app button.lmg-option.is-selected > i,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"] > i {
  background: #e8f1ff !important;
  color: #0B4DBB !important;
  box-shadow: inset 0 0 0 1px rgba(11,77,187,.08) !important;
}

/* Rond de validation : jaune Ludorum entouré de bleu. */
html body #ludorum-lmg-app button.lmg-option.is-selected > b,
html body #ludorum-lmg-app button.lmg-option[aria-pressed="true"] > b {
  border: 2px solid #0B4DBB !important;
  background: #F5C518 !important;
  color: #071A33 !important;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 3px rgba(11,77,187,.13) !important;
}

/* Empêche également un ancien style :active de remettre du rose au clic. */
html body #ludorum-lmg-app button.lmg-option:active {
  color: #102a43 !important;
}

html body #ludorum-lmg-app button.lmg-option:not(.is-selected)[aria-pressed="false"]:active {
  border-color: rgba(11,77,187,.55) !important;
  background: #f3f8ff !important;
  background-image: none !important;
}


/* ==========================================================
   LUDORUM — LUDOMATCH GROUPE v1.2.2
   Grille desktop large, alignée sur la nouvelle mise en page Ludorum.
   Le parcours mobile et la logique de session restent inchangés.
   ========================================================== */
@media (min-width:1025px) {
  body.lsg-shell-desktop.ludorum-lmg-page .lmg-app {
    padding:30px 24px 80px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-shell {
    width:min(1360px,100%);
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-hero {
    grid-template-columns:minmax(0,1fr) 220px;
    width:min(1200px,100%);
    min-height:242px;
    padding:38px 52px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-hero__copy {
    max-width:790px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-hero h1,
  body.lsg-shell-desktop.ludorum-lmg-page .lmg-hero p {
    max-width:760px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-alert,
  body.lsg-shell-desktop.ludorum-lmg-page .lmg-entry {
    width:min(1120px,100%);
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-entry__grid {
    gap:20px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-choice {
    min-height:124px;
    padding:24px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-roomgrid {
    grid-template-columns:285px minmax(0,1fr);
    gap:20px;
  }

  body.lsg-shell-desktop.ludorum-lmg-page .lmg-workspace {
    padding:32px 38px;
  }
}
