/* FalconTrader Checkout — Design-Tokens der Website (styles.css) */
:root{
  --bg:#08080a; --bg-2:#0e0e12; --bg-3:#15151b;
  --border:rgba(255,255,255,.08); --border-2:rgba(255,255,255,.14);
  --text:#f4f4f6; --text-dim:#a6a6b2; --text-faint:#6c6c78;
  --brand:#8fa6c4; --brand-2:#c4d2e6;
  --green:#3fcf8e; --red:#f25c5c;
  --cta:#41a3f5; --cta-2:#2f86e0;
  --radius:16px; --radius-sm:11px;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,system-ui,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:var(--sans);background:var(--bg);color:var(--text);
  font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;
  min-height:100vh;display:flex;flex-direction:column;
}
a{color:var(--brand-2)}

.topbar{
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:1px solid var(--border);
  background:linear-gradient(180deg,rgba(143,166,196,.06),transparent);
  /* läuft auf iPhones unter Statusleiste/Notch durch (viewport-fit=cover) */
  padding:calc(14px + env(safe-area-inset-top, 0px))
          calc(22px + env(safe-area-inset-right, 0px))
          14px
          calc(22px + env(safe-area-inset-left, 0px));
}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:var(--text)}
.brand b{font-weight:700}
.secure{font-size:.85rem;color:var(--text-dim)}

.wrap{max-width:1020px;margin:0 auto;padding:34px 22px 60px;width:100%;flex:1}
.wrap.narrow{max-width:640px}
.pagetitle{font-size:clamp(1.5rem,3.4vw,2.1rem);margin:0 0 6px;letter-spacing:-.01em}
.pagesub{color:var(--text-dim);margin:0 0 26px;max-width:640px}

.grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:20px;align-items:start}
.grid>.panel{min-width:0}
@media (max-width:820px){.grid{grid-template-columns:minmax(0,1fr)}}

.panel{
  background:var(--bg-2);border:1px solid var(--border);border-radius:var(--radius);
  padding:24px;box-shadow:0 24px 60px -28px rgba(0,0,0,.7);
}
.panel h2{margin:0 0 16px;font-size:1.05rem;letter-spacing:.02em}

/* Bestellübersicht */
.item{display:flex;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid var(--border)}
.item b{display:block;font-size:.98rem}
.item span{display:block;color:var(--text-faint);font-size:.82rem}
.item .amt{font-weight:700;white-space:nowrap;font-variant-numeric:tabular-nums}
.item .amt small{color:var(--text-dim);font-weight:400}

.promo{margin:16px 0 4px}
.promo label{display:block;font-size:.8rem;color:var(--text-dim);margin-bottom:6px}
.promo-row{display:flex;gap:8px}
.promo-row input{font-size:16px;
  flex:1;min-width:0;background:var(--bg-3);border:1px solid var(--border-2);color:var(--text);
  border-radius:var(--radius-sm);padding:10px 12px;text-transform:uppercase;
}
.promo-row input:focus{outline:none;border-color:var(--brand)}
.promo-row button{
  background:var(--bg-3);border:1px solid var(--border-2);color:var(--text);
  border-radius:var(--radius-sm);padding:10px 14px;font-size:.9rem;cursor:pointer;
}
.promo-row button:hover{border-color:var(--brand)}
.promo-row button.ghost{color:var(--text-dim)}
.promo-msg{font-size:.82rem;color:var(--green);margin:7px 0 0;min-height:1em}
.promo-msg.bad{color:var(--red)}

.totals{margin-top:14px}
.trow{display:flex;justify-content:space-between;padding:6px 0;color:var(--text-dim);font-size:.95rem;font-variant-numeric:tabular-nums}
.trow.discount{color:var(--green)}
.trow.total{color:var(--text);font-weight:800;font-size:1.15rem;border-top:1px solid var(--border-2);margin-top:6px;padding-top:12px}
.renew{color:var(--text-faint);font-size:.8rem;margin:8px 0 0}

.trust{list-style:none;margin:18px 0 0;padding:14px 0 0;border-top:1px solid var(--border);color:var(--text-dim);font-size:.85rem}
.trust li{padding:2px 0}

/* Zahlung */
.pay label{display:block;font-size:.8rem;color:var(--text-dim);margin:0 0 6px}
.pay input[type=email]{font-size:16px;
  width:100%;background:var(--bg-3);border:1px solid var(--border-2);color:var(--text);
  border-radius:var(--radius-sm);padding:11px 12px;
}
.pay input[type=email]:focus{outline:none;border-color:var(--brand)}
.hint{color:var(--text-faint);font-size:.78rem;margin:6px 0 16px}

.address-element{min-height:120px;margin-bottom:16px}
.pe-label{margin-top:2px}
.payment-element{min-height:220px;margin-bottom:16px}
.pe-skeleton{
  height:220px;border-radius:var(--radius-sm);
  background:linear-gradient(100deg,var(--bg-3) 40%,#1b1b23 50%,var(--bg-3) 60%);
  background-size:200% 100%;animation:shimmer 1.4s infinite linear;
}
@keyframes shimmer{to{background-position:-200% 0}}

.consent{display:flex;gap:10px;align-items:flex-start;font-size:.83rem;color:var(--text-dim);
  background:var(--bg-3);border:1px solid var(--border);border-radius:var(--radius-sm);
  padding:12px;cursor:pointer;line-height:1.5}
.consent input{margin-top:3px;accent-color:var(--cta);width:16px;height:16px;flex:0 0 auto;cursor:pointer}
.consent + .consent{margin-top:8px}

#pay-button{
  width:100%;margin-top:16px;padding:15px 18px;border:none;border-radius:999px;cursor:pointer;
  font-size:1.02rem;font-weight:700;color:#fff;
  background:linear-gradient(180deg,var(--cta),var(--cta-2));
  box-shadow:0 10px 30px -10px rgba(65,163,245,.6);
  transition:opacity .2s, transform .15s;
}
#pay-button:hover:not(:disabled){transform:translateY(-1px)}
#pay-button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.pay-error{color:var(--red);font-size:.85rem;margin:10px 0 0}
.finehint{color:var(--text-faint);font-size:.75rem;margin:12px 0 0;text-align:center}

.hidden{display:none!important}

/* Danke-Seite */
.thanks{text-align:center;padding:40px 28px}
.thanks .check{
  width:64px;height:64px;margin:0 auto 16px;border-radius:50%;
  background:rgba(63,207,142,.15);border:1px solid rgba(63,207,142,.5);
  color:var(--green);font-size:1.9rem;font-weight:800;display:grid;place-items:center;
}
.thanks h1{margin:0 0 10px;font-size:1.5rem}
.thanks p{color:var(--text-dim)}
.btn{
  display:inline-block;margin-top:14px;padding:12px 22px;border-radius:999px;text-decoration:none;
  color:#fff;font-weight:700;background:linear-gradient(180deg,var(--cta),var(--cta-2));
}
.error-panel{max-width:560px;margin:40px auto;text-align:center}

.foot{
  text-align:center;color:var(--text-faint);font-size:.8rem;
  padding:18px 18px calc(18px + env(safe-area-inset-bottom, 0px));border-top:1px solid var(--border);
}
.foot a{color:var(--text-dim);text-decoration:none;margin:0 4px}
.foot a:hover{color:var(--text)}
