.gs-anmeldung { max-width: 1100px; }
.gs-anmeldung .gs-meta { font-size: 1.05rem; }
.gs-card { border: 1px solid rgba(0,0,0,.15); border-radius: .5rem; padding: 1rem; margin-bottom: 1.25rem; background: #fff; }
.gs-card > legend { float: none; width: auto; padding: 0 .4rem; margin-bottom: .25rem; font-size: 1.15rem; font-weight: 600; }
.gs-summe #gs-gesamt { font-size: 1.2rem; }
.gs-hp { position: absolute !important; left: -9999px; width: 1px; height: 1px; overflow: hidden; }
.gs-danke .table td, .gs-danke .table th { vertical-align: top; }

/* Tierzeilen wie Meldebogen */
.gs-tab-head { display: none; }
.gs-pos { display: grid; gap: .35rem .5rem; align-items: center; padding: .6rem; margin-bottom: .5rem;
  border: 1px solid rgba(0,0,0,.2); border-radius: .4rem; background: #fafaf7;
  grid-template-columns: 2rem 1fr 1fr 1fr 1fr;
  grid-template-areas:
    "nr typ typ akt akt"
    "nr k1 k2 k3 k4"
    "nr rasse rasse rasse rasse"
    "nr farbe farbe farbe farbe"
    "nr ez ez vk vk"; }
.gs-c-nr { grid-area: nr; align-self: start; font-size: 1.1rem; }
.gs-c-typ { grid-area: typ; }
.gs-c-kl:nth-of-type(3) { grid-area: k1; }
.gs-c-kl:nth-of-type(4) { grid-area: k2; }
.gs-c-kl:nth-of-type(5) { grid-area: k3; }
.gs-c-kl:nth-of-type(6) { grid-area: k4; }
.gs-c-rasse { grid-area: rasse; }
.gs-c-farbe { grid-area: farbe; }
.gs-c-ez { grid-area: ez; }
.gs-c-vk { grid-area: vk; }
.gs-c-akt { grid-area: akt; text-align: right; white-space: nowrap; }
.gs-c-kl label { display: flex; flex-direction: column; align-items: center; font-size: .8rem; margin: 0; gap: .15rem; cursor: pointer; }
.gs-c-kl .gs-kl-radio input { width: 1.5rem; height: 1.5rem; margin: 0; }
.gs-c-kl input[type=number] { text-align: center; padding-left: .2rem; padding-right: .2rem; }
.gs-pos.gs-einzel .gs-kl-anz { display: none; }
.gs-pos:not(.gs-einzel) .gs-kl-radio { display: none; }
.gs-ez-lab { display: flex; align-items: center; gap: .35rem; margin: 0; cursor: pointer; }
.gs-c-vk input::placeholder { color: #999; }
.gs-c-vk::before { content: "VK-Preis €"; font-size: .8rem; display: block; color: #555; }
.gs-pos .is-invalid { border-color: #dc3545; }

@media (min-width: 992px) {
  .gs-tab-head, .gs-pos {
    display: grid; grid-template-areas: none;
    grid-template-columns: 2.2rem 7.5rem 3.2rem 3.2rem 3.2rem 3.2rem minmax(10rem, 1.3fr) minmax(9rem, 1fr) 3rem 6rem 4.6rem;
    gap: .4rem; align-items: center;
  }
  .gs-tab-head { font-size: .75rem; font-weight: 600; text-align: center; line-height: 1.1; padding: 0 .6rem .25rem; border-bottom: 2px solid #333; margin-bottom: .35rem; }
  .gs-tab-head div:nth-child(7), .gs-tab-head div:nth-child(8) { text-align: left; }
  .gs-pos { padding: .3rem .6rem; margin-bottom: .25rem; border-radius: .25rem; }
  .gs-pos > .gs-c { grid-area: auto !important; }
  .gs-c-kl label span, .gs-ez-lab span { display: none; }
  .gs-c-ez { text-align: center; }
  .gs-ez-lab { justify-content: center; }
  .gs-c-vk::before { display: none; }
  .gs-c-nr { align-self: center; text-align: center; font-size: 1rem; }
}
