/* 1LOTOUS - MODULE V11 (additif) */
/* Ne modifie ni assets/style.css ni assets/modules/v10.css : uniquement de nouveaux composants. */

/* ---------- Cartes de choix (type de concours, mode de jeu) ---------- */
.choicecards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin:14px 0 22px}
.choicecards.modes{grid-template-columns:repeat(auto-fit,minmax(210px,1fr))}
.choicecard{display:flex;flex-direction:column;gap:6px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;margin:0}
.choicecard:hover{border-color:#c9bcff;transform:translateY(-2px)}
.choicecard.on{border-color:#8a6cff;box-shadow:0 0 0 3px #f0edff}
.choicecard input[type=radio]{width:auto;margin:0 0 4px}
.choicecard b{font-size:15px;line-height:1.35}
.modeicon{font-size:18px;margin-right:4px}
.badge-ok,.badge-warn{display:inline-block;align-self:flex-start;margin-top:4px;padding:4px 9px;border-radius:99px;font-size:11px;font-weight:700}
.badge-ok{background:#e3f9e9;color:#176737}
.badge-warn{background:#fff4d6;color:#805900}

/* ---------- Blocs conditionnels du formulaire ---------- */
.condblock{padding:16px 18px;border:1px dashed var(--line);border-radius:14px;background:#fbfaff;margin:0 0 18px}
.condblock[hidden]{display:none}
.condblock h3{margin:0 0 10px;font-size:16px}
.checkline{display:flex;align-items:center;gap:9px;font-size:14px;font-weight:600;color:#4a5470}
.checkline input[type=checkbox]{width:auto;margin:0}
fieldset.qrow{border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin:0 0 12px;background:#fff}
fieldset.qrow legend{padding:0 6px;font-size:13px;font-weight:700;color:var(--muted)}

/* ---------- Statuts V11 ---------- */
.st-awaiting_organizer{background:#f0edff;color:#4b31b8}

/* ---------- Zone de jeu ---------- */
.gamebox{border:1px solid var(--line);border-radius:16px;padding:18px;margin:0 0 18px;background:#fff}
.gamebox legend{padding:0 8px;font-weight:700;font-size:15px}
.choice{display:flex;align-items:center;gap:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;margin:8px 0;font-size:14px;cursor:pointer;background:#fff}
.choice:hover{border-color:#c9bcff}
.choice input[type=radio]{width:auto;margin:0}
.alert{padding:12px 14px;border-radius:10px;font-size:14px;margin:12px 0}
.alert.warn{background:#fff4d6;color:#805900}
.alert.ko{background:#ffeaee;color:#a31935}
.alert.ok{background:#e3f9e9;color:#176737}

/* ---------- Puzzle taquin ---------- */
.puzzle-board{display:grid;grid-template-columns:repeat(var(--grid,3),1fr);gap:8px;max-width:340px;margin:14px 0}
.puzzle-board .tile{aspect-ratio:1/1;border:0;border-radius:12px;background:#f0edff;color:#4b31b8;font-size:20px;font-weight:700;cursor:pointer;padding:0}
.puzzle-board .tile:hover{background:#e2dbff}
.puzzle-board .tile.hole{background:transparent;box-shadow:inset 0 0 0 1px var(--line);cursor:default}

/* ---------- Memory ---------- */
.memory-board{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:8px;max-width:420px;margin:14px 0}
.memory-board .card{aspect-ratio:3/4;border:0;border-radius:10px;background:#5934e9;color:#fff;font-size:18px;font-weight:700;cursor:pointer;padding:0}
.memory-board .card.up{background:#f0edff;color:#4b31b8}
.memory-board .card.found{background:#e3f9e9;color:#176737;cursor:default}

/* ---------- Emplacements publicitaires ---------- */
.adslot{display:block;border:1px solid var(--line);border-radius:16px;padding:16px;background:#fff;margin:0 0 20px}
.adslot.house{background:#fbfaff;border-style:dashed}
.ad-label{display:block;font-size:10px;letter-spacing:.09em;text-transform:uppercase;color:var(--muted);font-weight:700;margin-bottom:8px}
.ad-media{width:100%;max-height:180px;object-fit:cover;border-radius:12px;display:block;margin-bottom:10px}
.ad-headline{display:block;font-size:16px;line-height:1.35;margin-bottom:6px}
.ad-body{margin:0 0 12px;font-size:14px;color:var(--muted)}
.adslot[data-format=native]{border-style:dashed}
.rewardbox{border:1px solid var(--line);border-radius:16px;padding:18px;background:#fbfaff;margin:0 0 20px}
.rewardbox .count{font-weight:700;color:#5934e9}

/* ---------- Tableau de bord regie ---------- */
.statgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin:18px 0}
.statgrid .stat{border:1px solid var(--line);border-radius:14px;padding:14px 16px;background:#fff}
.statgrid .stat b{display:block;font-size:22px;line-height:1.2}
.statgrid .stat span{font-size:12px;color:var(--muted);font-weight:600}
