/* NOSA Desk: Kaufseite. Ergaenzt style.css, aendert es nicht. */
.buy-head{padding-top:70px;padding-bottom:10px}
.buy-head .section-intro{margin-top:20px}
.buy-grid{display:grid;grid-template-columns:1.25fr .9fr;gap:40px;align-items:start;margin-top:36px}
.period{display:inline-flex;gap:4px;border:1px solid #cdd6ce;border-radius:6px;padding:4px;background:#f6f5f0}
.period button{border:0;border-radius:4px;background:transparent;color:var(--ink);padding:9px 18px;cursor:pointer;font-size:13px;font-weight:600}
.period button[aria-checked=true]{background:var(--ink);color:white}
.period button:hover{text-decoration:underline}
.plan-rows{margin-top:26px;border-top:1px solid #cbd7c9}
.plan-row{display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center;padding:24px 0;border-bottom:1px solid #cbd7c9}
.plan-row h3{font-size:15px}
.plan-row p{font-size:13px;color:var(--muted);margin-top:4px;max-width:440px}
.plan-price{text-align:right;font:34px/1.2 var(--serif);letter-spacing:-.03em;white-space:nowrap}
.plan-price small{display:block;font:12px var(--sans);letter-spacing:0;color:var(--muted)}
.plan-price .vat{font-weight:600;color:var(--ink)}
.stepper{display:inline-flex;align-items:center;border:1px solid #cdd6ce;border-radius:5px;background:white;margin-top:12px}
.stepper button{width:40px;height:40px;border:0;background:transparent;font-size:18px;cursor:pointer;color:var(--ink)}
.stepper button:disabled{color:#b3bdb8;cursor:default}
.stepper input{width:72px;height:40px;border:0;border-left:1px solid #e3e8e4;border-right:1px solid #e3e8e4;text-align:center;font:600 15px var(--sans);color:var(--ink);background:white;-moz-appearance:textfield}
.stepper input::-webkit-outer-spin-button,.stepper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.stepper input:focus{outline:2px solid var(--blue);outline-offset:-2px}
.summary{background:white;border:1px solid var(--line);border-radius:8px;padding:28px}
.summary h2{font-size:26px;letter-spacing:-.03em}
.summary dl{margin:20px 0 0;display:grid;grid-template-columns:1fr auto;gap:10px 16px;font-size:14px}
.summary dt{color:var(--muted)}
.summary dd{margin:0;text-align:right;white-space:nowrap}
.summary .total{border-top:1px solid var(--line);padding-top:12px;font-weight:600;color:var(--ink)}
.summary .button{width:100%;margin-top:22px;border:0;cursor:pointer}
.summary .button[disabled]{background:#8aa0b4;cursor:default}
.summary .fine{margin-top:14px}
.summary .status{margin-top:14px;font-size:13px;color:#4c7060;min-height:1em}
.summary .status.err{color:#8b3a2d}
.after{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:34px}
.after article{padding:24px;background:#fff;border:1px solid var(--line);border-radius:6px}
.after h3{font-size:14px;margin-bottom:10px}
.after p{font-size:13px;color:var(--muted)}
.side-note{margin-top:28px;padding:22px 24px;border:1px solid #d7dfd7;border-radius:6px;background:#f1f3ee;font-size:13px;color:var(--muted)}
.side-note h3{font-size:14px;color:var(--ink);margin-bottom:6px}
.sandbox-bar{padding:7px 20px;background:#f3e7cf;color:#6b4d12;text-align:center;font-size:11px;font-weight:600;letter-spacing:.08em}
.legal-links{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;margin-top:18px}
@media(max-width:900px){.buy-grid{grid-template-columns:1fr}.after{grid-template-columns:1fr}}
@media(max-width:760px){.buy-head{padding-top:40px}.plan-price{font-size:28px}.summary{padding:22px}}
.pick-row{border-bottom:0}
.pick-row .button{border:0;cursor:pointer;white-space:nowrap}
.pick-row .button[disabled]{background:#6f8f7a;cursor:default}
.basket h2:focus{outline:none}
.basket dl{margin-top:16px}
.cart-actions{display:flex;gap:18px;margin-top:12px}
.linkbtn{border:0;background:none;padding:0;color:var(--blue);font-size:13px;font-weight:600;text-decoration:underline;text-underline-offset:4px;cursor:pointer}
.cart-diff{color:#8b611d;margin-top:10px}
@media(max-width:760px){.pick-row{grid-template-columns:1fr}.pick-row .button{width:100%}}
.stepper.small{margin-top:0}
.stepper.small button{width:32px;height:32px;font-size:16px}
.stepper.small input{width:56px;height:32px;font-size:14px}
.basket dd .stepper{vertical-align:middle}
.switch-box{margin-top:14px;padding:14px 16px;border:1px solid #e3cf9c;background:#fbf5e6;border-radius:6px;font-size:13px;color:var(--ink)}
.switch-box .cart-actions{align-items:center;margin-top:10px}
.button.small{padding:9px 14px;font-size:13px;width:auto!important;margin-top:0!important;border:0;cursor:pointer}
.pick-row p{line-height:1.7}
.basket dl{column-gap:0;align-items:center}
.basket dd{padding-left:16px}
.basket dt,.basket dd{padding-top:4px;padding-bottom:4px}
.basket .total{padding-top:12px}
.cart-period{margin-top:14px}
.period.small button{padding:7px 14px;font-size:12px}

/* 24.09.2026: Schluessel direkt nach der Zahlung */
.key-panel{margin-top:40px;padding:30px;border:2px solid var(--blue);border-radius:10px;background:#fff}
.key-panel:focus{outline:none}
.key-panel h2{font-size:28px;letter-spacing:-.03em;margin:6px 0 8px}
.key-panel[data-state=wait] h2::after{content:"";display:inline-block;width:14px;height:14px;margin-left:12px;border:2px solid var(--blue);border-right-color:transparent;border-radius:50%;animation:keyspin .9s linear infinite;vertical-align:middle}
@keyframes keyspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.key-panel[data-state=wait] h2::after{animation:none}}
.key-panel p{font-size:14px;color:var(--muted);max-width:620px}
.key-box{display:flex;gap:12px;align-items:stretch;margin-top:18px;flex-wrap:wrap}
.key-box code{flex:1 1 320px;min-width:0;padding:14px 16px;border:1px solid var(--line);border-radius:6px;background:#f6f5f0;font:13px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;word-break:break-all;user-select:all}
.key-box .button{border:0;cursor:pointer}
.key-steps{margin:18px 0 6px;padding-left:22px;font-size:14px}
.key-steps li{margin-bottom:4px}
.key-panel .fine{margin-top:10px}
.buy-who{margin-top:10px;font-size:14px;font-weight:600;color:var(--ink)}
.summary .status .buy-mail{display:inline-block;margin-top:10px}
