/* Kunstauktion Styles */
* { box-sizing: border-box; }
body { font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif; line-height: 1.6; color: #333; background-color: #f4f4f9; margin: 0; padding: 20px; }
.container { max-width: 900px; margin: 0 auto; background: #fff; padding: 30px; border-radius: 8px; box-shadow: 0 2px 10px rgba(0,0,0,0.1); }
.header { text-align: center; margin-bottom: 30px; padding-bottom: 20px; border-bottom: 2px solid #eee; }
.header img { max-width: 200px; height: auto; margin-bottom: 15px; }
.header h1 { font-size: 1.8em; color: #333; margin-bottom: 5px; }
.section { margin-bottom: 30px; background: #fafafa; padding: 20px; border: 1px solid #eee; border-radius: 5px; }
.section-title { font-size: 1.2em; color: #444; margin-bottom: 15px; padding-bottom: 10px; border-bottom: 1px solid #ddd; }
.section-private { background: #d1d1d3; border-color: #e0e0e0; }
.section-public { background: #eff7ef; border-color: #cfe5cf; }
.privacy-badge { display: inline-block; margin-left: 8px; padding: 2px 10px; border-radius: 10px; font-size: 0.62em; font-weight: 600; color: #fff; vertical-align: middle; }
.privacy-private { background: #6c757d; }
.privacy-public { background: #1e7e34; }
.section-note { font-size: 0.85em; color: #666; margin: -8px 0 14px; }
.form-group { margin-bottom: 15px; }
.form-group label { display: block; margin-bottom: 5px; font-weight: 600; color: #555; }
.form-group input[type="text"], .form-group input[type="email"], .form-group input[type="tel"], .form-group input[type="number"], .form-group textarea { width: 100%; padding: 10px; border: 1px solid #ddd; border-radius: 4px; font-size: 14px; }
.form-group textarea { height: 80px; resize: vertical; }
.form-group input:focus, .form-group textarea:focus { outline: none; border-color: #0056b3; box-shadow: 0 0 5px rgba(0,86,179,0.2); }
.artwork-block { background: #fff; padding: 15px; margin-bottom: 15px; border: 1px solid #ddd; border-radius: 4px; }
.radio-group { margin: 10px 0; }
.radio-group label { display: block; margin-bottom: 8px; font-weight: normal; cursor: pointer; }
.radio-group input[type="radio"] { margin-right: 8px; }
.checkbox-group { margin: 10px 0; }
.checkbox-group label { display: block; margin-bottom: 8px; font-weight: normal; cursor: pointer; }
.checkbox-group input[type="checkbox"] { margin-right: 8px; }
.checkbox-group a { color: #0056b3; }
.error-summary { background: #f8d7da; border: 1px solid #f5c6cb; color: #721c24; padding: 15px; margin-bottom: 20px; border-radius: 4px; }
.error-summary ul { margin: 0; padding-left: 20px; }
.char-counter { display: block; font-size: 12px; color: #888; margin-top: 4px; text-align: right; }
.char-counter[hidden] { display: none; }
.char-counter-warn { color: #b8860b; font-weight: 600; }
.char-counter-limit { color: #c0392b; font-weight: 700; }
.field-limit { border-color: #c0392b !important; background-color: #fdf3f2; }
.success-summary { background: #d4edda; border: 1px solid #c3e6cb; color: #155724; padding: 15px; margin-bottom: 20px; border-radius: 4px; }
.success-summary p { margin: 8px 0; }
.download-link { display: inline-block; padding: 10px 24px; background-color: #28a745; color: #fff; text-decoration: none; border-radius: 4px; font-weight: 600; }
.download-link:hover { background-color: #218838; }

/* Edit / delete actions in the success box */
.edit-actions { margin-top: 14px; padding-top: 12px; border-top: 1px solid #c3e6cb; }
.edit-actions .btn { margin-right: 8px; }
.btn { display: inline-block; padding: 12px 30px; border: none; border-radius: 4px; font-size: 16px; cursor: pointer; transition: background 0.3s; text-decoration: none; background: #fff; color: #333; }

/* Delete confirmation box */
.delete-confirm { margin-top: 14px; padding: 14px; background: #fff3cd; border: 1px solid #ffc107; border-radius: 4px; }
.delete-confirm p { margin: 4px 0; }
.delete-confirm input[type="text"] { width: 100%; max-width: 320px; padding: 8px 12px; border: 1px solid #ced4da; border-radius: 4px; font-size: 14px; margin: 8px 0; }
.delete-confirm input[type="text"]:focus { outline: none; border-color: #dc3545; box-shadow: 0 0 0 0.2rem rgba(220,53,69,.25); }
.delete-confirm-actions { display: flex; gap: 10px; margin-top: 8px; }

/* Edit mode banner */
.edit-banner { background: #cfe2ff; border: 1px solid #9ec5fe; color: #084298; padding: 12px 16px; border-radius: 4px; margin-bottom: 20px; }
.edit-banner .info-text { color: #084298; }
.btn:hover { background: #e9ecef; }
.btn-secondary { background: #6c757d; border-color: #6c757d; color: #fff; }
.btn-secondary:hover { background: #5a6268; }
.btn-danger { background: #dc3545; border-color: #dc3545; color: #fff; }
.btn-danger:hover { background: #bb2d3b; }
.btn-danger:disabled { background: #e9ecef; border-color: #ced4da; color: #adb5bd; cursor: not-allowed; }
.btn-danger-outline { background: #fff; border-color: #dc3545; color: #dc3545; }
.btn-danger-outline:hover { background: #f8d7da; }
.edit-actions { margin-top: 12px; padding-top: 12px; border-top: 1px solid #c3e6cb; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; }
.edit-actions .info-text { flex-basis: 100%; }
/* Delete actions outside the success box (edit page) */
.edit-actions--standalone { border-top-color: #ddd; }
.delete-confirm { margin-top: 12px; padding: 12px; border: 1px solid #dc3545; border-radius: 4px; background: #fff5f5; }
.delete-confirm p { margin: 4px 0; }
.delete-confirm label { display: block; margin: 8px 0 4px; font-size: 14px; }
.delete-confirm input[type="text"] { width: 100%; max-width: 300px; padding: 8px 10px; border: 1px solid #dc3545; border-radius: 4px; font-size: 14px; }
.delete-confirm-actions { margin-top: 10px; display: flex; gap: 10px; }
.edit-banner { background: #e7f1ff; border: 1px solid #b6d4fe; color: #084298; padding: 12px 15px; border-radius: 4px; margin-bottom: 20px; }
.edit-banner .info-text { display: block; margin-top: 2px; }
.btn-primary { background-color: #0056b3; color: white; }
.btn-primary:hover { background-color: #004494; }
.submit-btn { display: inline-block; padding: 12px 40px; background-color: #0056b3; color: #fff; border: none; border-radius: 4px; font-size: 18px; cursor: pointer; margin-top: 10px; }
.submit-btn:hover { background-color: #004494; }
.required { color: #dc3545; }
.info-text { font-size: 0.85em; color: #666; margin-top: 3px; }

/* AJAX Upload UI */
.dropzone { position: relative; border: 2px dashed #bbb; border-radius: 6px; padding: 24px 16px; text-align: center; background: #fafafa; cursor: pointer; transition: border-color 0.2s, background 0.2s; }
.dropzone:hover, .dropzone.dragover, .dropzone:focus-within { border-color: #0056b3; background: #eef4fb; }
.dropzone.dragover { border-style: solid; }
.dropzone .upload-input { position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; cursor: pointer; }
.dropzone-hint { margin: 0; font-size: 14px; color: #666; pointer-events: none; }
.dropzone.dragover .dropzone-hint { color: #0056b3; font-weight: 600; }
.upload-hint { font-size: 0.8em; color: #888; margin-top: 6px; }
.upload-list { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 10px; }
.upload-item { position: relative; width: 300px; border: 1px solid #ddd; border-radius: 4px; padding: 6px; background: #fff; display: flex; flex-direction: column; align-items: center; }
.upload-item.is-main { border-color: #28a745; box-shadow: 0 0 0 2px rgba(40,167,69,0.25); }
.upload-thumb { max-width: 100%; max-height: 300px; object-fit: contain; border-radius: 3px; }
.upload-pdf-badge { display: inline-block; padding: 6px 12px; background: #dc3545; color: #fff; border-radius: 3px; font-size: 12px; font-weight: 600; margin: 10px 0; }
.upload-fallback-badge { display: inline-block; padding: 6px 12px; background: #6c757d; color: #fff; border-radius: 3px; font-size: 12px; font-weight: 600; margin: 10px 0; }
.upload-meta { width: 100%; margin-top: 6px; text-align: center; }
.upload-name { display: block; font-size: 11px; color: #555; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; max-width: 100%; }
.upload-actions { margin-top: 6px; display: flex; gap: 4px; justify-content: center; flex-wrap: wrap; }
.upload-actions button { font-size: 11px; padding: 3px 8px; border: 1px solid #ccc; border-radius: 3px; background: #f8f9fa; cursor: pointer; }
.upload-actions button:hover { background: #e9ecef; }
.upload-actions .upload-btn-main { border-color: #28a745; color: #155724; }
.upload-actions .upload-btn-main:disabled { opacity: 0.6; cursor: default; }
.upload-actions .upload-btn-del { border-color: #dc3545; color: #721c24; }
.upload-progress { width: 100%; font-size: 13px; color: #0056b3; padding: 6px 0; }
.upload-error { width: 100%; font-size: 13px; color: #721c24; background: #f8d7da; border: 1px solid #f5c6cb; border-radius: 3px; padding: 6px 10px; }

/* Priority definitions */
.prio3 { position: absolute !important; left: -9999px !important; top: -9999px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }

/* Address Row Layout */
.address-row { display: flex; flex-wrap: wrap; gap: 15px; }
.address-row-main { flex: 2; min-width: 250px; }
.address-row-extra { flex: 2; min-width: 250px; }
.address-row-plz { flex: 1; min-width: 100px; }
.address-row-city { flex: 2; min-width: 200px; }
@media (max-width: 600px) {
    .address-row > .form-group { flex: 1 1 100%; }
}

/* Intro text (Kunstauktion explanation) with "Weiterlesen" toggle */
.intro { text-align: left; margin-top: 20px; padding: 16px 20px; background: #fafafa; border: 1px solid #eee; border-radius: 5px; }
.intro-text { overflow: hidden; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; }
.intro.expanded .intro-text { display: block; overflow: visible; -webkit-line-clamp: none; }
.intro-toggle { margin-top: 12px; padding: 8px 18px; background: #0056b3; color: #fff; border: none; border-radius: 4px; font-size: 14px; cursor: pointer; }
.intro-toggle:hover { background: #004494; }
.intro-toggle:focus { outline: 2px solid #0056b3; outline-offset: 2px; }



