/* ======================================================================
   GUTSCHEIN KAUFEN (gutschein.js) – im Haus-Look
   ====================================================================== */
.gk{margin:clamp(24px,3.4vw,40px) auto 0;width:min(100%,760px);scroll-margin-top:96px}
.gk.ist-kasse{width:min(100%,1180px)}
.gk-ohne{text-align:center}
.gk-karte{
  position:relative;padding:clamp(22px,3.4vw,38px) clamp(18px,3.4vw,40px) clamp(20px,3vw,32px);border-radius:28px;
  color:#330033;background:linear-gradient(176deg,var(--paper-white) 0%,#FBF1E2 100%);
  box-shadow:0 30px 70px rgba(8,0,10,.55),inset 0 0 0 1px rgba(206,162,76,.6);
}
.gk-karte::before{content:"";position:absolute;left:28px;right:28px;top:0;height:4px;border-radius:0 0 4px 4px;background:linear-gradient(90deg,var(--classic-gold),#F3E3BC 50%,var(--classic-gold))}
.gk-karte[data-ansicht="kasse"]{padding:clamp(12px,1.6vw,18px)}
.gk-karte[data-ansicht="kasse"]::before{display:none}
.gk-kopf{text-align:center}
.gk-eyebrow{margin:0 0 6px;font-size:.75rem;font-weight:800;letter-spacing:.16em;text-transform:uppercase;color:#9A7230}
.gk-kopf h3{margin:0;font-family:var(--f-display);font-weight:400;font-size:clamp(1.75rem,3.4vw,2.375rem);line-height:1;letter-spacing:.02em;color:var(--velvet-night);text-shadow:none}

/* Betraege */
.gk-betraege{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:clamp(18px,2.4vw,24px)}
.gk-betrag{
  display:grid;gap:2px;justify-items:center;align-content:center;min-height:76px;padding:10px 6px;border-radius:18px;cursor:pointer;
  border:0;background:#fff;color:var(--velvet-night);font-family:var(--f-body);
  box-shadow:inset 0 0 0 1.5px rgba(126,90,28,.28),0 6px 14px rgba(51,0,51,.06);transition:box-shadow .18s,transform .18s,background .18s;
}
.gk-betrag b{font-size:1.375rem;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.gk-betrag small{font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#7A5A7C}
.gk-betrag:hover{transform:translateY(-2px);box-shadow:inset 0 0 0 2px var(--classic-gold),0 10px 20px rgba(51,0,51,.1)}
.gk-betrag[aria-checked="true"]{background:linear-gradient(180deg,#FFF6DF 0%,#F3E3BC 35%,#DFC384 75%,var(--classic-gold) 100%);box-shadow:0 10px 22px rgba(126,90,28,.32),inset 0 0 0 1.5px rgba(126,90,28,.4)}
.gk-betrag[aria-checked="true"] small{color:#4A1250}
.gk-betrag:focus-visible{outline:3px solid var(--magenta-pulse);outline-offset:3px}
.gk-betrag--wunsch b{font-size:1rem;line-height:1.2;hyphens:manual}

/* Wunschbetrag */
.gk-wunsch{margin:16px auto 0;max-width:340px;text-align:center}
.gk-wunsch[hidden]{display:none}
.gk-wunsch label{display:block;margin-bottom:6px;font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7A5A7C}
.gk-wunsch-feld{position:relative}
.gk-wunsch-feld input{
  width:100%;height:58px;padding:0 48px 0 20px;border-radius:16px;border:2px solid rgba(126,90,28,.35);background:#fff;
  font-family:var(--f-body);font-size:1.5rem;font-weight:800;text-align:center;color:var(--velvet-night);font-variant-numeric:tabular-nums;
}
.gk-wunsch-feld input:focus{outline:0;border-color:var(--classic-gold);box-shadow:0 0 0 4px rgba(206,162,76,.25)}
.gk-wunsch-feld span{position:absolute;right:18px;top:50%;transform:translateY(-50%);font-size:1.25rem;font-weight:800;color:#7A5A7C}
.gk-wunsch-hilfe{margin:6px 0 0;font-size:.8125rem;color:#7A5A7C}

/* Anzahl + Summe */
.gk-zeile{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px 20px;margin-top:22px;padding-top:18px;border-top:1px dashed rgba(126,90,28,.35)}
.gk-anzahl{display:flex;align-items:center;gap:12px;font-size:.8125rem;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:#7A5A7C}
.gk-zaehler{display:inline-flex;align-items:center;gap:2px;height:50px;padding:4px;border-radius:999px;background:#fff;box-shadow:inset 0 0 0 1.5px rgba(126,90,28,.3)}
.gk-zaehler button{width:42px;height:42px;border-radius:50%;border:0;background:var(--stage-haze);color:var(--velvet-night);font-size:1.375rem;font-weight:700;cursor:pointer;line-height:1}
.gk-zaehler button:hover{background:#EBD3EE}
.gk-zaehler output{min-width:34px;text-align:center;font-size:1.25rem;font-weight:800;color:var(--velvet-night);font-variant-numeric:tabular-nums;letter-spacing:0;text-transform:none}
.gk-summe{display:grid;justify-items:end;line-height:1.15}
.gk-summe-text{font-size:.875rem;color:#7A5A7C}
.gk-summe-betrag{font-family:var(--f-display);font-weight:400;font-size:2.25rem;letter-spacing:.02em;color:var(--velvet-night)}

.gk-fehler{margin:14px 0 0;padding:10px 14px;border-radius:12px;background:#FCE8E6;color:#8E1B14;font-size:.9375rem;font-weight:600;text-align:center}
.gk-fehler[hidden]{display:none}
.gk-weiter{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:62px;margin-top:18px;padding:0 24px;border:0;border-radius:999px;cursor:pointer;
  background:var(--signal-red);color:#fff;font-family:var(--f-body);font-size:1.1875rem;font-weight:800;
  box-shadow:0 14px 30px rgba(230,14,8,.38);transition:background .18s,transform .16s,box-shadow .18s;
}
.gk-weiter i{font-style:normal;transition:transform .2s}
.gk-weiter:hover:not(:disabled){background:#C60B06;transform:translateY(-2px)}
.gk-weiter:hover:not(:disabled) i{transform:translateX(4px)}
.gk-weiter:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}
.gk-weiter.laedt{opacity:.85;cursor:progress}
.gk-weiter:focus-visible{outline:3px solid var(--magenta-pulse);outline-offset:3px}
.gk-dreh{display:inline-block;width:18px;height:18px;border-radius:50%;border:2.5px solid currentColor;border-right-color:transparent;animation:gk-dreh .8s linear infinite}
@keyframes gk-dreh{to{transform:rotate(360deg)}}

.gk-vorteile{display:grid;gap:8px;margin:18px 0 0;padding:0;list-style:none}
.gk-vorteile li{display:flex;align-items:flex-start;gap:10px;font-size:.9375rem;line-height:1.45;color:#3D1140}
.gk-vorteile svg{flex:none;width:20px;height:20px;margin-top:1px;fill:none;stroke:#9A7230;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}

/* Kasse */
.gk-kasse[hidden],.gk-wahl[hidden]{display:none}
.gk-leiste{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;padding:8px 8px 14px;border-bottom:1px solid rgba(126,90,28,.22)}
.gk-zurueck{
  display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 18px;border-radius:999px;cursor:pointer;
  border:1.5px solid rgba(51,0,51,.3);background:#fff;color:var(--velvet-night);font-family:var(--f-body);font-size:.9375rem;font-weight:800;
}
.gk-zurueck:hover{border-color:var(--velvet-night)}
.gk-auswahl{display:grid;flex:1 1 220px;margin:0;line-height:1.3;outline:0}
.gk-auswahl b{font-size:1.0625rem;color:var(--velvet-night)}
.gk-auswahl span{font-size:.875rem;color:#7A5A7C}
.gk-schritte{display:flex;align-items:center;gap:8px;margin:0;padding:0;list-style:none;font-size:.8125rem;font-weight:800;color:#7A5A7C}
.gk-schritte li{display:inline-flex;align-items:center;gap:6px;padding:5px 12px 5px 5px;border-radius:999px}
.gk-schritte b{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:#EDE3E9;color:var(--velvet-night);font-size:.75rem}
.gk-schritte .ist-ok b{background:var(--classic-gold)}
.gk-schritte .ist-jetzt{background:#fff;color:var(--velvet-night);box-shadow:inset 0 0 0 1.5px rgba(126,90,28,.35)}
.gk-schritte .ist-jetzt b{background:var(--signal-red);color:#fff}
.gk-karte.ist-fertig .gk-schritte .ist-jetzt b{background:var(--classic-gold);color:var(--velvet-night)}
.gk-buehne{position:relative;margin-top:12px;min-height:420px;border-radius:18px;overflow:hidden;background:#fff}
.gk-rahmen{display:block;width:100%;border:0;opacity:0;transition:opacity .3s}
.gk-rahmen.ist-da{opacity:1}
.gk-laden{position:absolute;inset:0;z-index:2;display:grid;place-content:center;justify-items:center;gap:14px;background:#fff;text-align:center}
.gk-laden[hidden]{display:none}
.gk-kreis{width:42px;height:42px;border-radius:50%;border:4px solid #EDE3E9;border-top-color:var(--classic-gold);animation:gk-dreh 1s linear infinite}
.gk-laden p{margin:0;font-weight:800;color:var(--velvet-night)}
.gk-laden small{display:block;margin-top:4px;font-weight:500;color:#7A5A7C}
.gk-fein{margin:12px 6px 2px;font-size:.8125rem;color:#7A5A7C;text-align:center}
.gk-fein a{color:var(--spotlight-violet);text-underline-offset:3px}

/* Handy */
@media (max-width:760px){
  .gk{margin-inline:calc(var(--rand) * -1 + 8px);width:auto}
  .gk-karte{border-radius:24px;padding:22px 14px 18px}
  .gk-betraege{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .gk-betrag{min-height:66px}
  .gk-betrag--wunsch{grid-column:1 / -1;grid-template-columns:auto auto;gap:10px;min-height:56px}
  .gk-betrag--wunsch b{font-size:1.0625rem}
  .gk-zeile{gap:12px}
  .gk-summe-betrag{font-size:2rem}
  .gk-weiter{font-size:1.0625rem}
  .gk-vorteile li{font-size:.875rem}
}
@media (max-width:360px){
  .gk-anzahl > span{display:none}
}
@media (prefers-reduced-motion:reduce){
  .gk-betrag,.gk-weiter,.gk-rahmen{transition:none}
  .gk-dreh,.gk-kreis{animation-duration:2s}
}
