/* ============================================================
   ALS AUSSTELLER BEWERBEN (seit Schritt 42)

   Eigene Datei, damit seite.css unverändert bleibt. Raster und
   linke Spalte kommen aus mitglied.css, Meldungen, Fehler und
   Dank aus verein.css. Diese Datei wird von der Seite selbst
   eingebunden (templates/seiten/aussteller.php).
   ============================================================ */

#ausstellerFormular [aria-invalid="true"] {
    border-color: #b3261e;
}

/* Häkchen „Stromanschluss“ auf Höhe des Eingabefelds daneben */
.aussteller-strom {
    display: flex;
    align-items: flex-end;
    padding-bottom: 10px;
}

.aussteller-foto input[type="file"] {
    width: 100%;
    padding: 12px;
    border: 2px dashed var(--line, #E2D9C8);
    border-radius: var(--r-m, 14px);
    background: var(--paper, #FDF8EF);
    font: inherit;
    cursor: pointer;
}

.aussteller-foto input[type="file"]:hover,
.aussteller-foto input[type="file"]:focus-visible {
    border-color: var(--brand, #C8502A);
}

.aussteller-fotohinweis {
    margin: 6px 0 0;
    font-size: .84rem;
}

.aussteller-vorschau {
    margin: 12px 0 0;
    display: grid;
    gap: 6px;
    justify-items: start;
}

.aussteller-vorschau[hidden] {
    display: none;
}

.aussteller-vorschau img {
    max-width: 100%;
    max-height: 260px;
    border-radius: var(--r-m, 14px);
    box-shadow: var(--sh-1, 0 2px 10px rgba(60, 44, 28, .12));
}

.aussteller-vorschau figcaption {
    font-size: .82rem;
}

@media (max-width: 560px) {
    .aussteller-strom {
        padding-bottom: 0;
    }
}

/* ============================================================
   HINWEIS, BELEGUNG UND STANDORT (seit Schritt 58)
   ============================================================ */

/* Frei pflegbarer Hinweis unter der Einleitung */
.aussteller-hinweis {
    margin: 16px 0 0;
    padding: 14px 18px;
    border-radius: var(--r-m, 14px);
    border: 1.5px solid rgba(200, 80, 42, .28);
    background: var(--paper, #FDF8EF);
    color: var(--ink, #2B2118);
    font-size: .95rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

/* Belegung: Zelt bzw. draußen voll, Warteliste */
.aussteller-belegung {
    margin: 0 0 16px;
    padding: 12px 16px;
    border-radius: var(--r-s, 12px);
    border: 1.5px solid rgba(166, 120, 20, .4);
    background: rgba(214, 168, 54, .12);
    color: #5b4208;
    font-size: .92rem;
    line-height: 1.5;
}

/* Auswahl des Standorts */
.aussteller-standort {
    margin: 0 0 14px;
    padding: 0;
    border: 0;
    min-width: 0;
}

.aussteller-standort legend {
    padding: 0;
    margin-bottom: 8px;
    font-weight: 700;
    font-size: .9rem;
}

.aussteller-standorte {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 22px;
}

.aussteller-standort .aussteller-standorte label.chk {
    display: flex;
    gap: 10px;
    align-items: flex-start;
    margin-bottom: 4px;
    font-size: .92rem;
    font-weight: 600;
}

/* Die allgemeinen Feldregeln (.f input) gelten nicht für die Auswahlknöpfe */
.aussteller-standort .aussteller-standorte input[type="radio"] {
    width: 19px;
    height: 19px;
    margin: 2px 0 0;
    padding: 0;
    flex: none;
    accent-color: var(--brand, #C8502A);
}

.aussteller-standorte .chk > span {
    display: block;
}

.aussteller-standorte .chk small {
    display: block;
    color: #8a5a07;
    font-size: .8rem;
}

.aussteller-standort[aria-invalid="true"] .aussteller-standorte {
    padding: 8px 10px;
    border: 1.5px solid #b3261e;
    border-radius: var(--r-s, 12px);
}

@media (max-width: 560px) {
    .aussteller-standorte {
        flex-direction: column;
        gap: 4px;
    }
}
