/* VGM (Formular 7) – Ergänzungen zu ugg-forms.css */

/* Native Repeater-Buttons ersetzt durch eigene „Weitere …“-Buttons */
form.uggf--vgm .gf-repeater-field-button-add, form.uggf--vgm .repeater-field-footer { display: none !important; }


/* Zeilen */
form.uggf--vgm .repeater-field-item { transition: box-shadow .25s; }
form.uggf--vgm .repeater-field-item.uggf-row--checking .repeater-field-header-title::after { content: ''; display: inline-block; width: 14px; height: 14px; margin-left: 10px; vertical-align: -2px; border: 2px solid rgba(27, 27, 27, .15); border-top-color: var(--uggf-green); border-radius: 50%; animation: uggf-spin .7s linear infinite; }
form.uggf--vgm .repeater-field-header-acctions [role="button"]:focus-visible { outline: none; box-shadow: var(--uggf-focus); border-radius: 50%; }
form.uggf--vgm .uggf-row-notice:empty { display: none; }
form.uggf--vgm .uggf-row-notice { margin-top: 10px; }
form.uggf--vgm .gfield[hidden] { display: none !important; }

/* Zuordnung Adressen ↔ Ansprechperson (3041): Eingabefeld bleibt für die Daten, sichtbar sind die Chips */
form.uggf--vgm .uggf-assign input[type="text"] { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0; pointer-events: none; }
form.uggf--vgm .uggf-assign > label, form.uggf--vgm .uggf-assign > .gfield_label { display: block; }
form.uggf--vgm .uggf-chips, form.uggf--vgm #address-toggle-container { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
form.uggf--vgm .uggf-chips[hidden] { display: none; }
#gform_7 #field_7_3036 .gfield.uggf-assign--solo, form.uggf--vgm .gfield.uggf-assign--solo { display: none !important; } /* nur eine Person: alle Adressen gehören ihr, Feld aus. ID-Selektor schlägt die globale Regel #field_7_3036 … :first-child … {display:block!important} */

/* Sammelmeldung vom Server */
.uggf-server-errors { margin: 8px 0 0; padding-left: 18px; }

/* Aus dem früheren Seiten-CSS (Bricks 146) übernommen – Optik bleibt */
form.uggf--vgm .gform_body { padding: 0 !important; }
form.uggf--vgm .ansprechpartner-erklaerung { height: 0; overflow: hidden; }
form.uggf--vgm [data-map_id="field_7_3036"] .repeater-field-item:first-child .ansprechpartner-erklaerung { height: auto; }
form.uggf--vgm .ansprechpartner-erklaerung .icon-box { display: flex; flex-direction: row; gap: 10px; padding: 15px 10px; border-radius: 16px; background: #f7f7f7; color: var(--bricks-color-oycecc); }

/* „Weitere …“-Buttons und Adress-Chips: Optik wie bisher (globale Styles + früheres Seiten-CSS), hier nur Button-Technik */
form.uggf--vgm .global-address-add-wrapper, form.uggf--vgm .global-contact-add-wrapper { text-align: center; margin-top: 14px; }
form.uggf--vgm .global-address-add-wrapper[hidden], form.uggf--vgm .global-contact-add-wrapper[hidden], form.uggf--vgm .duplicate-address-hinweis[hidden] { display: none; }
form.uggf--vgm .global-address-add, form.uggf--vgm .global-contact-add { font: inherit; font-size: 16px; font-weight: 600; cursor: pointer; }
form.uggf--vgm .global-address-add:focus-visible, form.uggf--vgm .global-contact-add:focus-visible { outline: none; box-shadow: var(--uggf-focus); }
form.uggf--vgm .ugg-copy-address-toggle { display: inline; width: max-content; margin: 0 5px 5px 0; padding: 5px 10px; border: solid 1px #DFE0E1; border-radius: 40px; background: white; color: inherit; font: inherit; cursor: pointer; }
form.uggf--vgm .ugg-copy-address-toggle.active { background: #1b1b1b; color: white; border-color: #1b1b1b; }
form.uggf--vgm .ugg-copy-address-toggle:focus-visible { outline: none; box-shadow: var(--uggf-focus); }
form.uggf--vgm .address-toggles { display: flex; flex-wrap: wrap; gap: 15px; }
form.uggf--vgm .address-toggles[hidden] { display: none; }

/* „Ohne Titel“ (Beschriftung der Repeater-Endfelder) ausblenden – bei 3023 war das schon so, jetzt auch bei 3036 */
form.uggf--vgm #field_7_3023 > .gfield_label, form.uggf--vgm #field_7_3036 > .gfield_label { display: none !important; }

/* Rechtstexte (Bricks-Akkordeon im HTML-Feld, Schritt „Abschluss“): Titel und Plus bleiben in einer Zeile,
   lange Titel brechen sauber um statt das Icon unter den Text zu schieben */
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper { flex-wrap: nowrap; gap: 14px; cursor: pointer; }
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper > :first-child { flex: 1 1 auto; min-width: 0; }
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper > :last-child { flex: none; }
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper .brxe-heading { line-height: 1.3; overflow-wrap: anywhere; hyphens: auto; }
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper:focus-visible { outline: none; box-shadow: var(--uggf-focus); }
@media (max-width: 767px) {
	form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper { padding: 16px 18px 16px 20px; border-radius: 28px; }
}
/* Offener Eintrag: Textkarte hängt eingerückt unter der Pille (keine eckigen Kanten neben den runden Enden),
   aktive Pille ohne grauen Ring, Textrand nicht doppelt */
form.uggf--vgm .brxe-accordion-nested .accordion-title-wrapper { position: relative; z-index: 1; }
form.uggf--vgm .brxe-accordion-nested .brx-open > .accordion-title-wrapper { border-color: #1b1b1b !important; }
form.uggf--vgm .brxe-accordion-nested .accordion-content-wrapper { width: auto; align-self: stretch; margin: -28px 16px 0 !important; padding-top: 28px !important; border-radius: 0 0 24px 24px; }
form.uggf--vgm .brxe-accordion-nested .legal-tab-content { padding: 20px 2px 24px !important; line-height: 1.55; } /* innerer Text bringt selbst 20 px Rand mit */
form.uggf--vgm .brxe-accordion-nested .legal-tab-content > *:last-child { margin-bottom: 0; }
