/* === Backdrop ============================================== */
.cmk-nl-dialog::backdrop { background: rgba(0,0,0,.45); }

/* === Dialog-Box ============================================= */
.cmk-nl-dialog {
  border: none;
  border-radius: 16px;
  padding: 0;
  width: min(640px, 92vw);
  max-height: 90vh;
  overflow: auto;
  background: #fff;
  color: #111;
  box-shadow: 0 20px 60px rgba(0,0,0,.25);
}

/* === Inhalt ================================================= */
.cmk-nl-modal { position: relative; padding: 1rem 1rem 1.25rem; }
#cmk-nl-title { margin: .25rem 2rem 1rem .25rem; font-size: 1.25rem; }

/* === Close-Button ========================================== */
.cmk-nl-close {
  position: absolute;
  top: .4rem; right: .5rem;
  background: transparent; border: 0; cursor: pointer;
  font-size: 2rem; line-height: 1;
}

/* === Body/Footer =========================================== */
.cmk-nl-body { margin-top: .5rem; }
.cmk-nl-footer { display: flex; justify-content: flex-end; gap: .5rem; margin-top: 1rem; }

/* === Body fix bei offenem Modal ============================ */
body.cmk-nl-noscroll { overflow: hidden; }

/* === Dark Mode ============================================= */
@media (prefers-color-scheme: dark) {
  .cmk-nl-dialog { background: #161616; color: #f2f2f2; }
}

/* === Formular-Breite im Modal ============================== */
.cmk-nl-dialog .cmk-form input,
.cmk-nl-dialog .cmk-form select,
.cmk-nl-dialog .cmk-form textarea {
  width: 100%;
  max-width: 100%;
}

/* === Dark-Mode-Felder (falls Formular kein eigenes Dark-Theme hat) */
@media (prefers-color-scheme: dark) {
  .cmk-nl-dialog .cmk-form input,
  .cmk-nl-dialog .cmk-form select,
  .cmk-nl-dialog .cmk-form textarea {
    background: #111; color: #e6e6e6;
  }
}
/* === Close-Button: klare Kontraste & Theme-Overrides ========== */
.cmk-nl-dialog .cmk-nl-close{
  position:absolute; top:.4rem; right:.5rem;
  display:grid; place-items:center;
  width:38px; height:38px;
  background:transparent !important;
  color:inherit !important;
  border:none !important; outline:none;
  cursor:pointer; border-radius:10px;
}
.cmk-nl-dialog .cmk-nl-close:hover{ background:rgba(0,0,0,.08) !important; }
@media (prefers-color-scheme: dark){
  .cmk-nl-dialog .cmk-nl-close:hover{ background:rgba(255,255,255,.08) !important; }
}

/* === Open-Button (Shortcode-Button) hübsch ==================== */
.cmk-nl-open{
  display:inline-flex; align-items:center; justify-content:center; gap:.5rem;
  padding:.7rem 1.1rem; border-radius:999px;
  border:1px solid transparent; background:#222; color:#fff; font-weight:700;
  box-shadow:0 2px 0 rgba(0,0,0,.12);
  transition:transform .02s ease, box-shadow .2s ease, background .2s ease;
}
.cmk-nl-open:hover{ transform:translateY(-1px); box-shadow:0 6px 14px rgba(0,0,0,.18); }
.cmk-nl-open:focus-visible{ outline:2px solid currentColor; outline-offset:2px; }
@media (prefers-color-scheme: dark){
  .cmk-nl-open{ background:#e8e8e8; color:#111; }
}

/* === Formular im Modal: 100% Breite, labels block ============= */
.cmk-nl-dialog .cmk-phplist *{ box-sizing:border-box; }

.cmk-nl-dialog .cmk-phplist label{
  display:block; font-weight:600; margin-bottom:.25rem;
}

/* volle Breite + harte Overrides gegen Theme-Styles */
.cmk-nl-dialog .cmk-phplist input[type=text],
.cmk-nl-dialog .cmk-phplist input[type=email],
.cmk-nl-dialog .cmk-phplist input[type=tel],
.cmk-nl-dialog .cmk-phplist input[type=url],
.cmk-nl-dialog .cmk-phplist input[type=password],
.cmk-nl-dialog .cmk-phplist textarea,
.cmk-nl-dialog .cmk-phplist select{
  display:block;
  width:100% !important;
  max-width:100% !important;
  padding:.75rem;
  border:1px solid #ccc; border-radius:12px;
  background:#fff; color:inherit;
}

/* Reihenabstände */
.cmk-nl-dialog .cmk-phplist .cmk-row,
.cmk-nl-dialog .cmk-phplist .form-row,
.cmk-nl-dialog .cmk-phplist p{ margin:0 0 .85rem 0; }

/* Submit im Modal hübsch, auch wenn phpList keinen Klassennamen setzt */
.cmk-nl-dialog .cmk-phplist input[type=submit],
.cmk-nl-dialog .cmk-phplist button[type=submit]{
  display:inline-flex; align-items:center; justify-content:center;
  padding:.75rem 1.1rem; border-radius:999px; border:0;
  font-weight:700; background:#222; color:#fff;
  box-shadow:0 2px 0 rgba(0,0,0,.15);
  transition:transform .02s ease, box-shadow .2s ease, background .2s ease;
}
.cmk-nl-dialog .cmk-phplist input[type=submit]:hover,
.cmk-nl-dialog .cmk-phplist button[type=submit]:hover{
  transform:translateY(-1px); box-shadow:0 6px 14px rgba(0,0,0,.25);
}
.cmk-nl-dialog .cmk-phplist input[type=submit]:focus-visible,
.cmk-nl-dialog .cmk-phplist button[type=submit]:focus-visible{
  outline:2px solid currentColor; outline-offset:2px;
}

/* Dark-Mode für Felder & Submit */
@media (prefers-color-scheme: dark){
  .cmk-nl-dialog .cmk-phplist input[type=text],
  .cmk-nl-dialog .cmk-phplist input[type=email],
  .cmk-nl-dialog .cmk-phplist input[type=tel],
  .cmk-nl-dialog .cmk-phplist input[type=url],
  .cmk-nl-dialog .cmk-phplist input[type=password],
  .cmk-nl-dialog .cmk-phplist textarea,
  .cmk-nl-dialog .cmk-phplist select{
    background:#111; color:#eee; border-color:#333;
  }
  .cmk-nl-dialog .cmk-phplist input[type=submit],
  .cmk-nl-dialog .cmk-phplist button[type=submit]{
    background:#e8e8e8; color:#111;
  }
}

/* Honeypot, falls vorhanden */
.cmk-nl-dialog .cmk-phplist .hp{ position:absolute !important; left:-9999px !important; }
