/* minimal fallback styles */
.aussch-single { max-width:1100px; margin:20px auto; font-family:Arial, sans-serif; color:#222; }
.btn-primary { background:#0b3d91; color:#fff; padding:8px 12px; border-radius:6px; }

/* Form Grid */
.aussch-form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.aussch-form-grid .col { display:flex; flex-direction:column; gap:8px; }
.aussch-form-grid .col-full { grid-column:1 / -1; display:flex; flex-direction:column; gap:8px; }

.aussch-form-grid label { font-size:14px; color:#333; }
.aussch-form-grid input[type="text"],
.aussch-form-grid input[type="email"],
.aussch-form-grid input[type="tel"],
.aussch-form-grid input[type="file"],
.aussch-form-grid textarea { width:100%; padding:8px; border:1px solid #ddd; border-radius:6px; box-sizing:border-box; }

/* Buttons */
.btn { padding:8px 14px; border-radius:6px; border:none; cursor:pointer; }
.btn-primary { background:#0b3d91; color:#fff; }

/* Modal: Overlay und Vordergrund */
.aussch-modal {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.55);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 999999;
  -webkit-overflow-scrolling: touch;
}

/* Modal-Container */
.aussch-modal-inner {
  background: #fff;
  padding: 20px;
  border-radius: 10px;
  width: 760px;
  max-width: 96%;
  max-height: 92vh;
  overflow: auto;
  box-shadow: 0 12px 40px rgba(0,0,0,0.35);
  position: relative;
  z-index: 1000000;
}

/* Verhindere Scrollen des Body, wenn Modal offen */
body.aussch-modal-open {
  overflow: hidden !important;
  touch-action: none;
}

/* Klicks auf Overlay nicht durchlassen */
.aussch-modal[aria-hidden="false"] { pointer-events: auto; }
.aussch-modal[aria-hidden="true"]  { pointer-events: none; }

/* Fokus sichtbarer Ring */
.aussch-modal-inner :focus { outline: 3px solid rgba(11,61,145,0.25); outline-offset: 2px; }

/* Form Grid */
.aussch-form-grid { display:grid; grid-template-columns: 1fr 1fr; gap:12px; }
.aussch-form-grid .col { display:flex; flex-direction:column; gap:8px; }
.aussch-form-grid .col-full { grid-column:1 / -1; display:flex; flex-direction:column; gap:8px; }

.aussch-form-grid label { font-size:14px; color:#333; }
.aussch-form-grid input[type="text"],
.aussch-form-grid input[type="email"],
.aussch-form-grid input[type="tel"],
.aussch-form-grid input[type="file"],
.aussch-form-grid textarea { width:100%; padding:8px; border:1px solid #ddd; border-radius:6px; box-sizing:border-box; }

/* Buttons */
.btn { padding:8px 14px; border-radius:6px; border:none; cursor:pointer; }
.btn-primary { background:#0b3d91; color:#fff; }

/* Result */
.aussch-submit-result { font-size:14px; }

/* Status dots (falls benötigt) */
.dot { display:inline-block; width:12px; height:12px; border-radius:50%; margin-right:8px; vertical-align:middle; }
.status-green { background:#28a745; }
.status-yellow { background:#ffc107; }
.status-red { background:#dc3545; }

/* Responsive: mobile single column */
@media (max-width:720px) {
  .aussch-form-grid { grid-template-columns: 1fr; }
  .aussch-modal-inner { width:95%; padding:14px; }
}

/* Übersichtsseite */
/* Archive Übersicht: Grid / Item */
.aussch-archive-wrap { max-width:1200px; margin:28px auto; padding:18px; }
.aussch-archive-header { margin-bottom:18px; }
.aussch-archive-title { font-size:28px; color:#0b3b66; margin:0 0 6px; }
.aussch-archive-intro { color:#666; margin:0 0 18px; }

.aussch-list-grid { display:flex; flex-direction:column; gap:14px; }
.aussch-item { background:#fff; border:1px solid #e9eef6; border-radius:8px; padding:14px; }
.aussch-item-grid { display:grid; grid-template-columns: 1fr 220px; gap:12px; align-items:start; }
@media (max-width:900px){ .aussch-item-grid { grid-template-columns: 1fr; } .aussch-item-side { margin-top:10px; } }

.aussch-item-title { margin:0 0 6px; font-size:18px; }
.aussch-item-title a { color:#0b3b66; text-decoration:none; font-weight:600; }
.aussch-item-title a:hover { text-decoration:underline; }

.aussch-item-meta { font-size:13px; color:#777; margin-bottom:8px; }
.aussch-item-excerpt { color:#333; line-height:1.5; margin-bottom:10px; }

.meta-pill { display:inline-block; background:#f3f6fb; color:#0b3b66; padding:6px 8px; border-radius:6px; font-size:13px; margin-right:8px; margin-bottom:6px; }

.aussch-item-side { text-align:center; }
.aussch-ampel-small { width:18px; height:18px; border-radius:50%; margin:6px auto 10px; box-shadow:0 0 0 4px rgba(0,0,0,0.03) inset; }
.aussch-ampel-small.green { background:#2fb36b; }
.aussch-ampel-small.yellow { background:#f0b429; }
.aussch-ampel-small.red { background:#e03b3b; }
.aussch-ampel-small.gray { background:#cfd6dd; }

.aussch-download-small { display:block; background:#0b3b66; color:#fff; padding:8px 10px; border-radius:6px; text-decoration:none; margin-bottom:8px; font-weight:600; }
.aussch-no-file { color:#999; font-size:13px; margin-bottom:8px; }
.aussch-submit-small { display:block; color:#0b6bb0; text-decoration:none; padding:6px 8px; border-radius:6px; border:1px solid transparent; background:transparent; }
.aussch-submit-small:hover { text-decoration:underline; color:#084a78; }

.aussch-legend-small { margin-top:18px; font-size:13px; color:#444; background:#f7f9fb; padding:8px 10px; border-radius:6px; display:inline-flex; gap:8px; align-items:center; }
.legend-dot { width:10px; height:10px; border-radius:50%; display:inline-block; margin-left:6px; }
.legend-dot.green { background:#2fb36b; }
.legend-dot.yellow { background:#f0b429; }
.legend-dot.red { background:#e03b3b; }
.legend-text { margin-left:4px; color:#555; font-size:13px; margin-right:8px; }



/* Formular bearbeiten */

.hs-edit-wrapper {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    max-width: 800px;
    margin: 0 auto;
}

.hs-title {
    font-size: 26px;
    margin-bottom: 20px;
    color: #0056d6;
}

.hs-label {
    font-weight: 600;
    margin-top: 15px;
    display: block;
}

.hs-input, .hs-textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-top: 5px;
}

.hs-textarea {
    height: 150px;
}

.hs-btn-primary {
    background: #0056d6;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    border: none;
    margin-top: 20px;
    cursor: pointer;
}

.hs-btn-secondary {
    background: #444;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    border: none;
    margin-left: 10px;
    cursor: pointer;
}

.hs-success {
    background: #e6f7e6;
    border-left: 4px solid #2ecc71;
    padding: 10px;
    margin-bottom: 20px;
}

.hs-download {
    color: #0056d6;
    font-weight: 600;
}


/* Formular Standard Ausschreibung */

.hs-lv-form {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    margin-bottom: 30px;
}

.hs-lv-form label {
    font-weight: 600;
    margin-top: 15px;
    display: block;
}

.hs-lv-form input,
.hs-lv-form select,
.hs-lv-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-top: 5px;
}

.hs-submit-btn {
    background: #0056d6;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    margin-top: 25px;
    border: none;
    cursor: pointer;
    width: 100%;
}


/* Formular Eigene Ausschreibung*/

/* Allgemeines Formular-Layout */
.hs-lv-form {
    background: #fff;
    padding: 25px;
    border-radius: 8px;
    border: 1px solid #e5e5e5;
    margin-bottom: 30px;
}

/* Labels */
.hs-lv-form label {
    font-weight: 600;
    margin-top: 15px;
    display: block;
}

/* Inputs, Selects, Textareas */
.hs-lv-form input,
.hs-lv-form select,
.hs-lv-form textarea {
    width: 100%;
    padding: 10px;
    border: 1px solid #ccc;
    border-radius: 6px;
    margin-top: 5px;
}

/* Submit-Button */
.hs-submit-btn {
    background: #0056d6;
    color: #fff;
    padding: 12px 20px;
    border-radius: 6px;
    margin-top: 25px;
    border: none;
    cursor: pointer;
    width: 100%;
}

/* LV-Positionen Container */
.lv-position {
    border: 1px solid #ddd;
    padding: 15px;
    border-radius: 6px;
    margin-bottom: 20px;
    background: #fafafa;
}

/* LV-Positionen Überschrift */
.lv-position h4 {
    margin-top: 0;
    font-size: 16px;
    font-weight: 600;
}

/* Add-Button */
#lv-add-btn {
    background: #0056d6;
    color: #fff;
    padding: 10px 15px;
    border-radius: 6px;
    margin-top: 20px;
    border: none;
    cursor: pointer;
}

/* Remove-Button */
.lv-remove-btn {
    background: #d60000;
    color: #fff;
    padding: 8px 12px;
    border-radius: 6px;
    margin-top: 10px;
    border: none;
    cursor: pointer;
}


/* Ampelsystem Ansicht-Übersicht */

.aussch-ampel-small,
.aussch-status {
  border-radius:50%;
  display:inline-block;
}

.aussch-ampel-small.green,
.status-green { background:#28a745; }

.aussch-ampel-small.yellow,
.status-yellow { background:#ffc107; }

.aussch-ampel-small.red,
.status-red { background:#dc3545; }

.aussch-ampel-small.gray,
.status-unknown { background:#cccccc; }

.aussch-submit-small,
.btn.btn-primary {
  background:#0b3d91;
  color:#fff;
  border:none;
  border-radius:6px;
  padding:8px 14px;
  text-decoration:none;
  cursor:pointer;
}

.aussch-submit-small:hover,
.btn.btn-primary:hover {
  background:#06285f;
}


