.konfigurator {
	  max-width: 900px;
	  margin: auto;
	  background: #fff;
	  border-radius: 12px;
	  padding: 2rem;
	  box-shadow: 0 4px 20px rgba(0,0,0,0.1);
	}
	.konfigurator h1 {
	  font-size: 2rem;
	  font-weight: bold;
	  margin-bottom: 0.5rem;
	}
	.konfigurator .subtitle {
	  color: #555;
	  margin-bottom: 2rem;
	}
	.konfigurator-step h2 {
	  font-size: 1.5rem;
	  margin-bottom: 0.2rem;
	}
	.konfigurator-step .step-desc {
	  color: #777;
	  margin-bottom: 1.5rem;
	}
    /* === Preisbox Styles === */
    #konfigurator_preisbox {
      position: fixed;
      bottom: 20px;
      right: 20px;
      background-color: #ffffff;
      color: #000000;
      border: 2px solid #007bff;
      border-radius: 10px;
      padding: 12px 20px;
      font-size: 1.2em;
      font-weight: bold;
      box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
      z-index: 9999;
      max-width: 300px;
      display: flex;
      align-items: center;
      justify-content: space-between;
      gap: 10px;
    }
    @media (max-width: 600px) {
      #konfigurator_preisbox {
        left: 10px;
        right: 10px;
        bottom: 10px;
        font-size: 1em;
        padding: 10px 16px;
        flex-direction: column;
        align-items: flex-start;
        gap: 6px;
      }
    }
	
	.options {
	  display: flex;
	  gap: 1rem;
	  flex-wrap: wrap;
	  justify-content: space-between;
	}
	.option-card {
	  flex: 1 1 calc(20% - 1rem);
	  min-width: 220px;
	  background: #fff;
	  border: 2px solid #ddd;
	  border-radius: 12px;
	  text-align: center;
	  padding: 1rem 0.5rem;
	  cursor: pointer;
	  transition: all 0.3s ease;
	}
	.option-card:hover {
	  border-color: #ff9900;
	  transform: translateY(-4px);
	  box-shadow: 0 6px 20px rgba(0,0,0,0.1);
	}
	.option-card.active {
	  border-color: #ff9900;
	  background: #fff7e6;
	}
	.option-card img {
	  max-height: 60px;
	  margin-bottom: 0.5rem;
	}
	.option-title {
	  font-size: 0.9rem;
	  font-weight: 600;
	}
	.navigation {
	  display: flex;
	  align-items: center;
	  justify-content: space-between;
	  margin-top: 2rem;
	}
	.btn {
		padding: 0.8rem 1.5rem;
		font-size: 1rem;
		border: none;
		border-radius: 8px;
		background: linear-gradient(135deg, var(--primary-blue), #0099ff);
		color: var(--white);
		cursor: pointer;
		transition: background 0.3s ease;
	}
	.btn:hover:not(.btn-disabled) {
	  background: linear-gradient(1deg, var(--primary-blue), #0099ff);
	}
	.btn-disabled {
	  background: #ccc;
	  cursor: not-allowed;
	}
	.progress {
	  flex: 1;
	  height: 8px;
	  margin: 0 1rem;
	  background: #eee;
	  border-radius: 4px;
	  overflow: hidden;
	}
	.progress-bar {
	  height: 100%;
	  background: linear-gradient(135deg, var(--primary-blue), #0099ff);
	  width: 0;
	  transition: width 0.3s ease;
	}
	

	.formular_felder {
		padding: 40px;
		background: #ffffff85;
		border-radius: 10px;
	    display: flex;
		flex-wrap: wrap;
		align-content: center;
		min-height: 298px;
	}
	
	.form-group {
		width: 100%;
	}
	
	.ai_header_v2 .ai_header_actions {
		display: flex;
		flex-wrap: nowrap;
		flex-direction: row;
		align-content: center;
		justify-content: center;
		align-items: center;
	}
	
	.formular_felder .color2-button.button {
		margin: 0 auto;
		margin-top: 12px;
	}
	
	.img_upload {
		max-height: unset !important;
	}
	
	.columns.twelve .formular_felder {
		max-width: 580px;
	}
	
	@media screen and (max-width: 990px) {
		.formular_felder {
			margin-top: 40px;
		}
	}