


body {
  font-family: Arial;
  background:#f5f5f5;
  padding:30px;
}

.container {
  max-width:900px;
  margin:auto;
  background:#fff;
  padding:30px;
}

h1 {
  margin-bottom:20px;
}

.form-row {
  display: flex;
  align-items: flex-start; /* ✅ wichtig für Checkboxen */
  margin-bottom: 15px;
}

.form-row label {
  width: 200px;
  color: #555;
}

/*
.form-row input:not([type="checkbox"]),
.form-row select,
.form-row textarea {
  flex: 1;
  padding: 10px;
  border: 1px solid #ccc;
  background: #f9f9f9;
}
*/

textarea {
  height: 120px;
}

/* =========================
   CHECKBOX (GLOBAL)
   ========================= */


.checkbox-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fafafa;
  cursor: pointer;
  width: 100%;
}

.checkbox-group {
  flex: 1;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}

.checkbox-item:hover {
  background: #f0f0f0;
}

/*.checkbox-item input {
  width: auto;
  flex: 0 0 auto;
  height: 18px;
  margin: 0;
}*/

.checkbox-item input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;    /* ?  */
}

.checkbox-item input:checked + span {
  font-weight: bold;
  color: #d71920;
}

.checkbox-item span {
  flex: 1;
}


/* Titel innerhalb der Box */
.group-title {
  display: block;
  font-size: 13px;
  color: #777;
  margin-bottom: 10px;
}

.row {
  border-top:1px solid #ddd;
  padding-top:10px;
  margin-top:10px;
}

.buttons {
  display:flex;
  justify-content:space-between;
  margin-top:20px;
}

.btn {
  padding:12px 25px;
  border:none;
  cursor:pointer;
}

.btn-back {
  padding:12px 25px;
  border:none;
  cursor:pointer;
}

/* CSS für den einheitlichen Button-Stil */
        .my-button {
            /* Hintergrundfarbe (leichtes Hellgrau) */
            background-color: #e6e6e9;
            /* Rahmen (dünn, dunkelgrau) */
            border: 1px solid #999;
            /* RUNDE ECKEN (exakt wie im Bild) */
            border-radius: 6px;
            
            /* Schrift-Einstellungen */
            color: black;
            font-family: sans-serif;
            font-size: 14px;
            
            /* Innenabstand (Padding) für die Form */
            padding: 8px 16px;
            
            /* Zeiger-Cursor beim Drüberfahren */
            cursor: pointer;
            
            /* Erlaubt das Positionieren von Elementen wie dem Spinner darin */
            position: relative;
            display: inline-flex;
            align-items: center;
            justify-content: center;
        }

        /* Hover-Effekt (optional, macht es lebendiger) */
        .my-button:hover {
            background-color: #dadadb;
            border-color: #777;
        }

        /* Ein einfacher Spinner-Stil (standardmäßig unsichtbar) */
        .my-button .spinner {
            display: none; /* Standardmäßig aus */
            width: 12px;
            height: 12px;
            margin-left: 8px;
            border: 2px solid rgba(0,0,0,0.1);
            border-left-color: #555;
            border-radius: 50%;
            animation: spin 1s linear infinite;
        }

        /* Animation für den Spinner */
        @keyframes spin {
            to { transform: rotate(360deg); }
        }

        /* Eine Hilfsklasse, um den Spinner zu zeigen (z.B. per JavaScript) */
        .my-button.is-loading .spinner {
            display: inline-block;
        }

/* aus gambio */

.btn.btn-default,/* {
  color: #666;
  border-color: #ccc;
  background-color: #f2f2f2;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: auto;
  background-attachment: scroll;
}  */

.btn-block {
  display: block;
  width: 100%;
}
/* ende */

.btn-back {
  border-radius: 8px;
  padding:12px 25px;
  border:none;
  cursor:pointer;
  background:#d71920;
  color:#fff;
} 

.btn-submit {
  background:#d71920;
  color:#fff;
}


 .small-text {
  font-size:12px;
  color:#777;
  margin-left:200px;
}

/* ==============================
   📱 Mobile Optimierung formular
   ============================== */
@media (max-width: 768px) {

  .form-row {
    flex-direction: column;
    align-items: stretch;
  }

  .form-row label {
    width: 100%;
    margin-bottom: 5px;
  }

  .form-row input,
  .form-row select,
  .form-row textarea {
    width: 100%;
  }



/* =========================
   CHECKBOX mobil
   ========================= */


.checkbox-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background: #fafafa;
  cursor: pointer;
  width: 100%; /* 🔥 WICHTIG */
}

.checkbox-item:hover {
  background: #f0f0f0;
}

.checkbox-item input {
  width: 18px;
  height: 18px;
  margin: 0;
  flex-shrink: 0;
}

.checkbox-item span {
  flex: 1;
}


 .checkbox-group {
    grid-template-columns: 1fr; /* 🔥 untereinander statt 2 Spalten */
  }
  .buttons {
    flex-direction: column;
    gap: 10px;
  }

  .btn,
  #submitBtn {
    width: 100%;
  }


.small-text {
  font-size:12px;
  color:#777;
  margin-left:200px;
}
}



/* Button Ladezustand
button.loading {
  background: #999;
  cursor: not-allowed;
}

/* Spinner 
.spinner {
  display: none;
  width: 20px;
  height: 20px;
  border: 3px solid #fff;
  border-top: 3px solid transparent;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-left: 10px;
}

button.loading .spinner {
  display: inline-block;
}

@keyframes spin {
  to { transform: rotate(360deg); }

}
*/