/* Kauf-Fenster (OPS-SPEC 6.2, js/pay-ui.js): Altersabfrage, Eltern-Schritt, Bestätigung, Warten, Kaufverlauf */
.pay-panel .buy-box.pay-box { --rc: var(--orange); }
.pay-panel .buy-txt b { font-family: var(--fh); letter-spacing: .5px; }
.pay-age { display: flex; gap: 10px; }
.pay-age select, .pay-task input { flex: 1; min-width: 0; font: 700 16px var(--fb); color: var(--navy); background: var(--paper); border: 3px solid var(--navy); border-radius: 10px; padding: 10px; }
.pay-age select:focus, .pay-task input:focus, .pay-check input:focus-visible { outline: 3px solid var(--blue); outline-offset: 2px; }
.pay-task { display: flex; align-items: center; gap: 10px; font: 700 16px var(--fb); color: var(--navy); }
.pay-task span { flex: 1.4; }
.pay-check { display: flex; align-items: flex-start; gap: 10px; font: 500 14px/1.35 var(--fb); color: var(--navy); cursor: pointer; }
.pay-check input { flex: none; width: 24px; height: 24px; margin: 0; accent-color: var(--orange); }
.pay-err { min-height: 1.2em; color: var(--red); font-weight: 700; }
.pay-month { font-weight: 700; }
.pay-mock { margin: 0; padding: 6px 10px; border-radius: 8px; background: var(--yellow); color: var(--navy); font: 700 13px var(--fb); text-align: center; letter-spacing: .3px; }
.pay-links .btn { width: 100%; }
.pay-legal { padding: 4px 10px; font-size: 13px; }
.pay-spin { width: 34px; height: 34px; margin: 2px auto; border: 4px solid var(--navy3); border-top-color: var(--orange); border-radius: 50%; animation: pay-spin 1s linear infinite; }
@keyframes pay-spin { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pay-spin { animation: none; } }
.pay-hist { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.pay-row { display: grid; grid-template-columns: auto 1fr auto; grid-template-areas: 'd c p' 'd s s'; gap: 2px 10px; align-items: center; padding: 8px 10px; background: var(--paper); border: 3px solid var(--navy); border-radius: 12px; color: var(--navy); }
.pay-d { grid-area: d; font: 700 12px var(--fb); opacity: .75; }
.pay-c { grid-area: c; display: flex; flex-direction: column; min-width: 0; overflow-wrap: anywhere; }
.pay-c small { font-size: 12px; }
.pay-p { grid-area: p; font: 700 14px var(--fb); text-align: right; }
.pay-st { grid-area: s; font: 700 11px var(--fb); font-style: normal; text-align: right; }
.pay-st.st-refunded, .pay-st.st-cback, .pay-st.st-partial { color: var(--red); }
.pay-st.st-credited { color: #1f8f4a; }
.pa-buy.locked { opacity: .45; filter: grayscale(.6); }
