/* Basis-Layout. Die Elementor-Controls überschreiben das über {{WRAPPER}} (höhere Spezifität). */
.cg-dialog {
  width: min(36rem, calc(100% - 2rem));
  max-height: calc(100% - 2rem);
  padding: 0;
  border: 0;
  border-radius: 8px;
  background: #fff;
  color: inherit;
  text-align: start;
  overflow: auto;
}
.cg-dialog::backdrop { background: rgb(0 0 0 / .5); }
.cg-dialog.cg-preview { position: static; margin: 0 auto; } /* nur im Elementor-Editor */

.cg-inner { position: relative; padding: 2rem; }
.cg-dialog .cg-close {
  position: absolute;
  top: .5rem;
  right: .75rem;
  padding: .25rem;
  border: 0;
  background: none;
  color: inherit;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
}
.cg-title { margin: 0 0 1.5rem; }

.cg-challenge { display: flex; flex-direction: column; gap: 24px; }
.cg-question { display: flex; flex-direction: column; gap: 8px; min-width: 0; margin: 0; padding: 0; border: 0; }
.cg-question legend { padding: 0 0 8px; }
.cg-question label { display: flex; align-items: center; gap: .5em; cursor: pointer; }
.cg-challenge > button { align-self: flex-start; }
.cg-open, .cg-challenge button { cursor: pointer; transition: color .2s, background-color .2s, border-color .2s, opacity .2s; }
.cg-challenge button:disabled { opacity: .6; cursor: wait; }

/* Schritt-Modus. !important ist hier Absicht: Theme/Kit setzen gern display auf Buttons und würden [hidden] aushebeln. */
.cg-inner [hidden] { display: none !important; }
.cg-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 1rem; }
.cg-progress { margin-right: auto; font-size: .875em; opacity: .7; }
.cg-challenge .cg-prev { padding: 0; border: 0; background: none; color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.cg-challenge .cg-next:disabled { cursor: not-allowed; }

/* Abbruch-Hinweis */
.cg-result { display: flex; flex-direction: column; align-items: flex-start; gap: 1.5rem; }
.cg-result-text { margin: 0; }
.cg-done { cursor: pointer; transition: color .2s, background-color .2s, border-color .2s; }
