/* ============================================================
   Flashcard de oclusao da lei (26/10/2026): lacuna no texto literal + 3 alternativas.
   Usa as variaveis do card (--tema, --tema-rgb); o certo/errado comum nao e alterado.
   ============================================================ */
.fc-stage .oc-box .text-principal { overflow-wrap: anywhere; }
.oc-lacuna {
  display: inline-block; min-width: 96px; padding: 0 10px; margin: 0 2px; border-radius: 8px; text-align: center; font-weight: 900; letter-spacing: 3px;
  color: var(--tema); border: 2px dashed var(--tema); background: rgba(var(--tema-rgb), .12); animation: ocPulsa 1.8s ease-in-out infinite;
}
@keyframes ocPulsa { 50% { box-shadow: 0 0 14px rgba(var(--tema-rgb), .7); } }
.oc-opcoes { display: grid; gap: 12px; margin-top: 16px; position: relative; z-index: 10; }
.oc-opc {
  display: flex; align-items: center; gap: 12px; width: 100%; text-align: left; font-family: inherit; font-size: clamp(15px, 3.8vw, 17px); font-weight: 700; line-height: 1.3;
  color: #fff; background: linear-gradient(120deg, rgba(var(--tema-rgb), .26) 0%, rgba(var(--tema-rgb), .08) 55%, rgba(255,255,255,.03) 100%);
  border: 1.5px solid rgba(var(--tema-rgb), .55); border-radius: 14px; padding: 11px 14px; cursor: pointer;
  box-shadow: 0 3px 0 rgba(0,0,0,.55), 0 0 14px rgba(var(--tema-rgb), .12);
  transition: transform .12s, box-shadow .12s, border-color .12s, background .12s; -webkit-tap-highlight-color: transparent;
}
.oc-opc:hover:not(:disabled) { border-color: var(--tema); background: linear-gradient(120deg, rgba(var(--tema-rgb), .36) 0%, rgba(var(--tema-rgb), .12) 55%, rgba(255,255,255,.04) 100%); box-shadow: 0 3px 0 rgba(0,0,0,.55), 0 0 18px rgba(var(--tema-rgb), .3); }
.oc-opc:active:not(:disabled) { transform: translateY(2px); box-shadow: 0 1px 0 rgba(0,0,0,.55), 0 0 12px rgba(var(--tema-rgb), .25); }
.oc-opc:focus-visible { outline: 3px solid #fff; outline-offset: 3px; }
.oc-opc:disabled { cursor: default; }
.oc-letra { flex: 0 0 auto; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; background: rgba(var(--tema-rgb), .18); border: 1.5px solid var(--tema); color: var(--tema); font-weight: 900; font-size: 14px; }
.oc-txt { min-width: 0; overflow-wrap: anywhere; }
.oc-opc.certa { border-color: #00ff6a; background: linear-gradient(120deg, rgba(0,255,106,.38) 0%, rgba(0,255,106,.12) 60%, rgba(255,255,255,.03) 100%); box-shadow: 0 3px 0 rgba(0,0,0,.55), 0 0 24px rgba(0,255,106,.55); }
.oc-opc.certa .oc-letra { color: #000; background: #00ff6a; border-color: #00ff6a; }
.oc-opc.errada { border-color: #ff3131; background: linear-gradient(120deg, rgba(255,49,49,.38) 0%, rgba(255,49,49,.12) 60%, rgba(255,255,255,.03) 100%); box-shadow: 0 3px 0 rgba(0,0,0,.55), 0 0 24px rgba(255,49,49,.55); }
.oc-opc.errada .oc-letra { color: #000; background: #ff3131; border-color: #ff3131; }
.oc-opc.apagada { opacity: .4; }

/* verso: lei completa com o trecho em destaque; titulos e negritos na cor da borda do card */
.oc-cheio .oc-preenchido { color: var(--tema); font-weight: 900; background: rgba(var(--tema-rgb), .16); border-radius: 6px; padding: 0 5px; text-shadow: 0 0 12px rgba(var(--tema-rgb), .5); }
.oc-enganam .label-sessao-hibrida { margin-bottom: 4px; }
.oc-lista { display: grid; gap: 8px; padding-left: 4px; }
.oc-engano { font-size: clamp(14px, 1.7vw, 16px); line-height: 1.5; color: #E0E0E0; overflow-wrap: anywhere; }
.oc-engano b { color: var(--tema); font-weight: 900; }
@media (prefers-reduced-motion: reduce) { .oc-lacuna { animation: none; } }

/* verso: alternativas visíveis para comparar (09/11/2026); a certa em destaque, as outras neutras com o motivo de enganarem */
.oc-comparar { margin-top: 8px; }
.oc-opc.oc-cmp { cursor: default; align-items: flex-start; }
.oc-opc.oc-cmp .oc-letra { margin-top: 1px; }
.oc-opc.oc-cmp.outra { opacity: .9; background: rgba(255,255,255,.04); border-color: rgba(255,255,255,.22); box-shadow: none; }
.oc-opc.oc-cmp.outra .oc-letra { background: rgba(255,255,255,.08); border-color: rgba(255,255,255,.35); color: #D8D8D8; }
.oc-porque { display: block; margin-top: 4px; font-size: .86em; font-weight: 500; line-height: 1.45; color: #D0D0D0; }
.oc-opc.oc-cmp.escolhida-errada { opacity: 1; background: rgba(255,49,49,.10); border-color: rgba(255,49,49,.55); box-shadow: none; }
.oc-opc.oc-cmp.escolhida-errada .oc-letra { background: rgba(255,49,49,.25); border-color: #ff3131; color: #ffb3b3; }
