/* Gutscheine (06.10.2026): Kauf- und Einloeseseite im Info-Layout (dunkel, Gold, Glas). */
.gs { margin: 6px 0 0; }
.gs-label { display: block; font-size: .78rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ws-gold); margin: 0 0 8px; }
.gs-label small { text-transform: none; letter-spacing: 0; color: var(--ws-mut); font-size: .82rem; }
.gs-wahl { border: 0; margin: 0 0 18px; padding: 0; display: grid; gap: 10px; }
.gs-wahl legend { padding: 0; }
.gs-opt { display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 12px; padding: 14px 16px; border: 1px solid var(--ws-line); border-radius: 14px; background: rgba(255, 255, 255, .03); cursor: pointer; }
.gs-opt:has(input:checked) { border-color: var(--ws-gold); background: rgba(216, 185, 138, .09); }
.gs-opt input { accent-color: #d8b98a; width: 18px; height: 18px; margin: 0; }
.gs-opt span b { display: block; color: var(--ws-ink); }
.gs-opt span small { display: block; color: var(--ws-mut); font-size: .86rem; }
.gs-opt em { font-style: normal; font-weight: 700; color: var(--ws-ink); white-space: nowrap; }
.gs-werte { margin: 0 0 18px; }
.gs-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.gs-chips label { position: relative; }
.gs-chips input[type="radio"] { position: absolute; opacity: 0; pointer-events: none; }
.gs-chips label > span { display: inline-block; padding: 10px 18px; border: 1px solid var(--ws-line); border-radius: 999px; color: var(--ws-ink); cursor: pointer; }
.gs-chips input:checked + span { border-color: var(--ws-gold); background: rgba(216, 185, 138, .14); }
.gs-chips input:focus-visible + span { outline: 2px solid var(--ws-gold); outline-offset: 2px; }
.gs-frei { display: inline-flex; align-items: center; gap: 6px; padding: 0 14px; border: 1px solid var(--ws-line); border-radius: 999px; }
.gs-frei input { width: 120px; background: transparent; border: 0; color: var(--ws-ink); font: inherit; padding: 10px 0; }
.gs-frei input:focus { outline: none; }
.gs-frei span { color: var(--ws-mut); padding: 0 !important; border: 0 !important; }
.gs-felder { display: grid; grid-template-columns: 1fr 1fr; gap: 14px 16px; margin: 0 0 18px; }
.gs-felder label { display: block; min-width: 0; }
.gs-felder .gs-voll { grid-column: 1 / -1; }
.gs input[type="text"], .gs input[type="email"], .gs textarea {
    width: 100%; box-sizing: border-box; background: rgba(0, 0, 0, .3); border: 1px solid var(--ws-line); border-radius: 12px;
    color: var(--ws-ink); font: inherit; font-size: 16px; padding: 11px 13px;
}
.gs input:focus, .gs textarea:focus { outline: 2px solid rgba(216, 185, 138, .55); outline-offset: 1px; }
.gs textarea { resize: vertical; }
.gs-summe { display: flex; justify-content: space-between; align-items: baseline; padding: 14px 2px; border-top: 1px solid var(--ws-line); margin: 0 0 12px; }
.gs-summe b { font-size: 1.5rem; }
.gs-fehler { color: #ffb4a8; background: rgba(255, 90, 70, .1); border: 1px solid rgba(255, 120, 100, .35); border-radius: 12px; padding: 10px 14px; }
.gs-paypal { min-height: 60px; margin: 0 0 10px; background: #fff; border-radius: 14px; padding: 14px 14px 4px; }
.gs-paypal .gs-hinweis { color: #555; }
.gs-hinweis { font-size: .86rem !important; color: var(--ws-mut); }
.gs-karte { border: 1px solid var(--ws-gold); border-radius: 18px; padding: 22px; background: linear-gradient(160deg, rgba(216, 185, 138, .12), rgba(255, 255, 255, .02)); margin: 0 0 18px; }
.gs-karte .gs-code { font-family: ui-monospace, Menlo, monospace; font-size: 1.5rem; letter-spacing: .12em; color: var(--ws-ink); margin: 6px 0 2px; }
.gs-karte dl { display: grid; grid-template-columns: auto 1fr; gap: 4px 14px; margin: 12px 0 0; }
.gs-karte dt { color: var(--ws-mut); }
.gs-karte dd { margin: 0; color: var(--ws-ink); }
.gs-reihe { display: flex; gap: 10px; align-items: stretch; }
.gs-reihe input { flex: 1; text-transform: uppercase; letter-spacing: .08em; }
.gs-reihe button { flex: 0 0 auto; border: 0; cursor: pointer; }
@media (max-width: 599px) {
    .gs-felder { grid-template-columns: 1fr; }
    .gs-reihe { flex-direction: column; }
}
