:root{
  --accent:#f68e13;
  --bg:#ffffff;
  --text:#222;
  --card:#ffffff;
  --radius:10px;
  --maxw:980px;
}

*{box-sizing:border-box}
body{
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  background:#f6f6f6;color:var(--text);
  margin:0;padding:30px 20px;
}
.container{max-width:var(--maxw);margin:0 auto}
h1{color:var(--accent);margin:0 0 16px;font-size:1.9rem}

.card{
  background:var(--card);
  border-radius:var(--radius);
  padding:16px;margin-bottom:14px;
  border:1px solid rgba(0,0,0,0.05);
  box-shadow:0 1px 8px rgba(0,0,0,0.06);
}

label{display:block;margin-bottom:10px;font-size:.95rem;font-weight:500}
input[type="text"],input[type="email"],input[type="tel"],input[type="url"],
input[type="datetime-local"],textarea,select{
  width:100%;margin-top:6px;padding:10px 12px;
  border:1px solid #ddd;border-radius:8px;background:#fff;font-size:.95rem
}
input:focus,textarea:focus,select:focus{border-color:var(--accent);outline:none}
textarea{min-height:110px;resize:vertical}

fieldset.stack{border:1px solid #eee;border-radius:8px;padding:10px;margin-top:8px}
fieldset.stack legend{padding:0 6px;color:#666;font-size:.9rem}
fieldset.stack label{display:inline-block;margin-right:16px}

.inline{display:flex;align-items:center;gap:8px}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
@media(max-width:720px){.grid-3{grid-template-columns:1fr}}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}

.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:12px}
.btn{padding:10px 16px;border-radius:8px;border:1px solid #ddd;background:#fff;cursor:pointer;transition:.2s}
.btn:hover{background:#fafafa}
.btn.primary{background:var(--accent);border:none;color:#fff;box-shadow:0 3px 10px rgba(246,142,19,.25)}
.btn.primary:hover{background:#e88411}

#formMessage{margin-top:12px;padding:10px}

/* Upload-Box */
.upload-box{
  border:2px dashed rgba(246,142,19,.45);
  background:#fffdf8;
  padding:14px;
  border-radius:10px;
  margin:12px 0;
}
.upload-box small{display:block;color:#666;margin-top:6px;font-weight:400}

/* Öffnungszeitenblock inkl. Checkbox */
.oeff-wrapper{
  border:2px solid rgba(246,142,19,.45);
  background:#fffdf8;
  padding:14px;
  border-radius:10px;
  margin:14px 0;
}
.oeff-wrapper label.inline{font-weight:600;color:#333}

/* Checkboxlinien */
.checkbox-line{display:flex;align-items:flex-start;gap:8px;margin-bottom:10px;line-height:1.4}
.checkbox-line input[type="checkbox"]{margin-top:3px;accent-color:var(--accent)}

@media(max-width:640px){
  .actions{flex-direction:column}
  .btn{width:100%}
}
