*{box-sizing:border-box}body{margin:0;background:#f5f3f0;color:#171717;font:16px/1.5 Arial,sans-serif}header,main{max-width:1040px;margin:auto;padding:24px}header{text-align:center}header a{color:#111;text-decoration:none}header strong{color:#a40016;font-size:26px}h1{font-size:32px;margin-bottom:8px}h2{font-size:25px}main{padding-top:0}section,fieldset{min-width:0}fieldset{border:1px solid #ccc;border-radius:10px;padding:18px;margin:18px 0;background:#fff}legend{font-weight:bold}label{display:flex;flex-direction:column;gap:6px;margin:8px 0;min-width:0;font-weight:700}input,select,textarea{width:100%;min-width:0;padding:12px;border:1px solid #888;border-radius:6px;font:inherit;color:#111;background:#fff}input::placeholder,textarea::placeholder{color:#777;font-weight:400;opacity:1}.twocol{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.check{flex-direction:row;align-items:center;font-weight:400}.check input,input[type=radio]{width:22px;flex:none}.pending{border:2px solid #b00020!important}.complete{border:2px solid #217c3d}.red{color:#a40016}.green{color:#217c3d}button{font:700 15px Arial;padding:13px 18px;background:#a40016;color:white;border:2px solid transparent;border-radius:7px;cursor:pointer;min-height:44px;max-width:100%}button:focus-visible{outline:3px solid #0062a3;outline-offset:3px}button.secondary{background:#eee;color:#111}.actions,nav{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}nav button{flex:1;background:#fff;color:#111;border-color:#b00020}nav button.done{border-color:#217c3d}nav button[aria-current=step]{background:#eee;border-width:3px}button:disabled{cursor:default;opacity:.45}.move-types{display:grid;grid-template-columns:1fr 1fr;gap:12px}.move-type{display:flex;flex-direction:row;align-items:center;gap:12px;border:2px solid #ccc;background:white;padding:14px;border-radius:12px}.move-type:has(input:checked){border-color:#a40016;background:#fff5f5}.move-type>span{min-width:0}.move-type span span{display:block;font-weight:400;font-size:14px}.choice-image{max-width:115px;height:85px;object-fit:contain}.choice-gallery{display:flex;align-items:center}.choice-gallery .autobahn-image{max-width:30px}.choice-gallery img:last-child{max-width:90px}.small,footer{font-size:13px}.price{border:2px solid #a40016;background:#fff;padding:20px;color:#850014;margin:20px 0}.price strong{font-size:23px}.inactive{opacity:.55}.postal-suggestions{display:flex;flex-direction:column;max-height:230px;overflow:auto;border:1px solid #aaa;border-radius:6px}.postal-suggestions button{text-align:left;color:#111;background:#fff;border-bottom:1px solid #ddd}.postal-suggestions button:hover,.postal-suggestions [aria-selected=true]{background:#fce3e7}.postal-error,#error,#choiceError{color:#a40016;font-weight:bold}[hidden]{display:none!important}.calendar-head{display:flex;align-items:center;justify-content:space-between}.calendar-week{word-spacing:25px;text-align:center;padding:10px}#calendar{max-width:420px;margin:15px auto}#days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:4px}#days button{padding:8px 0;border-radius:5px;min-width:0}#days [aria-pressed=true]{outline:3px solid #111;outline-offset:0}.basic{background:#216b39;color:#fff}.weekend{background:#b86700;color:#fff}.sunday{background:#a0001a;color:#fff}.urgent{box-shadow:inset 0 0 0 3px #7022a3}.outside{opacity:.5}.dot{display:inline-block;width:14px;height:14px;border-radius:50%;vertical-align:middle}.dot.urgent{background:#7022a3}footer{margin-top:35px;border-top:1px solid #ccc}textarea{min-height:90px}details{padding:15px;border:1px solid #bbb;border-radius:7px}summary{font-weight:bold;cursor:pointer}@media(max-width:650px){header,main{padding:16px}.twocol,.move-types{grid-template-columns:1fr}.move-type{padding:10px;gap:8px}.choice-image{max-width:100px}nav{gap:5px}nav button{flex-basis:45%;font-size:14px;padding:8px}h1{font-size:27px}.calendar-week{word-spacing:18px}.price strong{font-size:20px}}@media print{header{padding:10px}nav,.actions,.field-guide,footer,button{display:none!important}#choose,[data-page="0"],[data-page="1"],[data-page="2"]{display:none!important}#steps,[data-page="3"]{display:block!important}body{background:white}.price{break-inside:avoid}main{max-width:none}}

#changeType{margin-left:auto;background:#fff;color:#900;border-color:#900}@media(max-width:650px){#changeType{flex-basis:100%;margin:4px auto 0;text-align:center}}

#begin{display:block;margin:22px auto 0}


#roomCountFields>.twocol{grid-template-columns:minmax(0,1fr);gap:4px}#roomCountFields>.twocol>label{display:grid;grid-template-columns:minmax(0,1fr) 100px;align-items:center;gap:12px;margin:4px 0}#roomCountFields>.twocol>label input{width:100%}


input.room-reconciled{border:2px solid #b00020!important;background:#fff0f2!important;color:#9b0016}#roomCountSummary.red{font-weight:700}

.example-hint{color:#777;font-size:13px;font-weight:400}

.kitchen-service-choices{grid-column:1/-1;display:grid;grid-template-columns:minmax(0,1fr);gap:4px}.kitchen-service-choices>.check{margin:3px 0}

.kitchen-stays input:disabled{background:#eee;color:#777;border-color:#ccc}input:disabled,select:disabled{cursor:default}#fridgeFields{margin-top:12px}

fieldset>legend{color:#900;font-size:17px;font-weight:700;border:2px solid #900;border-radius:7px;background:#fff;padding:6px 12px;max-width:100%;line-height:1.35}#extraAreas>fieldset{border-color:#b76b76}details>summary{color:#900;font-size:17px}


#steps section[data-page]>h2{color:#900;border-bottom:2px solid #900;padding-bottom:8px}


nav button[aria-current=step]{border:4px solid #d00020!important;background:#ffe5ea!important;color:#8c0015!important;box-shadow:0 0 0 2px #fff,0 0 0 4px #d00020;font-weight:800}nav button[aria-current=step].done::after{content:' ✓';color:#176b36}@media(forced-colors:active){nav button[aria-current=step]{outline:3px solid Highlight;outline-offset:3px}}


.empty-room-choice{border:2px solid #900;border-radius:7px;padding:12px 14px;background:#fff;color:#900;font-weight:700;cursor:pointer;min-height:48px}.empty-room-choice input{width:24px;height:24px;accent-color:#900}.empty-room-choice:has(input:checked){border-color:#176b36;background:#edf8ef;color:#145b2b}.empty-room-choice:focus-within{outline:3px solid #d00020;outline-offset:3px}

.conditional-choice{border:2px solid #900;border-radius:7px;padding:12px 14px;background:#fff;color:#900;font-weight:700;min-height:48px}.conditional-choice.check{cursor:pointer}.conditional-choice input[type=checkbox]{width:24px;height:24px;accent-color:#900}.conditional-choice:has(>select.complete),.conditional-choice:has(>input.complete),.conditional-choice:has(>input[type=checkbox]:checked:not(:disabled)){border-color:#176b36;background:#edf8ef;color:#145b2b}.conditional-choice:focus-within{outline:3px solid #d00020;outline-offset:3px}.conditional-choice.inactive{border-color:#aaa;background:#eee;color:#777;opacity:.6}

.address>.twocol{grid-template-columns:minmax(0,1fr);gap:8px;max-width:440px;margin-inline:auto}.address>label,.address>.twocol>label,.address .floor-details>label{text-align:center}.address .floor-details{width:100%;text-align:center}.address .floor-details input{text-align:center}.address>.twocol>label select{text-align:center}

/* Freiwillige aktive Text-/Zahlenfelder klar von Pflichtfeldern unterscheiden. */
input:not(:disabled):not([required]):not([type=hidden]):not([type=checkbox]):not([type=radio]):not(.room-reconciled),textarea:not(:disabled):not([required]){border:2px solid #111!important}input:not(:disabled):not([required]):not([type=hidden]):not([type=checkbox]):not([type=radio]):focus,textarea:not(:disabled):not([required]):focus{outline:2px solid #111;outline-offset:2px}


.field-guide{display:table;width:auto;max-width:100%;margin:20px auto;text-align:left}


section[data-page='1']>.twocol{grid-template-columns:minmax(0,1fr);max-width:620px;margin-inline:auto;gap:12px}


/* Seite 2: durchgehend eine mittige Spalte. */
section[data-page='1']{text-align:center}section[data-page='1']>.twocol,section[data-page='1'] .twocol,section[data-page='1'] .kitchen-service-choices{grid-template-columns:minmax(0,1fr);width:100%;max-width:620px;margin-inline:auto}section[data-page='1']>fieldset,section[data-page='1']>label,section[data-page='1']>.small{max-width:680px;margin-inline:auto}section[data-page='1'] fieldset>legend{margin-inline:auto;text-align:center}section[data-page='1'] label{align-items:center;text-align:center}section[data-page='1'] label>input:not([type=checkbox]):not([type=radio]),section[data-page='1'] label>select,section[data-page='1'] label>textarea{width:100%;max-width:480px;text-align:center}section[data-page='1'] .check{justify-content:center}#roomCountFields>.twocol>label{display:flex;flex-direction:column;gap:6px}#roomCountFields>.twocol>label input{max-width:140px}section[data-page='1'] .clearance-object-list{text-align:center}section[data-page='1'] button{margin-inline:auto}section[data-page='1'] .example-hint{display:block;text-align:center}


/* Seite 3: eine mittige Spalte für Leistungen und Zahlung. */
section[data-page='2']{text-align:center}section[data-page='2'] .twocol,section[data-page='2'] .kitchen-service-choices{grid-template-columns:minmax(0,1fr);width:100%;max-width:620px;margin-inline:auto}section[data-page='2']>fieldset,section[data-page='2']>label,section[data-page='2']>details{max-width:680px;margin-inline:auto}section[data-page='2'] fieldset>legend{margin-inline:auto;text-align:center}section[data-page='2'] label{align-items:center;text-align:center}section[data-page='2'] label>input:not([type=checkbox]):not([type=radio]),section[data-page='2'] label>select,section[data-page='2'] label>textarea{width:100%;max-width:480px;text-align:center}section[data-page='2'] .check{justify-content:center}section[data-page='2'] summary{text-align:center}section[data-page='2'] button{margin-inline:auto}


.requested-date{text-align:center}.requested-date>legend{margin-inline:auto;text-align:center}.requested-date>label{max-width:620px;margin-inline:auto;align-items:center;text-align:center}.requested-date>.check{justify-content:center}.requested-date input[type=date]{max-width:360px;text-align:center}

/* Separate Nebenraumwahl, zentrierte Feldinhalte und optionale Null-Raumarten. */
#sideRoomCounts>.twocol{grid-template-columns:minmax(0,1fr)}#sideRoomCounts input{max-width:140px}
#roomCountFields input.room-count-zero:not(:disabled),#sideRoomCounts input.room-count-zero:not(:disabled){border:2px solid #bf2635!important;background:#fff7f8!important}
#distanceLabel{display:flex;flex-direction:column;align-items:center;max-width:480px;margin:20px auto;text-align:center}#distanceLabel input{width:100%;max-width:480px}
#quickForm input:not([type=checkbox]):not([type=radio]):not([type=hidden]),#quickForm select,#quickForm textarea{text-align:center}
.area-content{grid-column:1/-1}#extraAreas fieldset{width:100%;min-width:0}#extraAreaGateHint{color:#555}

#quickForm select{text-align-last:center}

.prototype-notice{max-width:720px;margin:18px auto;padding:14px 18px;border:2px solid #a40016;border-radius:9px;background:#fff6f7;text-align:center}.prototype-notice strong{color:#900;font-size:20px}.prototype-notice small{display:block;margin-top:6px;color:#444}

/* Navigation mittig, auch auf schmalen Bildschirmen. */
.actions{justify-content:center!important;align-items:center}#next{margin-inline:auto} @media(max-width:650px){.actions{flex-direction:column!important}.actions>button{align-self:center!important;margin-inline:auto!important;width:min(100%,360px)}}

/* Vorgeschaltete Informationsseite und kompakter Kalkulatorkopf. */
#calculatorIntro{max-width:1240px;margin:0 auto;padding-bottom:30px}.intro-content{padding-inline:20px}.intro-actions,.calculator-heading{text-align:center;margin:24px auto}.intro-start{display:inline-block;background:#a40016;color:#fff!important;text-decoration:none;border-radius:8px;padding:15px 24px;font:700 18px Arial;min-height:48px}.calculator-heading h1{margin:12px 0;color:#a40016}.intro-back{color:#a40016}.intro-start:focus-visible{outline:3px solid #111;outline-offset:4px}@media(max-width:650px){#calculatorIntro{padding-inline:12px}.intro-content{padding-inline:0}}

/* Dauerhaft sichtbarer Rückweg zur Website, außerhalb der Startseiten-Umschaltung. */
.website-return{display:flex;justify-content:center;max-width:1240px;margin:14px auto;padding:0 16px}.website-return a{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:10px 20px;background:#fff;color:#111!important;border:3px solid #111;border-radius:7px;font:800 17px/1.4 Arial,sans-serif;text-align:center;text-decoration:none}.website-return a:hover{background:#eee}.website-return a:focus-visible{outline:3px solid #111;outline-offset:4px}@media print{.website-return{display:none!important}}

.offer-contact-info{text-align:center;margin:24px auto;max-width:850px}.offer-contact-buttons{display:flex;justify-content:center;flex-wrap:wrap;gap:12px;margin:20px auto}.offer-contact-buttons a{display:inline-flex;align-items:center;justify-content:center;min-width:120px;min-height:46px;padding:10px 18px;border:2px solid #111;border-radius:7px;background:#fff;color:#111;font-weight:800;text-decoration:none}.offer-contact-buttons a:hover{background:#eee}.offer-contact-buttons a:focus-visible{outline:3px solid #111;outline-offset:4px}

.planning-contact{display:block!important;max-width:850px;margin:16px auto 24px;padding:12px 16px;text-align:center;background:#fff;border:1px solid #aaa;border-radius:8px}.planning-contact p{margin:0 0 10px}.planning-contact .offer-contact-buttons{margin:8px 0}@media print{.planning-contact{display:none!important}}
