/* LBF – Jeu des cartes : styles du pop-up. */
html.lbfj-ouvert{overflow:hidden}
.lbfj-voile{position:fixed;inset:0;z-index:2147483000;background:rgba(19,45,52,.55);display:flex;align-items:center;justify-content:center;padding:16px}
.lbfj-voile[hidden]{display:none}
.lbfj{position:relative;width:min(860px,100%);max-height:100%;overflow:auto;background:#fff;border-radius:22px;display:grid;grid-template-columns:290px minmax(0,1fr);box-shadow:0 30px 80px rgba(19,45,52,.35);color:#132D34;font-family:var(--font-body--family)}
.lbfj *{box-sizing:border-box}
.lbfj__g{background:#132D34;color:#F3EEE7;padding:26px 22px;display:flex;flex-direction:column;justify-content:space-between;gap:18px}
.lbfj__marque{font-family:var(--font-heading--family);font-size:1.3rem;font-weight:600}
.lbfj__gourdes{display:flex;justify-content:center;align-items:flex-end;gap:6%}
.lbfj__gourdes img{width:20%;height:auto;filter:drop-shadow(0 14px 16px rgba(0,0,0,.3))}
.lbfj__g p{margin:0;font-size:.8rem;line-height:1.45;color:#C9D6D9}
.lbfj__d{position:relative;padding:24px 26px 20px;min-width:0}
.lbfj__etape{display:flex;flex-direction:column;gap:12px}
.lbfj__etape[hidden]{display:none}
.lbfj__x{position:absolute;top:10px;right:12px;width:36px;height:36px;border-radius:50%;border:0;background:#F1F4F5;color:#132D34;font-size:20px;line-height:1;cursor:pointer;z-index:2}
.lbfj__sur{margin:0;font-size:.72rem;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#2E6F77}
.lbfj__t{margin:0;font-family:var(--font-heading--family);font-weight:600;font-size:clamp(1.55rem,4.6vw,2.1rem);line-height:1.05;text-wrap:balance}
.lbfj__intro{margin:0;font-size:.9rem;line-height:1.45;color:#3D4F55}
.lbfj__grille{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;width:100%;max-width:255px;align-self:center}
.lbfj__carte{position:relative;aspect-ratio:4/5;border:0;padding:0;background:none;cursor:pointer;perspective:700px}
.lbfj__carte:disabled{cursor:default}
.lbfj__in{position:absolute;inset:0;transition:transform .5s cubic-bezier(.2,.7,.2,1);transform-style:preserve-3d}
.lbfj__carte.est-retournee .lbfj__in{transform:rotateY(180deg)}
.lbfj__f{position:absolute;inset:0;border-radius:12px;backface-visibility:hidden;-webkit-backface-visibility:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:5px;text-align:center}
.lbfj__f--dos{background:#132D34;color:#E8B64A;font-family:var(--font-heading--family);font-size:1.7rem;font-weight:600;box-shadow:inset 0 0 0 3px rgba(232,182,74,.35)}
.lbfj__f--av{background:#F3EEE7;transform:rotateY(180deg);box-shadow:inset 0 0 0 2px #D6DEE3}
.lbfj__f--av svg{width:28px;height:28px;fill:none;stroke:#132D34;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lbfj__f--av span{font-size:.66rem;font-weight:800;line-height:1.15}
.lbfj__carte.est-gagnante .lbfj__f--av{background:#E8B64A;box-shadow:inset 0 0 0 2px #C9962E}
.lbfj__compteur{margin:0;text-align:center;font-size:.8rem;color:#3D4F55;min-height:1.2em}
.lbfj__chances{margin:0;padding:11px 14px;border-radius:12px;background:#F6F8F8;list-style:none;display:grid;gap:5px;font-size:.78rem}
.lbfj__chances li{display:flex;justify-content:space-between;gap:10px}
.lbfj__chances b{white-space:nowrap;font-variant-numeric:tabular-nums}
.lbfj__ct{font-size:.7rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#2E6F77}
.lbfj__mention{margin:0;font-size:.72rem;line-height:1.45;color:#3D4F55}
.lbfj__mention a{color:#2E6F77}
.lbfj__gagne{text-align:center}
.lbfj__lot{margin:0;font-family:var(--font-heading--family);font-weight:600;font-size:clamp(1.3rem,4vw,1.7rem);line-height:1.1;background:#E8B64A;border-radius:14px;padding:14px 12px}
.lbfj__gagne form{display:flex;flex-direction:column;gap:10px;text-align:left}
.lbfj__champ{font-size:.78rem;font-weight:700}
.lbfj__gagne input[type=email]{width:100%;font:inherit;font-size:1rem;padding:13px 14px;border:1.5px solid #D6DEE3;border-radius:12px;background:#fff;color:#132D34}
.lbfj__case{display:flex;gap:9px;align-items:flex-start;font-size:.78rem;line-height:1.4;color:#3D4F55}
.lbfj__case input{margin-top:2px;width:18px;height:18px;flex:0 0 18px;accent-color:#132D34}
.lbfj__btn{display:inline-flex;align-items:center;justify-content:center;font:inherit;font-weight:800;font-size:.92rem;letter-spacing:.03em;text-transform:uppercase;border:0;border-radius:999px;padding:14px 18px;background:#132D34;color:#fff;cursor:pointer;text-decoration:none}
.lbfj__btn--or{background:#E8B64A;color:#132D34}
.lbfj__btn:disabled{opacity:.6}
.lbfj__erreur{margin:0;font-size:.78rem;color:#9A3412}
.lbfj__code{display:flex;gap:8px;align-items:center;justify-content:center;flex-wrap:wrap}
.lbfj__code output{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:1.3rem;font-weight:700;letter-spacing:.06em;border:2px dashed #132D34;border-radius:10px;padding:10px 16px;user-select:all}
.lbfj button:focus-visible,.lbfj a:focus-visible{outline:3px solid #E8B64A;outline-offset:2px}
@media (max-width:700px){.lbfj{grid-template-columns:1fr}.lbfj__g{display:none}.lbfj__d{padding:22px 18px 18px}}
@media (prefers-reduced-motion:reduce){.lbfj__in{transition:none}}
@media (min-width:701px) and (max-height:760px){.lbfj__d{padding:18px 22px 14px}.lbfj__etape{gap:9px}.lbfj__grille{max-width:200px}.lbfj__t{font-size:1.75rem}}
.lbfj__carte,.lbfj__carte:disabled{color:#132D34;opacity:1}
.lbfj__carte.est-ecartee{opacity:.35}
.lbfj__non{align-self:center;border:0;background:none;padding:6px 10px;font:inherit;font-size:.82rem;color:#3D4F55;text-decoration:underline;cursor:pointer}
[data-etape="jeu"] .lbfj__sur{padding-right:42px}