/* Niesen Umzugsgutliste – nur Ergänzungen; Inputs/Selects/Buttons kommen aus dem Theme (uk-input, uk-select, uk-button) */
.niesen-ugl .ugl-section { margin-top: 0; }
.niesen-ugl .ugl-hr { margin: 60px 0; }
.niesen-ugl .ugl-goods-head h2 { margin: 0; }

/* Felder wie uk-form-white: weiß mit schwarzem Rand */
/* Eingabefelder: weiß mit schwarzem Rand (Selektor stärker als die Theme-Regel form.uk-form-white .uk-input) */
body .niesen-ugl form.uk-form-white .uk-input, body .niesen-ugl form.uk-form-white .uk-textarea, body .niesen-ugl form.uk-form-white .uk-select { background-color: #fff; border: 0.75px solid #000; }

/* Labels exakt wie <strong> im Theme-Text (Wort „Umzugsgutliste"): Univers, 600, Größe wie p, Laufweite 0,42px */
.niesen-ugl .uk-form-label { display: block; margin-bottom: 6px; font-family: "Univers", sans-serif; font-size: inherit; font-weight: 600; letter-spacing: 0.42px; line-height: 1.4; }
.niesen-ugl .ugl-req { color: #f00; }
.niesen-ugl .ugl-hp { position: absolute; left: -9999px; width: 1px; height: 1px; overflow: hidden; }

/* Gruppen = uk-accordion-default (Theme-Markup wie auf den Leistungsseiten); Summe je Block vor dem Icon */
.niesen-ugl .ugl-groups { margin-top: 20px; }
.niesen-ugl .ugl-group .ugl-items { padding: 0 0 20px 40px !important; } /* 20 px rechts vom Pfeil-Fluchtpunkt */
.niesen-ugl .ugl-items > div { display: flex; }
.niesen-ugl .ugl-items > :not(.uk-first-column) .ugl-item { border-left: 0.75px solid #000; padding-left: 35px; }

/* Mengen-Zähler */
.niesen-ugl .ugl-item { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex: 1; padding: 8px 35px 8px 0; }
.niesen-ugl .ugl-item-label { flex: 1 1 0; min-width: 0; overflow-wrap: anywhere; hyphens: auto; }
.niesen-ugl .ugl-counter { display: flex; align-items: center; gap: 4px; flex: none; }
.niesen-ugl .ugl-step {
  width: 40px; height: 40px; border: 0.75px solid #000; background: #fff; color: #000;
  font-size: 1.4rem; line-height: 1; cursor: pointer; padding: 0;
}
.niesen-ugl .ugl-step:hover, .niesen-ugl .ugl-step:focus-visible { background: #ffed00; }
.niesen-ugl .ugl-step:focus-visible { outline: 2px dotted #000; outline-offset: 2px; }
.niesen-ugl .ugl-count { width: 64px; height: 40px; text-align: center; padding: 0 4px; -moz-appearance: textfield; background: #fff; }
.niesen-ugl .ugl-count::-webkit-outer-spin-button, .niesen-ugl .ugl-count::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.niesen-ugl .ugl-re { min-width: 44px; text-align: right; margin-left: 8px; font-weight: 700; }
.niesen-ugl .ugl-re-unit { width: 24px; font-size: .8rem; }

/* Volumenleiste im Look der Sticky-Bottom-Bar (uk-section-primary = gelb); rastet am Ende der Liste ein */
.niesen-ugl .ugl-bar {
  position: sticky; bottom: 0; z-index: 1100;
  width: 100vw; margin-left: calc(50% - 50vw); padding: 20px 0;
}
.niesen-ugl .ugl-bar-text { margin: 0; text-align: center; }
.niesen-ugl .ugl-total-re { margin-left: 8px; }

/* Nur auf dieser Seite: Sticky-Bottom-Kontaktleiste und Kontaktformular im Footer ausblenden */
body.niesen-ugl-page { overflow-x: clip; }
/* Sticky der Volumenleiste: Karten-Container im Pagebuilder (overflow:hidden) würde Sticky und 100vw-Breite blockieren */
body.niesen-ugl-page .uk-card:has(.niesen-ugl) { overflow: visible !important; }
body.niesen-ugl-page #uk-stickybottom { display: none !important; }
body.niesen-ugl-page footer > .uk-section-muted:first-of-type { display: none; }
html:has(body.niesen-ugl-page) { scroll-padding-bottom: 120px; }

/* Fehlermeldungen (barrierefrei: Text + Rahmen + Symbol, nicht nur Farbe) */
.niesen-ugl .ugl-error { margin: 6px 0 0; color: #b00000; font-weight: 700; }
.niesen-ugl .ugl-error::before { content: "⚠ "; }
.niesen-ugl [aria-invalid="true"] { border-color: #b00000 !important; border-width: 2px !important; }
.niesen-ugl .ugl-summary { padding: 16px 20px; margin-bottom: 30px; border: 2px solid #b00000; background: #fff; }
.niesen-ugl .ugl-summary ul { margin: 8px 0 0; padding-left: 20px; }
.niesen-ugl .ugl-summary a { color: #b00000; font-weight: 700; text-decoration: underline; }
.niesen-ugl .ugl-message:focus, .niesen-ugl .ugl-summary:focus { outline: 2px dotted #000; outline-offset: 4px; }
.niesen-ugl abbr[title] { text-decoration: none; }
@media (prefers-reduced-motion: reduce) { .niesen-ugl * { transition: none !important; } }

.niesen-ugl .ugl-check { display: flex; gap: 12px; align-items: flex-start; }
.niesen-ugl .ugl-check input { margin-top: 4px; flex: none; }

@media (max-width: 639px) {
  .niesen-ugl .ugl-item { flex-wrap: wrap; }
  .niesen-ugl .ugl-item-label { flex-basis: 100%; }
  .niesen-ugl .ugl-counter { width: 100%; }
  .niesen-ugl .ugl-re { margin-left: auto; }
}
