.ms-loading-state{display: flex; align-items: center; justify-content: center; flex-direction: column; gap: 1rem; padding: 4rem 2rem; color: var(--gray-light); font-family: var(--font-display); font-size: 0.85rem; letter-spacing: 0.08em; text-transform: uppercase;}
.ms-loading-spinner{width: 40px; height: 40px; border: 3px solid rgba(213,83,37,0.2); border-top-color: var(--orange); border-radius: 50%; animation: ms-spin 0.8s linear infinite;}
.ms-error-state{display: none; padding: 2rem; background: rgba(220,53,69,0.1); border: 1px solid #dc3545; border-radius: 8px; color: #ff8b94; font-size: 0.9rem; text-align: center;}
.ms-error-state.show{display: block;}
.ms-progress{display: flex; align-items: center; gap: 0; margin: 2.5rem 0 2rem; position: relative;}
.ms-progress::before{content: ''; position: absolute; top: 18px; left: 0; right: 0; height: 2px; background: var(--border); z-index: 0;}
.ms-step-indicator{display: flex; flex-direction: column; align-items: center; flex: 1; position: relative; z-index: 1;}
.ms-step-dot{width: 36px; height: 36px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.15); background: var(--dark); display: flex; align-items: center; justify-content: center; font-family: var(--font-display); font-size: 0.85rem; font-weight: 700; color: var(--gray-light); transition: all 0.3s ease; cursor: default;}
.ms-step-indicator.active .ms-step-dot{border-color: var(--orange); background: var(--orange); color: var(--white); box-shadow: 0 0 0 4px rgba(213,83,37,0.2);}
.ms-step-indicator.done .ms-step-dot{border-color: var(--orange); background: var(--orange); color: var(--white);}
.ms-step-indicator.done .ms-step-dot::after{content: '✓'; font-size: 0.9rem;}
.ms-step-indicator.done .ms-step-num{display: none;}
.ms-step-label{font-family: var(--font-display); font-size: 0.68rem; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: var(--gray); margin-top: 0.4rem; text-align: center; white-space: nowrap; transition: color 0.3s;}
.ms-step-indicator.active .ms-step-label{color: var(--orange);}
.ms-step-indicator.done .ms-step-label{color: var(--gray-light);}
.ms-progress-line{flex: 1; height: 2px; background: var(--border); position: relative; z-index: 0; align-self: flex-start; margin-top: 17px; transition: background 0.3s;}
.ms-progress-line.done{background: var(--orange);}
.ms-wrapper{background: var(--dark-mid); border-radius: 12px; border: 1px solid var(--border); overflow: hidden;}
.ms-pane{display: none; padding: 2.5rem; animation: msFadeIn 0.3s ease both;}
.ms-pane.active{display: block;}
.ms-pane-title{font-family: var(--font-display); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.15em; text-transform: uppercase; color: var(--orange); margin-bottom: 1.25rem;}
.ms-opt-grid{display: flex; flex-wrap: wrap; gap: 0.75rem;}
.ms-opt-btn{font-family: var(--font-display) !important; font-size: 1rem !important; font-weight: 700 !important; letter-spacing: 0.06em !important; text-transform: uppercase !important; padding: 0.85rem 1.75rem !important; border-radius: var(--radius) !important; border: 2px solid var(--orange) !important; background: transparent !important; background-color: transparent !important; color: var(--orange) !important; cursor: pointer !important; transition: all 0.2s ease !important; display: flex !important; align-items: center !important; gap: 0.5rem !important; box-shadow: none !important; outline: none !important;}
.ms-opt-btn:hover{background: rgba(213,83,37,0.1) !important; background-color: rgba(213,83,37,0.1) !important; color: var(--white) !important; border-color: var(--orange) !important;}
.ms-opt-btn:focus{background: transparent !important; background-color: transparent !important; outline: none !important;}
.ms-opt-btn.selected{background: var(--orange) !important; background-color: var(--orange) !important; border-color: var(--orange) !important; color: var(--white) !important;}
.ms-opt-btn.selected:hover{background: var(--orange-dark) !important; background-color: var(--orange-dark) !important;}
.ms-leistung-list{display: flex; flex-direction: column; gap: 0.5rem;}
.ms-leistung-item{display: flex; align-items: center; gap: 1rem; padding: 1rem 1.25rem; border-radius: 6px; border: 2px solid rgba(255,255,255,0.08); background: rgba(255,255,255,0.03); cursor: pointer; transition: all 0.2s; opacity: 0.7;}
.ms-leistung-item:hover{border-color: rgba(213,83,37,0.4); opacity: 1;}
.ms-leistung-item.selected{opacity: 1; border-color: var(--orange); background: rgba(213,83,37,0.08); box-shadow: inset 3px 0 0 var(--orange);}
.ms-leistung-check{width: 22px; height: 22px; border-radius: 50%; border: 2px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.2s; font-size: 0.7rem; color: var(--white);}
.ms-leistung-item.selected .ms-leistung-check{background: var(--orange); border-color: var(--orange);}
.ms-leistung-info{flex: 1;}
.ms-leistung-name{font-family: var(--font-display); font-size: 1rem; font-weight: 700; text-transform: uppercase; letter-spacing: 0.05em; color: var(--white);}
.ms-leistung-desc{font-size: 0.8rem; color: var(--gray-light); margin-top: 0.15rem;}
.ms-leistung-meta{text-align: right;}
.ms-leistung-price{font-family: var(--font-display); font-size: 1.1rem; font-weight: 900; color: var(--orange);}
.ms-leistung-price.is-anfrage{color: var(--gray-light); font-size: 0.85rem; font-weight: 700; font-style: italic;}
.ms-leistung-dauer{font-size: 0.75rem; color: var(--gray-light);}
.ms-extra-list{display: flex; flex-direction: column; gap: 0.5rem;}
.ms-extra-item{display: flex; align-items: center; gap: 0.85rem; padding: 0.85rem 1.25rem; border-radius: 6px; border: 2px solid rgba(255,255,255,0.08); background: var(--dark); cursor: pointer; transition: all 0.2s;}
.ms-extra-item:hover{border-color: rgba(213,83,37,0.35);}
.ms-extra-item.selected{border-color: var(--orange); background: rgba(213,83,37,0.08); box-shadow: inset 3px 0 0 var(--orange);}
.ms-extra-checkbox{width: 18px; height: 18px; border-radius: 3px; border: 2px solid rgba(255,255,255,0.2); display: flex; align-items: center; justify-content: center; flex-shrink: 0; font-size: 0.65rem; color: var(--white); transition: all 0.2s;}
.ms-extra-item.selected .ms-extra-checkbox{background: var(--orange); border-color: var(--orange);}
.ms-extra-name{flex: 1; font-size: 0.9rem; color: var(--white);}
.ms-extra-name small{color: var(--gray-light); font-size: 0.75rem;}
.ms-extra-price{font-family: var(--font-display); font-size: 0.9rem; font-weight: 700; color: var(--orange); white-space: nowrap;}
.ms-step5-grid{display: grid; grid-template-columns: 1fr 1.5fr; gap: 2.5rem; align-items: start;}
.ms-summary-box{background: var(--dark); border-radius: 8px; padding: 1.5rem; border: 1px solid var(--border);}
.ms-summary-box h4{font-family: var(--font-display); font-size: 0.78rem; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: var(--orange); margin-bottom: 1rem;}
.ms-summary-row{display: flex; justify-content: space-between; align-items: baseline; font-size: 0.85rem; color: var(--gray-light); padding: 0.35rem 0; border-bottom: 1px solid var(--border);}
.ms-summary-row:last-of-type{border-bottom: none;}
.ms-summary-total{display: flex; justify-content: space-between; align-items: baseline; margin-top: 0.75rem; padding-top: 0.75rem; border-top: 2px solid var(--orange);}
.ms-summary-total .label{font-family: var(--font-display); font-size: 0.9rem; font-weight: 700; text-transform: uppercase; color: var(--white);}
.ms-summary-total .value{font-family: var(--font-display); font-size: 1.6rem; font-weight: 900; color: var(--orange);}
.ms-summary-total .value.is-anfrage{font-size: 1.2rem; font-style: italic; color: var(--gray-light);}
.ms-summary-note{font-size: 0.72rem; color: var(--gray); font-style: italic; margin-top: 0.75rem;}
.ms-form{display: flex; flex-direction: column; gap: 0;}
.ms-form-row{display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin-bottom: 1rem;}
.ms-form-group{margin-bottom: 1rem;}
.ms-form-label{display: block; font-family: var(--font-display); font-size: 0.72rem; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--gray-light); margin-bottom: 0.4rem;}
.ms-form-input, .ms-form-select, .ms-form-textarea{width: 100%; font-family: var(--font-body); font-size: 0.9rem; color: var(--white); background: var(--dark); border: 1.5px solid rgba(255,255,255,0.12); border-radius: var(--radius); padding: 0.75rem 1rem; transition: border-color 0.2s; outline: none;}
.ms-form-input:focus, .ms-form-select:focus, .ms-form-textarea:focus{border-color: var(--orange);}
.ms-form-input::placeholder, .ms-form-textarea::placeholder{color: var(--gray);}
.ms-form-select{cursor: pointer; color: var(--white);}
.ms-form-select option{background: var(--dark-mid);}
.ms-form-textarea{resize: vertical; min-height: 90px;}
.ms-form-checkbox{display: flex; align-items: flex-start; gap: 0.6rem; cursor: pointer; margin-bottom: 1rem;}
.ms-form-checkbox input{accent-color: var(--orange); margin-top: 2px; flex-shrink: 0;}
.ms-form-checkbox span{font-size: 0.82rem; color: var(--gray-light); line-height: 1.5;}
.ms-form-checkbox a{color: var(--orange);}
.ms-nav{display: flex; justify-content: space-between; align-items: center; padding: 1.5rem 2.5rem; border-top: 1px solid var(--border); background: rgba(0,0,0,0.2);}
.ms-btn-back{font-family: var(--font-display); font-size: 0.9rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: none; border: none; color: var(--gray-light); cursor: pointer; display: flex; align-items: center; gap: 0.4rem; transition: color 0.2s; padding: 0;}
.ms-btn-back:hover{color: var(--white);}
.ms-btn-back:disabled{opacity: 0.3; pointer-events: none;}
.ms-btn-next{font-family: var(--font-display); font-size: 1rem; font-weight: 700; letter-spacing: 0.06em; text-transform: uppercase; background: var(--orange); border: none; color: var(--white); cursor: pointer; padding: 0.85rem 2rem; border-radius: var(--radius); transition: all 0.2s; display: flex; align-items: center; gap: 0.5rem;}
.ms-btn-next:hover{background: var(--orange-dark); transform: translateY(-1px);}
.ms-btn-next:disabled{background: var(--dark-mid); color: var(--gray); cursor: not-allowed; transform: none; border: 2px solid var(--border);}
.ms-step-counter{font-family: var(--font-display); font-size: 0.78rem; color: var(--gray); letter-spacing: 0.08em;}
.ms-success{display: none; text-align: center; padding: 4rem 2rem;}
.ms-success.show{display: block;}
.ms-success-icon{font-size: 3rem; margin-bottom: 1rem;}
.ms-success h3{font-family: var(--font-display); font-size: 2rem; font-weight: 900; text-transform: uppercase; color: #4ade80; margin-bottom: 0.75rem;}
.ms-success p{color: var(--gray-light); font-size: 0.95rem;}
.ms-success a{color: var(--orange);}
.ms-pane{padding: 1.5rem;}
.ms-nav{padding: 1.25rem 1.5rem;}
.ms-step5-grid{grid-template-columns: 1fr;}
.ms-form-row{grid-template-columns: 1fr;}
.ms-step-label{display: none;}
.ms-opt-btn{padding: 0.7rem 1.25rem; font-size: 0.9rem;}
.ms-leistung-item{flex-wrap: wrap;}
.ms-leistung-meta{width: 100%; text-align: left;}
