/* ----------------------------------
   Workshop Manager Complete Stylesheet
   Grundfarbe: #004494
---------------------------------- */

/* Farbvariablen */
:root {
  --wm-primary: #004494;
  --wm-primary-light: #3366aa;
  --wm-primary-dark: #00306d;
  --wm-accent: #ffca28;
  --wm-bg: #f5f7fa;
  --wm-text: #333;
  --wm-border: #e0e0e0;
  --wm-radius: 0.25rem;
  --wm-gap: 0.75rem;
  --wm-transition: 0.2s ease;
  --wm-max-width: 720px;
}

/* ----------------------------------
   Allgemeine Container & Basis
---------------------------------- */
.wm-container {
  max-width: var(--wm-max-width);
  margin: var(--wm-gap) auto;
  padding: var(--wm-gap);
  box-sizing: border-box;
}


/* ----------------------------------
   Buttons & Links
---------------------------------- */
button,
input[type="submit"],
a.button {
  display: inline-block;
  background: var(--wm-primary);
  color: #fff !important;
  text-decoration: none;
  border: none;
  padding: 0.5em 1em;
  border-radius: var(--wm-radius);
  cursor: pointer;
  transition: background var(--wm-transition), transform var(--wm-transition);
  font-size: 0.95rem;
}
button:hover,
input[type="submit"]:hover,
a.button:hover {
  background: var(--wm-primary-dark);
  transform: translateY(-1px);
}
button:active,
input[type="submit"]:active,
a.button:active {
  background: var(--wm-primary-light);
  transform: translateY(0);
}

/* ----------------------------------
   Formulare & Eingabefelder
---------------------------------- */
form {
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--wm-gap);
}
input[type="text"],
input[type="email"],
input[type="time"],
textarea,
select {
  width: 100%;
  padding: 0.5em;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  transition: border-color var(--wm-transition);
  box-sizing: border-box;
}
input:focus,
textarea:focus,
select:focus {
  outline: none;
  border-color: var(--wm-primary);
}

/* --- Form-Container --- */
.wm-form-section {
  background: var(--wm-bg-light);
  padding: var(--wm-gap) 2rem;
  border-radius: var(--wm-radius);
  max-width: 800px;
  margin: 0 auto var(--wm-gap);
  box-shadow: 0 2px 6px rgba(0,0,0,0.05);
}

.wm-form-title {
  margin-bottom: var(--wm-gap);
  color: var(--wm-primary);
  font-size: 1.5rem;
  text-align: center;
}

/* --- Form-Grundlayout --- */
.wm-form {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--wm-gap);
}

.wm-form p {
  display: contents;
}

.wm-form label {
  display: block;
  margin-bottom: 0.25rem;
  font-weight: 500;
  color: var(--wm-text);
}

.wm-form input[type="text"],
.wm-form input[type="url"],
.wm-form input[type="time"],
.wm-form .datepicker,
.wm-form textarea {
  width: 98%;
  padding: 0.5rem;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  font-size: 0.95rem;
  background: white;
  color: var(--wm-text);
}

.wm-form textarea {
  resize: vertical;
  min-height: 100px;
}

/* Radiobuttons & Links */
.wm-form .wm-mode-group {
  grid-column: span 2;
  display: flex;
  gap: var(--wm-gap);
}

.wm-form .wm-mode-group label {
  font-weight: 400;
}

/* Slots-Container */
#slots-container {
  grid-column: span 2;
  display: flex;
  flex-direction: column;
  gap: var(--wm-gap);
}

.wm-slot {
  background: white;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  padding: var(--wm-gap);
}

/* Buttons */
.wm-btn {
  display: inline-block;
  font-size: 1rem;
  padding: 0.6rem 1.2rem;
  border: none;
  border-radius: var(--wm-radius);
  cursor: pointer;
  text-align: center;
  transition: background 0.2s ease-in-out, color 0.2s;
}

.wm-btn-primary {
  background-color: var(--wm-primary);
  color: white;
}

.wm-btn-primary:hover {
  background-color: var(--wm-primary-light);
}

/* Spezieller Remove-Slot-Button */
.remove-slot {
  background: #e74c3c;
  color: white;
  align-self: start;
}

.remove-slot:hover {
  background: #c0392b;
}

/* Error-Meldung */
.wm-error {
  grid-column: span 2;
  padding: 0.75rem;
  background: #fdecea;
  color: #b71c1c;
  border: 1px solid #f5c6cb;
  border-radius: var(--wm-radius);
  margin-bottom: var(--wm-gap);
}

/* --- Responsiveness --- */
@media (max-width: 768px) {
  .wm-form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 480px) {
  .wm-form-section {
    padding: var(--wm-gap);
  }
  .wm-form-title {
    font-size: 1.25rem;
  }
  .wm-btn {
    width: 100%;
  }
}
:root {
  --wm-primary: #004494;
  --wm-border: #cdd5dd;
  --wm-bg: #f5faff;
  --wm-alt-bg: #e8f0fc;
  --wm-text: #1a1a1a;
}

/* Übersichtstabelle [wm_overview] */
.wm-overview {
  width: 100%;
  border-collapse: collapse;
  margin-bottom: var(--wm-gap, 1.5em);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  font-family: Arial, sans-serif;
  background: white;
}

.wm-overview th,
.wm-overview td {
  padding: 0.75em 1em;
  border-bottom: 1px solid var(--wm-border);
  font-size: 0.95rem;
  color: var(--wm-text);
}

.wm-overview th {
  background-color: var(--wm-primary);
  color: white;
  text-align: left;
  font-weight: 600;
}

.wm-overview tr:nth-child(even) {
  background-color: var(--wm-alt-bg);
}

.wm-overview tr:hover {
  background-color: var(--wm-bg);
}

.wm-overview tr:last-child td {
  border-bottom: none;
}

/* Optional: Buttons in der Übersicht */
.wm-overview .button {
  display: inline-block;
  padding: 0.4em 0.8em;
  background-color: var(--wm-primary);
  color: white;
  text-decoration: none;
  border-radius: 4px;
  font-size: 0.85rem;
  transition: background-color 0.2s ease-in-out;
}

.wm-overview .button:hover {
  background-color: darken(var(--wm-primary), 10%);
}

/* Copy-Link-Button speziell */
.copy-link-btn {
  background-color: var(--wm-primary);
  color: white;

}

.copy-link-btn:hover {

  color: var(--wm-primary);
  


  cursor: pointer;
  transition: background-color 0.2s;
}

.wm-accordion-item summary::after {
  content: "▸";
  position: absolute;
  right: 1em;
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s ease-in-out;
}
/* Pfeil rotieren, wenn geöffnet */
.wm-accordion-item[open] summary::after {
  transform: translateY(-50%) rotate(90deg);
}

/* Accordion-Kopf */
.wm-accordion-item summary {
  background-color: var(--wm-primary); /* #004494 */
  color: white;
  padding: 0.75em 1em;
  border-radius: 4px;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  list-style: none; /* Standard-Pfeil ausblenden */
  margin-bottom: 0.5em;
}

/* Standard-Markierung entfernen */
.wm-accordion-item summary::-webkit-details-marker,
.wm-accordion-item summary::marker {
  display: none;
}



/* Text einrücken, damit Platz für den Pfeil ist */
.wm-accordion-item summary > * {
  margin-left: 1.5em;
}

/* Pfeil rotieren, wenn geöffnet */
.wm-accordion-item[open] summary::before {
  transform: translateY(-50%) rotate(90deg);
}
.wm-accordion-item {
  margin-bottom:5px;
}

/* ----------------------------------
   Bearbeiten [wm_manage]
---------------------------------- */
.wm-manage {
  margin-bottom: var(--wm-gap);
}
.wm-manage h2 {
  margin-bottom: var(--wm-gap);
  font-size: 1.25rem;
  color: var(--wm-primary);
}

/* ----------------------------------
   Workshop Details & Anmeldung
   [wm_anmeldung] / [wm_workshop]
---------------------------------- */
.wm-workshop {
  margin-bottom: var(--wm-gap);
  background: var(--wm-bg);
  border-radius: var(--wm-radius);
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
  padding: var(--wm-gap);
}
.wm-workshop h2 {
  margin-top: 0;
  font-size: 1.5rem;
  color: var(--wm-primary);
}
.wm-workshop p {
  margin: var(--wm-gap) 0;
  line-height: 1.4;
}
.wm-workshop .wm-slots {
  list-style: none;
  padding: 0;
  margin: var(--wm-gap) 0;
  display: grid;
  gap: var(--wm-gap);
}
.wm-workshop .wm-slots li {
  background: #fff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  padding: var(--wm-gap);
  font-size: 0.95rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  gap: 0.5em;
}
.wm-workshop .wm-slots li strong {
  color: var(--wm-primary-dark);
}
#wм-register-btn {
  margin-top: var(--wm-gap);
}
#wm-register-form {
  margin-top: var(--wm-gap);
  background: #fff;
  padding: var(--wm-gap);
  border-radius: var(--wm-radius);
  box-shadow: 0 2px 4px rgba(0,0,0,0.05);
}
#wm-register-form label {
  display: block;
  margin-bottom: 0.5em;
}
.wm-register-success {
  margin-top: var(--wm-gap);
  padding: var(--wm-gap);
  background: #e8ffe8;
  border: 1px solid #8cd98c;
  border-radius: var(--wm-radius);
  font-weight: 600;
  color: #2d662d;
}

/* ----------------------------------
   Modal & Overlay
---------------------------------- */
.wm-overlay {
  position: fixed;
  top: 0; left: 0;
  width: 100%; height: 100%;
  background: rgba(0,0,0,0.4);
  z-index: 999;
  display: none;
}
#wm-email-modal {
  position: fixed;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  padding: var(--wm-gap);
  border-radius: var(--wm-radius);
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  z-index: 1000;
  display: none;
}
#wm-email-modal form p {
  margin-bottom: var(--wm-gap);
}

/* ----------------------------------
   Responsive Anpassungen
---------------------------------- */
/* Tablets */
@media (max-width: 768px) {
  .wm-overview th,
  .wm-overview td {
    padding: 0.4em;
    font-size: 0.9rem;
  }
  button,
  input[type="submit"],
  a.button {
    padding: 0.4em 0.8em;
  }
}

/* Smartphones */
@media (max-width: 480px) {
  .wm-overview thead {
    display: none;
  }
  .wm-overview tr {
    display: block;
    margin-bottom: var(--wm-gap);
    border-bottom: 1px solid var(--wm-border);
  }
  .wm-overview td {
    display: flex;
    justify-content: space-between;
    padding: 0.5em 0;
    font-size: 0.9rem;
  }
  .wm-overview td::before {
    content: attr(data-label);
    font-weight: 600;
    margin-right: 0.5em;
  }
}
/* ----------------------------------
   wm_workshop – Header & Überschriften
---------------------------------- */
.wm-workshop-header {
  display: grid;
  grid-gap: var(--wm-gap);
  margin-bottom: var(--wm-gap);
}
.wm-workshop-title {
  font-size: 1.75rem;
  margin: 0;
  color: var(--wm-primary);
  line-height: 1.2;
}
.wm-workshop-desc {
  font-size: 1rem;
  color: var(--wm-text);
}
.wm-workshop-dates {
  display: flex;
  align-items: center;
  gap: 0.5em;

  color: var(--wm-primary-dark);
}
.wm-workshop-dates time {
  display: inline-block;
}

/* ----------------------------------
   wm_workshop – Slots Sektion & Überschrift
---------------------------------- */
.wm-workshop-slots {
  margin-top: var(--wm-gap);
}
.wm-workshop-slots::before {

  display: block;
  font-size: 1.25rem;
  color: var(--wm-primary);
  margin-bottom: 0.5em;
}
.wm-workshop-slot {
  background: #fff;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  padding: var(--wm-gap);
  display: grid;
  grid-template-columns: auto 1fr;
  grid-gap: var(--wm-gap);
  align-items: start;
}
.slot-time {
  font-weight: 600;
  color: var(--wm-primary-dark);
}
.slot-title {
  margin: 0;
  font-size: 1rem;
  color: var(--wm-text);
}
.slot-content {
  font-size: 0.95rem;
  color: var(--wm-text);
  grid-column: 1 / -1;
}

/* ----------------------------------
   wm_workshop – Anmelde-Sektion
---------------------------------- */
.wm-register-section {
  margin-top: var(--wm-gap);
  background: var(--wm-bg-alt);
  border-radius: var(--wm-radius);
  padding: var(--wm-gap);
}
.wm-register-section::before {
  
  display: block;
  font-size: 1.25rem;
  color: var(--wm-primary);
  margin-bottom: 0.5em;
}
.wm-register-btn {
  width: 100%;
  text-align: center;
  font-size: 1rem;
}
.wm-register-form {
  margin-top: var(--wm-gap);
}
.wm-field {
  margin-bottom: var(--wm-gap);
}
.wm-actions {
  text-align: right;
}

/* ----------------------------------
   wm_workshop – Status-Meldungen
---------------------------------- */
.wm-register-status {
  margin-top: var(--wm-gap);
  padding: var(--wm-gap);
  border-radius: var(--wm-radius);
  font-weight: 600;
  text-align: center;
}
.wm-register-status.wm-already {
  background: #fff7e6;
  border: 1px solid #ffbb66;
  color: #aa5500;
}
.wm-register-status.wm-success {
  background: #e8ffe8;
  border: 1px solid #8cd98c;
  color: #2d662d;
}
.wm-error {
  color: #e74c3c;
  background: #fdecea;
  border: 1px solid #f5c2c0;
  padding: var(--wm-gap);
  border-radius: var(--wm-radius);
  margin-bottom: var(--wm-gap);
}

/* ----------------------------------
   Anmelde-Formular Inputs
---------------------------------- */
.wm-register-form input[type="text"],
.wm-register-form input[type="email"] {
  width: 100%;
  padding: 0.5em;
  border: 1px solid var(--wm-border);
  border-radius: var(--wm-radius);
  transition: border-color var(--wm-transition);
}
.wm-register-form input:focus {
  border-color: var(--wm-primary);
  outline: none;
}

/* ----------------------------------
   Responsive Feinschliff
---------------------------------- */
@media (max-width: 600px) {
  .wm-workshop-slot {
    grid-template-columns: 1fr;
  }
  .wm-workshop-dates {
    flex-direction: column;
    align-items: flex-start;
  }
}



/* Container */
.wm-future-accordion {
  max-width: 800px;
  margin: 0 auto var(--wm-gap);
  background: var(--wm-bg);
  border-radius: var(--wm-radius);
  overflow: hidden;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}

/* Header */
.wm-future-accordion h3 {
  margin: 0;
  padding: 1rem var(--wm-gap);
  font-size: 1.1rem;
  font-weight: 600;
  cursor: pointer;
  position: relative;
  transition: background 0.2s;
}
.wm-future-accordion h3::after {
  content: "▸";
  position: absolute;
  right: var(--wm-gap);
  top: 50%;
  transform: translateY(-50%);
  transition: transform 0.2s;
}
.wm-future-accordion h3.ui-state-active::after {
  transform: translateY(-50%) rotate(90deg);
}

/* Status colors */
.wm-future-accordion h3.not-registered {
  background: var(--wm-primary);
  color: #fff;
}
.wm-future-accordion h3.not-registered:hover {
  background: var(--wm-primary-light);
}
.wm-future-accordion h3.registered {
  background: var(--wm-registered);
  color: var(--wm-registered-text);
}
.wm-future-accordion h3.registered:hover {
  background: #fdd835;
}

/* Content */
.wm-future-accordion .ui-accordion-content {
  padding: 1rem var(--wm-gap);
  border-top: 1px solid var(--wm-border);
  background: #fff;
  animation: fadeIn 0.2s ease-in;
}
@keyframes fadeIn {
  from { opacity: 0; transform: translateY(-5px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Layout inside content */
.wm-future-accordion p {
  margin: 0.5em 0;
  font-size: 0.95rem;
  line-height: 1.4;
}
.wm-future-accordion p strong {
  display: inline-block;
  width: 6.5em;
  font-weight: 600;
  color: var(--wm-text);
}

/* Slots list */
.wm-workshop-slots ul {
  list-style: none;
  padding: 0;
  margin: 0.5em 0 0;
}
.wm-workshop-slots ul li {
  padding: 0.5em 0;
  border-bottom: 1px solid var(--wm-border);
  font-size: 0.9rem;
}
.wm-workshop-slots ul li:last-child {
  border-bottom: none;
}

/* Button */
.wm-teilnehmen-btn {
  display: inline-block;
  background: var(--wm-primary);
  color: #fff;
  padding: 0.5em 1em;
  border-radius: var(--wm-radius);
  text-decoration: none;
  font-size: 0.95rem;
  margin-top: 1em;
  transition: background 0.2s;
}
.wm-teilnehmen-btn:hover {
  background: var(--wm-primary-light);
}

/* Responsive */
@media (max-width: 600px) {
  .wm-future-accordion h3 {
    font-size: 1rem;
    padding: 0.75rem var(--wm-gap);
  }
  .wm-future-accordion .ui-accordion-content {
    padding: 0.75rem var(--wm-gap);
  }
  .wm-future-accordion p strong {
    display: block;
    width: auto;
    margin-bottom: 0.25em;
  }
  .wm-workshop-slots ul li {
    font-size: 0.9rem;
  }
  .wm-teilnehmen-btn {
    width: 100%;
    text-align: center;
  }
}



/* Dialog-Rahmen und Hintergrund */
#wm-confirm-dialog.ui-dialog {
  border: 2px solid #004494 !important;
  background: #f9f9f9 !important;
}

/* Titel-Leiste */
#wm-confirm-dialog .ui-dialog-titlebar {
  background: #004494 !important;
  color: #ffffff !important;
  border-bottom: 1px solid #002966 !important;
}

/* Titel-Text */
#wm-confirm-dialog .ui-dialog-title {
  font-weight: 600;
  font-size: 1rem;
}

/* Schließen-Button (X) */
#wm-confirm-dialog .ui-dialog-titlebar-close {
  background: transparent !important;
  color: #ffffff !important;
}
#wm-confirm-dialog .ui-dialog-titlebar-close:hover {
  color: #ffdddd !important;
}

/* Inhalt */
#wm-confirm-dialog .ui-dialog-content {
  padding: 1em !important;
  font-size: 0.95rem;
  color: #333;
}

/* Button-Leiste */
#wm-confirm-dialog .ui-dialog-buttonpane {
  background: #f9f9f9 !important;
  border-top: 1px solid #ccc !important;
  padding: 0.5em !important;
  text-align: right;
}

/* Buttons */
#wm-confirm-dialog .ui-dialog-buttonpane button {
  background: #004494 !important;
  color: #fff !important;
  border: none !important;
  padding: 0.5em 1em !important;
  font-size: 0.9rem !important;
  border-radius: 3px !important;
  margin-left: 0.5em !important;
}
#wm-confirm-dialog .ui-dialog-buttonpane button:hover {
  background: #003366 !important;
}



/* Container & Überschrift */
.wm-manage {
  max-width: 800px;
  margin: 2em auto;
  padding: 1.5em;
  background: #ffffff;
  border: 1px solid #ddd;
  border-radius: 6px;
}
.wm-manage h2 {
  font-size: 1.75rem;
  margin-bottom: 1em;
  color: #004494;
}

/* Hinweise & Fehlermeldungen */
.wm-manage .wm-info,
.wm-manage .wm-error {
  padding: 0.75em 1em;
  border-radius: 4px;
  margin-bottom: 1em;
  font-size: 0.95rem;
}
.wm-manage .wm-info {
  background: #e7f3ff;
  border: 1px solid #b3d4fc;
  color: #004494;
}
.wm-manage .wm-error {
  background: #fdecea;
  border: 1px solid #f5c6cb;
  color: #b82222;
}

/* Formularabstände */
.wm-manage form p {
  margin-bottom: 0;
}
.wm-manage label {
  display: block;
  font-weight: 600;
  margin-bottom: 0.25em;
}

/* Inputs & Textareas */
.wm-manage input[type="text"],
.wm-manage input[type="url"],
.wm-manage .datepicker,
.wm-manage input[type="time"],
.wm-manage textarea {
  width: 100%;
  padding: 0.5em;
  border: 1px solid #ccc;
  border-radius: 4px;
  font-size: 1rem;
  box-sizing: border-box;
}
.wm-manage input[disabled],
.wm-manage textarea[disabled] {
  background: #f5f5f5;
  cursor: not-allowed;
}

/* Slot-Container */
#windowslots-container, .wm-manage #slots-container {
  margin-top: 1.5em;
}
.wm-manage .wm-slot {
  background: #fafafa;
  border: 1px solid #eee;
  border-radius: 4px;
  padding: 0.75em;
  margin-bottom: 1em;
}
.wm-manage .wm-slot p {
  margin-bottom: 0.5em;
  font-size: 0.95rem;
}

/* Remove-Slot Button */
.wm-manage .remove-slot {
  background: #e53e3e;
  color: #fff;
  border: none;
  padding: 0.3em 0.6em;
  border-radius: 3px;
  cursor: pointer;
  font-size: 0.85rem;
}
.wm-manage .remove-slot:hover {
  background: #b22a2a;
}

/* Add-Slot Button */
.wm-manage #add-slot {
  background: #004494;
  color: #fff;
  border: none;
  padding: 0.5em 1em;
  border-radius: 4px;
  cursor: pointer;
  font-size: 0.95rem;
}
.wm-manage #add-slot:hover {
  background: #003366;
}

/* Submit-Button */
.wm-manage input[type="submit"] {
  background: #004494;
  color: #fff;
  border: none;
  padding: 0.6em 1.2em;
  border-radius: 4px;
  cursor: pointer;
  font-size: 1rem;
}
.wm-manage input[type="submit"]:hover {
  background: #003366;
}

/* Responsive */
@media (max-width: 600px) {
  .wm-manage {
    padding: 1em;
  }
}
/* ---------- Kompakteres Manage-Formular ---------- */
.wm-manage {
  padding: 1em;
  background: #fff;
  border: 1px solid #ddd;
  border-radius: 4px;
}

/* Reduziere Abstand zwischen Absätzen */
.wm-manage p {
  margin: 0;
  padding:0;
}

/* Labels direkt über den Inputs, minimaler Abstand */
.wm-manage label {
  display: block;
  margin-bottom: 0.25em;
  font-weight: 600;
}

/* Eingabefelder kompakt */
.wm-manage input[type="text"],
.wm-manage input[type="url"],
.wm-manage input[type="time"],
.wm-manage .datepicker,
.wm-manage textarea {
  margin-bottom: 0.5em;
  padding: 0.4em;
  font-size: 0.95rem;
}

/* Fieldsets (Slots) etwas enger**
#slots-container h4 {
  margin: 0.75em 0 0.5em;
}
.wm-slot {
  margin-bottom: 0.5em;
  padding-bottom: 0.5em;
  border-bottom: 1px solid #eee;
}
.wm-slot p {
  margin: 0.3em 0;
}

/* Verkleinere Button-Abstände */
.wm-manage button,
.wm-manage input[type="submit"] {
  margin-top: 0.5em;
  padding: 0.4em 0.8em;
  font-size: 0.95rem;
}
