.bewertung-container{max-width:900px;margin:2rem auto 4rem;padding:0 20px}
.intro-section{background-color:var(--off-white);padding:2rem;border-radius:8px;margin-bottom:2rem;border-left:4px solid var(--primary-color);box-shadow:var(--shadow-light)}
.disclaimer{background-color:#d5e8c5;border-left:4px solid #a4c768;padding:1rem;border-radius:4px;margin:1.5rem 0;font-size:.9rem}
.wizard-container{background-color:var(--white);border-radius:8px;box-shadow:var(--shadow-medium);overflow:hidden;position:relative}
.wizard-progress{display:flex;justify-content:space-between;padding:1rem 1.5rem;background-color:#f5f5f5;border-bottom:1px solid #e0e0e0}
.step{display:flex;flex-direction:column;align-items:center;position:relative;flex:1}
.step:not(:last-child)::after{content:'';position:absolute;top:14px;left:50%;width:100%;height:2px;background-color:#e0e0e0;z-index:1}
.step.active:not(:last-child)::after,.step.completed:not(:last-child)::after{background-color:var(--primary-color)}
.step-number{width:30px;height:30px;border-radius:50%;background-color:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:700;margin-bottom:5px;position:relative;z-index:2}
.step.active .step-number,.step.completed .step-number{background-color:var(--primary-color);color:#fff}
.step-label{font-size:.8rem;color:#666;text-align:center}
.step.active .step-label{color:var(--dark-color);font-weight:700}
.wizard-step{padding:2rem;min-height:300px}
.wizard-step h2{margin-top:0;font-size:1.6rem;margin-bottom:1.5rem}
.property-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.5rem;margin:2rem 0}
.property-type-card{border:2px solid #eaeaea;border-radius:8px;padding:1.5rem;text-align:center;cursor:pointer;transition:.2s}
.property-type-card:hover{border-color:var(--primary-color);box-shadow:var(--shadow-light)}
.property-type-card.selected{border-color:var(--primary-color);background-color:rgba(164,199,104,.1);box-shadow:var(--shadow-light)}
.property-icon{font-size:2.5rem;margin-bottom:1rem}
.property-type-card h3{margin:.5rem 0;font-size:1.2rem}
.property-type-card p{font-size:.9rem;color:#777;margin:0}
.rating-selector{display:flex;justify-content:space-between;margin:1rem 0}
.rating-option{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:.75rem .5rem;border-radius:6px;transition:.2s;flex:1;border:1px solid transparent}
.rating-option:hover{background-color:#f5f5f5}
.rating-option.selected{background-color:rgba(164,199,104,.1);border-color:var(--primary-color)}
.rating-icon{font-size:1.5rem;margin-bottom:.5rem;color:gold}
.rating-label{font-size:.8rem;text-align:center}
.form-row{display:flex;gap:20px;margin-bottom:1.5rem}
.form-group{flex:1;margin-bottom:1.5rem}
.form-group label{display:block;font-weight:700;margin-bottom:.5rem;color:var(--dark-color)}
.form-hint{font-size:.8rem;color:#666;margin-top:.25rem}
.form-group input,.form-group select{width:100%;padding:.8rem;border:1px solid #ddd;border-radius:4px;font-family:Lato,sans-serif;font-size:1rem}
.form-group input:focus,.form-group select:focus{border-color:var(--primary-color);outline:0;box-shadow:0 0 0 3px rgba(164,199,104,.2)}
.number-selector{display:flex;align-items:center;width:100%;border:1px solid #ddd;border-radius:4px;overflow:hidden}
.number-selector button{width:40px;height:42px;border:none;background-color:#f5f5f5;font-size:1.5rem;cursor:pointer;transition:background-color .2s}
.number-selector button:hover{background-color:#e0e0e0}
.number-selector input{flex:1;text-align:center;padding:.5rem;border:none;font-size:1rem;appearance:textfield;-moz-appearance:textfield}
.number-selector input::-webkit-inner-spin-button,.number-selector input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}
.toggle-group{margin-bottom:2rem;border:1px solid #eaeaea;border-radius:8px;overflow:hidden}
.toggle-title{padding:1rem;background-color:#f5f5f5;font-weight:700;border-bottom:1px solid #eaeaea}
.feature-toggle{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #f5f5f5;cursor: pointer;}
.feature-toggle:last-child{border-bottom:none}
.feature-toggle label{flex-grow:1;margin-right:10px;cursor:pointer;user-select:none;padding: 5px 0;}
.toggle-switch{
    position:relative;
    display:inline-block;
    width:50px;
    height:24px;
    user-select: none;
}
.toggle-switch input{
    position: absolute;
    opacity:0;
    width:100%;
    height:100%;
    left: 0;
    top: 0;
    cursor:pointer;
    z-index: 2;
    margin: 0;
}
.slider{
    position:absolute;
    pointer-events: none;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background-color:#ccc;
    transition:.4s;
    border-radius:24px;
}
.slider:before{
    position:absolute;
    content:"";
    height:16px;
    width:16px;
    left:4px;
    bottom:4px;
    background-color:#fff;
    transition:.4s;
    border-radius:50%;
    pointer-events: none;
}
input:checked+.slider{
    background-color:var(--primary-color);
}
input:focus+.slider{
    box-shadow:0 0 1px var(--primary-color);
}
input:checked+.slider:before{
    transform:translateX(26px);
}
.wizard-controls{display:flex;justify-content:space-between;margin-top:2rem;padding-top:1.5rem;border-top:1px solid #eaeaea}
.back-button,.next-button{padding:.75rem 1.5rem;border-radius:4px;font-weight:700;cursor:pointer;transition:.2s}
.back-button{background-color:transparent;border:1px solid #ccc;color:#666}
.back-button:hover{background-color:#f5f5f5;color:#333}
.next-button{background-color:var(--primary-color);color:#fff;border:none}
.next-button:hover{background-color:#93b252}
.next-button:disabled{background-color:#ccc;cursor:not-allowed}
.result-loader{text-align:center;padding:3rem 1rem}
.loader{border:5px solid #f3f3f3;border-top:5px solid var(--primary-color);border-radius:50%;width:60px;height:60px;animation:1.5s linear infinite spin;margin:0 auto 2rem}
@keyframes spin{
0%{transform:rotate(0)}
100%{transform:rotate(360deg)}
}
.calculation-status{color:#666;font-style:italic}
.estimated-value{background-color:var(--primary-color);color:#fff;padding:2rem;border-radius:8px;text-align:center;margin:2rem 0;box-shadow:var(--shadow-medium)}
.value-range{display:flex;justify-content:center;align-items:center;gap:1rem;margin-bottom:.5rem}
.value-max,.value-min{font-size:2rem;font-weight:800}
.value-separator{font-size:1.2rem}
.value-info{font-size:1rem;opacity:.8}
.result-details{margin:2rem 0}
.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}
.detail-item{background-color:#f9f9f9;padding:1rem;border-radius:6px}
.detail-label{font-size:.8rem;color:#666;margin-bottom:.3rem}
.detail-value{font-weight:700}
.next-steps-section{margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #eaeaea}
.action-buttons{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-top:1.5rem}
.cta-button{display:flex;align-items:center;padding:1.25rem;border-radius:8px;text-decoration:none;transition:.2s}
.cta-button.primary{background-color:var(--primary-color);color:#fff}
.cta-button.primary:hover{background-color:#93b252;box-shadow:var(--shadow-light)}
.cta-button.secondary{background-color:var(--light-blue);color:#fff}
.cta-button.secondary:hover{background-color:#7991aa;box-shadow:var(--shadow-light)}
.cta-button.tertiary{background-color:#f5f5f5;color:var(--dark-color);border:1px solid #e0e0e0}
.cta-button.tertiary:hover{background-color:#e8e8e8;box-shadow:var(--shadow-light)}
.button-icon{margin-right:1rem;font-size:1.5rem}
.button-content{display:flex;flex-direction:column}
.button-title{font-weight:700;margin-bottom:.2rem}
.button-description{font-size:.8rem;opacity:.9}
.email-dialog{position:fixed;top:0;left:0;width:100%;height:100%;background-color:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;z-index:1000}
.dialog-content{background-color:#fff;padding:2rem;border-radius:8px;width:90%;max-width:500px;box-shadow:var(--shadow-medium)}
.dialog-buttons{display:flex;justify-content:flex-end;gap:1rem;margin-top:1.5rem}
.cancel-button{padding:.75rem 1.5rem;border:1px solid #ccc;background-color:transparent;border-radius:4px;cursor:pointer}
.submit-button{padding:.75rem 1.5rem;background-color:var(--primary-color);color:#fff;border:none;border-radius:4px;cursor:pointer}
.privacy-consent{display:flex;align-items:flex-start;gap:.5rem}
.privacy-consent input{margin-top:.2rem}
.privacy-consent label{font-weight:400;font-size:.9rem}
.progress-container{position:fixed;top:0;z-index:1000;width:100%;background-color:transparent;height:6px}
.progress-bar{height:100%;background-color:var(--primary-color);width:0%;transition:width .3s}
@media (max-width:768px){
.property-type-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.form-row{flex-direction:column;gap:0}
.rating-selector{flex-wrap:wrap;gap:.5rem}
.rating-option{min-width:60px}
.wizard-progress{padding:.5rem}
.step-label{display:none}
.step:not(:last-child)::after{width:calc(100% - 15px);left:60%}
.wizard-step{padding:1.5rem}
.value-max,.value-min{font-size:1.5rem}
.action-buttons{grid-template-columns:1fr}
}