/* (gleich wie zuletzt, v51) */
:root{
  --ah-bg:#111a26; --ah-panel:#142138; --ah-ink:#eaf2f8; --ah-muted:#9cb2c4;
  --ah-line:#2a3c4e; --ah-cyan:#2dd4ff; --ah-orange:#ff9f1a; --ah-orange-600:#ff7a00;
}
.ah{ color:var(--ah-ink); padding:24px 0 56px; }
.ah *{ box-sizing:border-box; }
.ah-stage{
  background:
    radial-gradient(1100px 520px at 10% -8%, #18324e 0%, transparent 60%),
    radial-gradient(900px 460px at 110% 6%, #143759 0%, transparent 55%),
    var(--ah-bg);
}
.ah .ah-headline{ max-width:1200px; margin:0 auto 6px; text-align:center; font-weight:900; font-size:34px; letter-spacing:.3px; text-shadow:0 2px 12px rgba(45,212,255,.12); }
.ah .ah-tagline{ max-width:1200px; margin:0 auto 22px; text-align:center; color:var(--ah-muted); }
.ah-matrix-wrap{ max-width:1200px; margin:0 auto; padding:0 10px; }
.ah-matrix{ width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; }
.ah-matrix th, .ah-matrix td{ border-bottom:1px dashed rgba(255,255,255,.10); padding:12px 14px; vertical-align:middle; background:linear-gradient(180deg,var(--ah-panel), #101a29 45%, #0f1824 100%); }
.ah-matrix thead th{ background:rgba(45,212,255,.09); border:1px solid var(--ah-line); border-bottom:none; color:#e9f4fb; font-weight:900; letter-spacing:.2px; text-align:center; }
.m-head th:first-child{ border-left:1px solid var(--ah-line); text-align:left; }
.m-head th:last-child { border-right:1px solid var(--ah-line); }
.m-feature{ text-align:left; color:#d2e4f2; width:28%; background:transparent; }
.ah-matrix td{ text-align:left; }
.m-price th, .m-price td{ background:linear-gradient(180deg,#122033,#0f1b2a 60%,#0f1b2a); border-top:1px solid var(--ah-line); }
.m-price td{ text-align:center; }
.m-price .price span{ font-size:36px; font-weight:900; color:var(--ah-orange); letter-spacing:.2px; text-shadow:0 0 6px rgba(255,159,26,.55),0 0 18px rgba(255,140,0,.45),0 2px 0 rgba(0,0,0,.45); font-variant-numeric: tabular-nums; }
.m-section td{ padding:14px; color:#e6f1f8; font-weight:900; letter-spacing:.2px; background:rgba(45,212,255,.10); border:1px solid var(--ah-line); border-top:none; }
.ok{ color:#c9ffde; font-weight:800; }
.no{ color:#a6b6c4; font-weight:700; }
.m-actions td, .m-actions th{ border-bottom:none; padding:16px 14px 22px; background:transparent; }
.btn.btn-order{ display:inline-block; width:100%; text-align:center; background:var(--ah-orange); border:1px solid var(--ah-orange); color:#071017; font-weight:900; padding:.7rem 1rem; border-radius:12px; box-shadow:0 10px 24px rgba(255,159,26,.35),0 0 0 1px rgba(255,159,26,.35) inset; transition:.18s ease; }
.btn.btn-order:hover{ background:var(--ah-orange-600); border-color:var(--ah-orange-600); transform:translateY(-1px); }
.m-toggle-all td{ padding:10px 0 6px; border-bottom:none; text-align:center; background:transparent; }
.ah-toggle-all{ display:inline-flex; align-items:center; gap:10px; background:#0f2234; border:1px solid var(--ah-line); color:#d7e6f2; padding:.55rem .9rem; border-radius:10px; cursor:pointer; font-weight:700; }
.ah-toggle-all:hover{ background:#12273b; }
.m-group-head td{ background:#122235; border:1px solid var(--ah-line); border-top:none; padding:0; }
.m-group-btn{ width:100%; text-align:left; display:flex; justify-content:space-between; align-items:center; padding:14px 16px; color:#e6f1f8; font-weight:900; letter-spacing:.2px; cursor:pointer; background:transparent; border:0; }
.ah-caret{ width:10px; height:10px; border-right:2px solid #a7c6dc; border-bottom:2px solid #a7c6dc; transform:rotate(-45deg); transition:.18s; }
.m-group-head.open .ah-caret{ transform:rotate(135deg); }
.m-row{ display:none; background:#101b2a; }
.m-group-head.open + .m-row{ display:table-row; }
.m-group-head.open + .m-row + .m-row{ display:table-row; }
.m-group-head.open + .m-row + .m-row + .m-row{ display:table-row; }
.m-group-head.open ~ .m-row[data-open="true"]{ display:table-row; }
.ah-mark{ font-weight:900; }
.ah-mark--ssl{ color:#bfe9ff; text-shadow:0 0 8px rgba(45,212,255,.55); position:relative; top:-0.45em; font-size:.62em; margin-left:.15em; }
#ah-order .ah-footnote{ max-width:1200px; margin:14px auto 0; padding:0 10px; font-size:12px; color:var(--ah-muted); text-align:center; opacity:.95; }
@media (max-width: 980px){ .m-feature{ width:38%; } }
@media (max-width: 720px){ .ah-matrix{ font-size:15px; } .m-price .price span{ font-size:30px; } }
/* ===================== CHECKOUT ===================== */
.ah-checkout-grid{
  max-width:1200px;margin:0 auto;padding:0 10px;
  display:grid;grid-template-columns:3fr 1.5fr;gap:28px;
}
@media (max-width: 980px){ .ah-checkout-grid{ grid-template-columns:1fr; } }

.ah-box{
  background:linear-gradient(180deg,#101a29,#0d1522 22%,#0d1522);
  border:1px solid var(--ah-line); border-radius:18px;
  box-shadow:0 16px 40px rgba(0,0,0,.35); overflow:hidden;
}
.ah-box-head{ padding:14px 18px; border-bottom:1px solid var(--ah-line); }
.ah-box-body{ padding:16px 18px; }
.ah-box-foot{ padding:12px 18px; border-top:1px solid var(--ah-line); }

.ah-pill{
  display:inline-block; padding:6px 12px; border-radius:999px;
  background:rgba(45,212,255,.10); color:#e9f4fb; font-weight:800; letter-spacing:.2px;
  border:1px solid rgba(45,212,255,.25); box-shadow:0 0 12px rgba(45,212,255,.22);
}

.ah-cart-line{ display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:10px 0; border-bottom:1px dashed rgba(255,255,255,.08); }
.ah-cart-line:last-child{ border-bottom:none; }
.ah-cart-line .name{ font-weight:800; }
.ah-cart-line .meta{ color:var(--ah-muted); font-size:.9rem; margin-top:2px; }
.ah-cart-line .cfg{ list-style:none; margin:8px 0 0; padding:0; color:#cfe0ec; font-size:.95rem; }
.ah-cart-line .cfg li span{ color:#fff; font-weight:700; }
.ah-cart-line .price{
  color:var(--ah-orange); font-weight:900; letter-spacing:.2px; text-shadow:
    0 0 6px rgba(255,159,26,.55), 0 0 18px rgba(255,140,0,.45), 0 2px 0 rgba(0,0,0,.45);
}

.ah-userline{ color:#e6edf3; }
.ah-userline .sep{ margin:0 8px; color:var(--ah-muted); }

.ah-form .ah-input{
  width:100%; background:#0f1623; border:1px solid var(--ah-line); color:#e6edf3;
  border-radius:12px; padding:10px 12px; outline:none;
}
.ah-radio{ display:flex; align-items:center; gap:10px; padding:10px 0; border-bottom:1px dashed rgba(255,255,255,.08); }
.ah-radio:last-child{ border-bottom:none; }
.ah-radio input{ transform:scale(1.1); }
.ah-gw-list{ padding:4px 0; }

.ah-check input{ margin-right:10px; transform:translateY(1px); }

.ah-actions{ display:flex; gap:12px; padding-top:10px; }
.ah-btn{
  display:inline-block; border-radius:12px; padding:.75rem 1.1rem; font-weight:900; cursor:pointer; text-align:center;
  border:1px solid transparent; transition:.18s ease; user-select:none;
}
.ah-btn.-primary{
  background:var(--ah-orange); border-color:var(--ah-orange); color:#071017;
  box-shadow:0 10px 24px rgba(255,159,26,.35), 0 0 0 1px rgba(255,159,26,.35) inset;
}
.ah-btn.-primary:hover{ background:var(--ah-orange-600); border-color:var(--ah-orange-600); transform:translateY(-1px); }
.ah-btn.-ghost{ background:transparent; border-color:var(--ah-line); color:#e6edf3; }
.ah-btn.-ghost:hover{ background:#0f1824; transform:translateY(-1px); }
.ah-btn.-block{ width:100%; }

.ah-summary{
  background:linear-gradient(180deg,#101a29,#0d1522 22%,#0d1522);
  border:1px solid var(--ah-line); border-radius:18px; box-shadow:0 16px 40px rgba(0,0,0,.35); overflow:hidden;
}
.ah-summary-head{ padding:14px 18px; border-bottom:1px solid var(--ah-line); font-weight:900; }
.ah-summary-body{ padding:16px 18px; }
.ah-summary .row{ display:flex; justify-content:space-between; padding:8px 0; border-bottom:1px dashed rgba(255,255,255,.08); }
.ah-summary .row:last-child{ border-bottom:none; }
.ah-summary .row.total{ font-weight:900; }

.ah-alert{
  padding:12px 14px; border-radius:12px; border:1px solid var(--ah-line); background:#0f1623; color:#e6edf3;
}
.ah-alert.-error{ border-color:#c24141; background:#1a0f12; }
.ah-alert.-info { border-color:#1f3a5b; background:#0f1826; }

.ah-link{ color:#9bd0ff; text-decoration:none; }
.ah-link:hover{ text-decoration:underline; }
