*{box-sizing:border-box}body{margin:0;font-family:'DM Sans',sans-serif;background:#F8F3EA;color:#401A11;line-height:1.6}
h1,h2{font-family:Montserrat,sans-serif;font-weight:600}.wrap{max-width:760px;margin:auto;padding:60px 24px}
fieldset{border:0;background:#fff;border-radius:18px;padding:26px;margin:0 0 22px}legend{font-family:Montserrat;font-weight:600;font-size:1.1rem;padding:0;margin-bottom:12px}
label{display:block;font-weight:500;margin:14px 0 6px}input[type=text],input[type=email],input[type=tel],input[type=url],textarea,select{width:100%;padding:13px 14px;border:1.5px solid #F8F3EA;background:#F8F3EA;border-radius:12px;font:inherit;color:#401A11}
textarea{min-height:96px}.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}.checks label{display:inline-flex;gap:6px;margin:4px 16px 4px 0;font-weight:400}
button,.btn{background:#FFB195;color:#401A11;border:0;border-radius:14px;padding:18px 34px;font:inherit;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}button:hover,.btn:hover{filter:brightness(.93)}
small{opacity:.75}@media(max-width:640px){.row{grid-template-columns:1fr}}

@media(max-width:640px){.wrap{padding:36px 16px}h1{font-size:1.6rem}fieldset{padding:20px 16px}button{width:100%;min-height:56px}input,select,textarea{font-size:16px !important}.checks label{margin:6px 14px 6px 0;padding:6px 0}}

/* Schritt für Schritt */
.prog{display:flex;align-items:center;gap:14px;margin:0 0 18px;font-size:.9rem;font-weight:500}.prog .bar{flex:1;height:6px;background:#EBDFD0;border-radius:6px;overflow:hidden}.prog .bar i{display:block;height:100%;width:0;background:#6D1A2A;border-radius:6px;transition:width .4s ease}
#wiz .step{display:none;min-height:240px}#wiz .step.on{display:block;animation:inR .35s ease}#wiz .step.on.l{animation-name:inL}
@keyframes inR{from{opacity:0;transform:translateX(24px)}to{opacity:1;transform:none}}@keyframes inL{from{opacity:0;transform:translateX(-24px)}to{opacity:1;transform:none}}
#wiz .step>label:first-child,#wiz .step .row label{font-family:Montserrat,sans-serif;font-weight:600;font-size:1.15rem;margin-top:0}
.nav{display:flex;justify-content:space-between;gap:12px;align-items:center}.nav .back{background:transparent;color:#401A11;padding:18px 10px;font-weight:500}.nav .back:hover{text-decoration:underline;filter:none}
.err{color:#6D1A2A;font-weight:500;margin:0 0 14px}
@media (prefers-reduced-motion:reduce){#wiz .step.on{animation:none}.prog .bar i{transition:none}}
@media(max-width:640px){.nav button{width:auto;flex:1}.nav .back{flex:0 0 auto}#wiz .step{min-height:0}}
#wiz [hidden],.err[hidden]{display:none!important}
/* Gleich große Buttons */
.nav button,.nav .back,.nav button[type=submit]{flex:1 1 0 !important;width:auto !important;min-width:0;min-height:56px;padding:16px 12px !important;font-size:1rem !important;font-weight:700 !important;border:0;border-radius:14px;text-align:center;line-height:1.2}
.nav .back{background:#EBDFD0 !important;color:#401A11}.nav .back:hover{text-decoration:none;filter:brightness(.95)}
.nav button,.nav .back,.nav button[type=submit]{height:56px;padding:0 8px !important;white-space:nowrap}

@media(min-width:641px){#wiz .step{min-height:170px}}
/* Mail-Palette */
button,.btn{background:#6D1A2A;color:#FFFFFF}button:hover,.btn:hover{background:#561421}
.nav .back{background:#F3ECE1 !important;color:#401A11 !important}
.prog .bar span,.prog .bar i,.prog .bar div{background:#6D1A2A}
fieldset{box-shadow:0 8px 24px rgba(64,26,17,.06)}
a{color:#6D1A2A}
input:focus,textarea:focus,select:focus{outline:2px solid #6D1A2A;outline-offset:1px}
input[type=radio],input[type=checkbox]{accent-color:#6D1A2A}
/* Mobil v5: Buttons nicht volle Breite, zentriert, etwas kleiner */
@media(max-width:640px){
button,.btn{width:fit-content !important;min-height:0 !important;padding:11px 22px !important;font-size:.9rem !important;display:block;margin-left:auto;margin-right:auto}
.nav{justify-content:center !important}
.nav button,.nav .back,.nav button[type=submit]{flex:0 0 auto !important;min-width:130px !important;height:auto !important;min-height:0 !important;padding:11px 22px !important;font-size:.9rem !important;margin:0 !important}
}
