/* Einheitliches Formularsystem – auch für die spätere neue Bewertungsmaske */
.form-section { background:#fff; border:1px solid var(--line); border-radius:var(--radius); padding:28px; margin:0 0 22px; box-shadow:0 5px 22px rgba(16,35,62,.035); }
.form-section-heading { display:flex; gap:14px; align-items:flex-start; margin-bottom:24px; }
.form-section-heading h2 { font-size:1.45rem; margin-bottom:4px; }
.form-section-heading p { color:var(--muted); margin:0; font-size:14px; }
.form-step { display:grid; place-items:center; flex:0 0 36px; width:36px; height:36px; border-radius:10px; background:var(--surface-blue); color:var(--blue-dark); font-weight:850; }
.form-grid { display:grid; gap:18px; }
.form-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.form-grid-span-2 { grid-column:1 / -1; }
.form-group { margin-bottom:18px; }
.form-group label,.form-label { display:block; margin-bottom:7px; color:var(--navy); font-weight:720; font-size:14px; }
.optional { color:var(--muted); font-weight:500; font-size:12px; }
.form-control,.form-select,input[type="text"],input[type="email"],input[type="number"],input[type="search"],select,textarea {
    width:100%; min-height:46px; border:1px solid #c9d6e4; border-radius:10px; background:#fff; color:var(--text); padding:10px 12px; outline:0; transition:.15s ease;
}
textarea,.form-control[type="textarea"] { min-height:120px; resize:vertical; }
.form-control:focus,.form-select:focus,input:focus,select:focus,textarea:focus { border-color:var(--blue); box-shadow:0 0 0 3px rgba(20,118,232,.13); }
.form-help { color:var(--muted); font-size:13px; }
.form-error { display:none; color:var(--danger); font-size:13px; margin-top:6px; }
.has-error .form-error,.form-error.is-visible { display:block; }
.form-notice { background:var(--surface-blue); border:1px solid #cde5fb; border-radius:11px; padding:13px 15px; margin:16px 0; }
.form-actions { display:flex; gap:10px; justify-content:flex-end; margin-top:24px; }
.form-date-grid { display:grid; grid-template-columns:.7fr 1.3fr 1fr; gap:10px; }
.rating-list { display:grid; gap:14px; }
.rating-card { border:1px solid var(--line); border-radius:13px; padding:17px; }
.rating-card legend { color:var(--navy); font-weight:800; padding:0 5px; }
.rating-help { color:var(--muted); font-size:13px; margin-bottom:8px; }
.star-rating { display:inline-flex; flex-direction:row-reverse; justify-content:flex-end; gap:2px; }
.star-rating input { position:absolute; opacity:0; pointer-events:none; }
.star-rating label { cursor:pointer; color:#cfd8e3; font-size:30px; line-height:1; }
.star-rating input:checked ~ label,.star-rating label:hover,.star-rating label:hover ~ label { color:var(--gold); }
.rating-na,.privacy-check { display:flex!important; align-items:flex-start; gap:9px; margin-top:10px; font-weight:500!important; }
.rating-na input,.privacy-check input { width:auto; min-height:auto; margin-top:5px; }
.upload-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.upload-card { border:1px dashed #b8c8da; background:var(--surface-soft); border-radius:12px; padding:16px; }
.captcha-box { border:1px solid var(--line); border-radius:12px; padding:16px; }
.captcha-options { display:flex; flex-wrap:wrap; gap:8px; }
.captcha-option { border:1px solid var(--line); border-radius:9px; padding:8px 10px; }
@media(max-width:700px){.form-grid-2,.upload-grid{grid-template-columns:1fr}.form-grid-span-2{grid-column:auto}.form-date-grid{grid-template-columns:1fr}.form-section{padding:20px 16px}}
