/* ============================================================
   Endemine — Erweiterungen: Mega-Menü, Bewegung, Marken-Galerie,
   Hosting-Seite. Baut auf style.css auf.
   ============================================================ */

/* ---------------------------------------------- Logo größer */
.hrow1 .logo img { height: 46px !important; transition: transform .3s var(--e); }
.hrow1 .logo:hover img { transform: scale(1.04); }
.hrow1 { height: 78px; }
.drawer .dhead img { height: 38px !important; }
footer .fbrand img { height: 44px !important; }
@media (max-width: 960px) {
  .hrow1 .logo img { height: 38px !important; }
  .hrow1 { height: 66px; }
}

/* ---------------------------------------------- Mega-Menü */
.hrow2 { position: relative; }
.hrow2 .wrap { overflow: visible; }
.mi { position: relative; }
.mi > a { display: inline-flex; align-items: center; gap: 6px; }
.mi > a .caret { width: 9px; height: 9px; transition: transform .22s var(--e); opacity: .55; }
.mi.open > a .caret { transform: rotate(180deg); }

.mega {
  position: absolute; top: 100%; left: 0; z-index: 80;
  min-width: 560px; max-width: min(920px, 94vw);
  background: var(--steel-0);
  border: 1px solid var(--steel-200); border-top: 2px solid var(--copper-600);
  border-radius: 0 0 10px 10px;
  box-shadow: 0 24px 60px -28px rgba(22,19,13,.42);
  padding: 20px 22px 18px;
  opacity: 0; visibility: hidden; transform: translateY(-8px);
  transition: opacity .2s var(--e), transform .22s var(--e), visibility .22s;
}
.mi.open > .mega { opacity: 1; visibility: visible; transform: none; }
.mega-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 2px 18px; }
.mega-grid.cols4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.mega a.mlink {
  display: flex; align-items: center; justify-content: space-between; gap: 10px;
  padding: 8px 10px; border-radius: 4px; font-size: 13.5px; font-weight: 500;
  color: var(--ink-600); transition: background .16s, color .16s, transform .16s var(--e);
}
.mega a.mlink:hover { background: var(--copper-100); color: var(--copper-800); transform: translateX(3px); }
.mega a.mlink .n { font-family: var(--mono); font-size: 10.5px; color: var(--ink-400); }
.mega a.mlink:hover .n { color: var(--copper-800); }
.mega .mfoot {
  display: flex; align-items: center; justify-content: space-between; gap: 12px;
  margin-top: 14px; padding-top: 13px; border-top: 1px solid var(--steel-100);
  font-size: 12.5px; color: var(--ink-400);
}
.mega .mfoot a { font-weight: 600; color: var(--copper-600); }
@media (max-width: 960px) { .mega { display: none; } }

/* Menü in der mobilen Schublade */
.drawer nav .macc > button {
  display: flex; align-items: center; justify-content: space-between; width: 100%;
  padding: 13px 18px; font-size: 15px; font-weight: 600; color: var(--ink-900);
  border-bottom: 1px solid var(--steel-100); background: none; text-align: left;
}
.drawer nav .macc > button .caret { width: 10px; height: 10px; transition: transform .2s var(--e); }
.drawer nav .macc.open > button .caret { transform: rotate(180deg); }
.drawer nav .macc .sub { max-height: 0; overflow: hidden; transition: max-height .3s var(--e); background: var(--steel-50); }
.drawer nav .macc.open .sub { max-height: 60vh; overflow-y: auto; }
.drawer nav .macc .sub a { padding-left: 32px; font-size: 14px; font-weight: 500; }

/* ---------------------------------------------- Bewegung */
@media (prefers-reduced-motion: no-preference) {
  /* Einblenden beim Scrollen, mit Versatz */
  .rv { opacity: 0; transform: translateY(22px); }
  .rv.in { opacity: 1; transform: none; transition: opacity .55s var(--e), transform .6s var(--e); }
  .rv-l.in { transition-delay: .06s }  .rv-2.in { transition-delay: .12s }
  .rv-3.in { transition-delay: .18s }  .rv-4.in { transition-delay: .24s }
  .rv-5.in { transition-delay: .3s }   .rv-6.in { transition-delay: .36s }

  /* Karten: Reihen-Versatz beim Erscheinen */
  .grid .card { opacity: 0; transform: translateY(26px) scale(.985); }
  .grid .card.in { opacity: 1; transform: none; transition: opacity .5s var(--e), transform .55s var(--e); }

  /* Kopfzeile fährt beim Laden ein */
  header { animation: slideDown .5s var(--e) both; }
  @keyframes slideDown { from { transform: translateY(-100%); } to { transform: none; } }

  /* Bühnentext gestaffelt */
  .stage-txt .slide > * { opacity: 0; transform: translateY(18px); animation: riseIn .6s var(--e) forwards; }
  .stage-txt .slide > *:nth-child(1) { animation-delay: .18s }
  .stage-txt .slide > *:nth-child(2) { animation-delay: .28s }
  .stage-txt .slide > *:nth-child(3) { animation-delay: .38s }
  .stage-txt .slide > *:nth-child(4) { animation-delay: .48s }
  @keyframes riseIn { to { opacity: 1; transform: none; } }

  /* Überschriften: Zeilen laufen von unten ein */
  .rise span { display: inline-block; opacity: 0; transform: translateY(.7em); animation: riseIn .55s var(--e) forwards; }

  /* Zahlen im Maschinenraum atmen leicht */
  .cell .v { transition: color .3s; }
  .cell:hover .v { color: var(--copper-200); }

  /* Buttons: sanfter Auftrieb */
  .btn { will-change: transform; }
  .btn-pri:hover, .btn-ink:hover { transform: translateY(-2px); box-shadow: 0 10px 24px -12px rgba(158,74,23,.6); }
  .btile:hover { transform: translateY(-4px); }
  .btile { transition: transform .25s var(--e), border-color .2s var(--e), box-shadow .25s var(--e); }
  .hfeat .f { transition: transform .25s var(--e), border-color .2s var(--e), box-shadow .25s var(--e); }
  .hfeat .f:hover { transform: translateY(-4px); box-shadow: var(--shadow-raise); }

  /* Sanfter Parallaxe-Versatz */
  [data-parallax] { will-change: transform; }
}
@media (prefers-reduced-motion: reduce) {
  .rv, .grid .card, .stage-txt .slide > *, .rise span { opacity: 1 !important; transform: none !important; }
}

/* ---------------------------------------------- Marken-Galerie */
.bgal { position: relative; margin-top: 26px; overflow: hidden; padding: 4px 0; }
.bgal::before, .bgal::after {
  content: ""; position: absolute; top: 0; bottom: 0; width: 130px; z-index: 3; pointer-events: none;
}
.bgal::before { left: 0;  background: linear-gradient(90deg, var(--steel-50), transparent); }
.bgal::after  { right: 0; background: linear-gradient(-90deg, var(--steel-50), transparent); }
.bgal-track { display: flex; gap: 14px; width: max-content; animation: bgalMove 46s linear infinite; }
.bgal:hover .bgal-track { animation-play-state: paused; }
@keyframes bgalMove { to { transform: translateX(-50%); } }
.bgal-item {
  position: relative; flex: none; width: 176px; height: 176px;
  background: var(--steel-0); border: 1px solid var(--steel-200); border-radius: 10px;
  overflow: hidden; display: flex; align-items: center; justify-content: center;
  transition: border-color .22s var(--e), transform .28s var(--e), box-shadow .28s var(--e);
}
.bgal-item img { width: 84%; height: 84%; object-fit: contain; transition: transform .35s var(--e); }
.bgal-item:hover { border-color: var(--ink-900); transform: translateY(-5px); box-shadow: var(--shadow-raise); z-index: 2; }
.bgal-item:hover img { transform: scale(1.08); }
.bgal-item .cap {
  position: absolute; left: 0; right: 0; bottom: 0; padding: 7px 10px;
  font-family: var(--mono); font-size: 10.5px; font-weight: 600; letter-spacing: .06em;
  text-transform: uppercase; color: var(--ink-600);
  background: linear-gradient(transparent, var(--steel-50) 55%);
  opacity: 0; transform: translateY(6px); transition: opacity .22s, transform .22s var(--e);
}
.bgal-item:hover .cap { opacity: 1; transform: none; }
@media (prefers-reduced-motion: reduce) { .bgal-track { animation: none; } }

/* ---------------------------------------------- Hosting-Seite */
.h-hero {
  position: relative; background: var(--carbon-900); color: var(--carbon-txt);
  border-bottom: 2px solid var(--copper-600); overflow: hidden;
  padding: 68px 0 76px;
}
.h-hero::before {
  content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(237,234,227,.03) 1px, transparent 1px),
                    linear-gradient(90deg, rgba(237,234,227,.03) 1px, transparent 1px);
  background-size: 26px 26px;
}
.h-hero .glow {
  position: absolute; left: 58%; top: 32%; width: 620px; height: 620px; pointer-events: none;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(184,90,30,.26), rgba(184,90,30,.06) 46%, transparent 68%);
  animation: glowp 6s ease-in-out infinite;
}
.h-hero .wrap { position: relative; z-index: 2; }
.h-hero h1 { font-size: clamp(34px, 4.6vw, 58px); line-height: 1.03; margin: 14px 0 16px; text-wrap: balance; }
.h-hero h1 .acc { color: var(--copper-500); }
.h-hero p.lead { color: var(--carbon-mut); font-size: 17px; max-width: 56ch; }
.h-kpis { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1px; background: var(--carbon-line);
  border: 1px solid var(--carbon-line); border-radius: 10px; overflow: hidden; margin-top: 34px; }
.h-kpis > div { background: var(--carbon-800); padding: 18px 20px; }
.h-kpis .v { font-family: var(--mono); font-size: 26px; font-weight: 600; font-variant-numeric: tabular-nums; }
.h-kpis .k { font-size: 12.5px; color: var(--carbon-mut); margin-top: 3px; }

/* Vergleich zuhause / gehostet */
.h-compare { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 30px 0 0; }
.h-col { border: 1px solid var(--steel-200); border-radius: 10px; background: var(--steel-0); padding: 22px; }
.h-col.win { border-color: var(--copper-600); border-top: 2px solid var(--copper-600); }
.h-col h3 { font-size: 16px; font-weight: 700; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.h-col .big { font-family: var(--mono); font-size: 32px; font-weight: 700; font-variant-numeric: tabular-nums; margin: 12px 0 4px; }
.h-col .sub { font-size: 12.5px; color: var(--ink-400); }
.h-col ul { list-style: none; margin-top: 16px; display: flex; flex-direction: column; gap: 9px; }
.h-col li { display: flex; gap: 9px; align-items: flex-start; font-size: 13.5px; color: var(--ink-600); }
.h-col li svg { flex: none; margin-top: 2px; }
.h-col .ok { color: var(--led-g); } .h-col .no { color: var(--red); }
.h-save { margin-top: 16px; padding: 13px 16px; border-radius: 8px; background: var(--copper-100);
  border: 1px solid var(--copper-200); font-size: 13.5px; color: var(--copper-800); }
.h-save b { font-family: var(--mono); }

/* Ablauf in Schritten */
.h-steps { display: grid; grid-template-columns: repeat(4, 1fr); gap: 14px; counter-reset: step; }
.h-step { position: relative; border: 1px solid var(--steel-200); border-radius: 10px; background: var(--steel-0);
  padding: 22px 20px 20px; transition: transform .25s var(--e), border-color .2s; }
.h-step:hover { transform: translateY(-4px); border-color: var(--ink-900); }
.h-step .num { counter-increment: step; font-family: var(--mono); font-size: 11px; font-weight: 600;
  letter-spacing: .1em; color: var(--copper-600); }
.h-step .num::before { content: "0" counter(step); }
.h-step h4 { font-size: 15px; font-weight: 700; margin: 8px 0 6px; }
.h-step p { font-size: 13.5px; color: var(--ink-600); }
.h-step::after { content: ""; position: absolute; right: -8px; top: 50%; width: 14px; height: 1px;
  background: var(--steel-300); }
.h-step:last-child::after { display: none; }

/* Leistungsumfang */
.h-incl { display: grid; grid-template-columns: 1fr 1fr; gap: 0 26px; border: 1px solid var(--steel-200);
  border-radius: 10px; background: var(--steel-0); padding: 8px 22px; }
.h-incl div { display: flex; align-items: center; gap: 10px; padding: 12px 0; font-size: 14px;
  border-bottom: 1px solid var(--steel-100); color: var(--ink-600); }
.h-incl div:nth-last-child(-n+2) { border-bottom: none; }
.h-incl svg { color: var(--led-g); flex: none; }

@media (max-width: 960px) {
  .h-kpis { grid-template-columns: 1fr 1fr; }
  .h-compare, .h-incl { grid-template-columns: 1fr; }
  .h-steps { grid-template-columns: 1fr 1fr; }
  .h-step::after { display: none; }
  .bgal-item { width: 138px; height: 138px; }
}
@media (max-width: 560px) { .h-steps { grid-template-columns: 1fr; } }

/* ---------------------------------------------- Solo-Mining-Rechner */
.solo { display: grid; grid-template-columns: 1.05fr .95fr; gap: 20px; align-items: start; }
.solo-form { background: var(--steel-0); border: 1px solid var(--steel-200); border-radius: 10px; padding: 24px; }
.solo-form .opt-label:first-child { margin-top: 0; }
.solo-form details.faq { border-color: var(--steel-200); }
.solo-form details.faq summary { font-size: 13.5px; padding: 12px 14px; }
.solo-form details.faq .fa { padding: 0 14px 14px; }

.solo-out {
  position: sticky; top: 150px;
  background: var(--carbon-900); border: 1px solid var(--carbon-line);
  border-top: 2px solid var(--copper-600); border-radius: 10px;
  padding: 26px; color: var(--carbon-txt);
}
.solo-head { text-align: center; padding-bottom: 20px; border-bottom: 1px solid var(--carbon-line); }
.solo-head .k { font-family: var(--mono); font-size: 10.5px; font-weight: 600; letter-spacing: .1em;
  text-transform: uppercase; color: var(--carbon-mut); }
.solo-head .v { font-family: var(--mono); font-size: 40px; font-weight: 700; letter-spacing: -.02em;
  margin: 8px 0 4px; font-variant-numeric: tabular-nums; }
.solo-head .sub { font-size: 12.5px; color: var(--carbon-mut); }

.solo-odds { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--carbon-line);
  border: 1px solid var(--carbon-line); border-radius: 8px; overflow: hidden; margin: 20px 0; }
.solo-odds > div { background: var(--carbon-800); padding: 14px 12px; text-align: center; }
.solo-odds .k { font-family: var(--mono); font-size: 10px; letter-spacing: .08em; text-transform: uppercase;
  color: var(--carbon-mut); }
.solo-odds .v { font-family: var(--mono); font-size: 21px; font-weight: 600; margin-top: 5px;
  font-variant-numeric: tabular-nums; }

.solo-rows .srow { display: flex; justify-content: space-between; gap: 12px; padding: 9px 0;
  font-size: 13.5px; color: var(--carbon-mut); }
.solo-rows .srow b { font-family: var(--mono); font-weight: 600; color: var(--carbon-txt);
  font-variant-numeric: tabular-nums; }
.solo-rows .srow.tot { border-top: 1px solid var(--carbon-line); margin-top: 8px; padding-top: 14px;
  font-size: 15px; color: var(--carbon-txt); font-weight: 700; }
.solo-rows .srow.tot b { font-size: 20px; }
.solo-rows .pos b { color: var(--led-g-dark); }
.solo-rows .neg b { color: var(--red-dark); }

.solo-verdict { margin-top: 16px; padding: 14px 16px; border-radius: 8px; font-size: 13.5px; line-height: 1.6;
  background: var(--carbon-800); border: 1px solid var(--carbon-line); color: var(--carbon-mut); }
.solo-verdict b { color: var(--carbon-txt); }
.solo-verdict.good { border-color: #2f6b3f; }
.solo-verdict.bad  { border-color: #7a3227; }

.solo-note { margin-top: 22px; padding: 18px 20px; border: 1px solid var(--steel-200); border-radius: 8px;
  background: var(--steel-0); font-size: 13.5px; line-height: 1.7; color: var(--ink-600); }
.solo-note b { color: var(--ink-900); }

@media (max-width: 960px) {
  .solo { grid-template-columns: 1fr; }
  .solo-out { position: static; }
  .solo-head .v { font-size: 32px; }
}

/* Bilder ohne Freisteller: bewusst gerahmt statt nackter weisser Kasten */
.obj3d.framed .hero-im, .pd-obj.framed img.main {
  background: var(--steel-0);
  border: 1px solid var(--steel-200);
  border-radius: 12px;
  padding: 14px;
  box-shadow: 0 24px 60px -30px rgba(0,0,0,.75);
}
.obj3d.framed .hero-ref, .pd-obj.framed img.mref { display: none; }

/* Kassenfehler: sichtbar und ehrlich statt stiller Falschmeldung */
.ck-err {
  margin: 0 0 16px; padding: 14px 16px;
  border: 1px solid var(--red, #B4331F); border-left-width: 3px; border-radius: 6px;
  background: rgba(180, 51, 31, .06);
  font-size: 13.5px; line-height: 1.65; color: var(--ink-800, #2A2722);
}
.ck-err b { color: var(--red-dark, #8E2716); }
.ck-err a { color: var(--copper-600, #9E4A17); text-decoration: underline; }
.ck-err-d {
  display: block; margin-top: 8px;
  font-family: var(--mono); font-size: 11px; color: var(--ink-400, #7A736A);
}

/* Marktleiste: nur zeigen, was auch belegt ist */
.ticker[data-state="off"] { display: none; }
.ticker[data-state="loading"] .led { opacity: .3; animation: none; }
.ticker[data-state="stale"] .led { background: var(--brass, #C99A3D); animation: none; }
.ticker[data-state="stale"] #tState { color: var(--brass, #C99A3D); }

/* ======================================================== Kundenkonto ==== */

.acc-link { display:flex; align-items:center; gap:7px; padding:8px 12px; border:1px solid var(--steel-200);
  border-radius:4px; background:var(--steel-0); font-size:12.5px; font-weight:600; color:var(--ink-700);
  text-decoration:none; white-space:nowrap; transition:border-color .16s, color .16s; }
.acc-link:hover { border-color:var(--copper-500); color:var(--copper-600); }
.acc-link.in { border-color:var(--copper-300, #D8A47E); color:var(--copper-600); }
@media (max-width: 720px) { .acc-link span { display:none; } .acc-link { padding:8px; } }

/* Anmelde- und Registrierkarten */
.auth-wrap { max-width: 460px; margin: 44px auto 0; }
.auth-card { background:var(--steel-0); border:1px solid var(--steel-200); border-radius:10px; padding:32px 30px; }
.auth-head { margin-bottom: 22px; }
.auth-head h1 { font-size: 27px; margin: 0 0 6px; }
.auth-head p { font-size: 13.5px; color: var(--ink-500); margin: 0; }
.auth-form .form-grid { margin-bottom: 18px; }
.btn.full { width: 100%; justify-content: center; }
.auth-links { margin-top: 14px; text-align: center; font-size: 13px; }
.auth-links a, .auth-foot a { color: var(--copper-600); text-decoration: underline; }
.auth-foot { text-align:center; margin-top:18px; font-size:13.5px; color:var(--ink-500); }
.auth-msg { padding:12px 14px; border-radius:6px; font-size:13px; line-height:1.6; margin-bottom:18px; }
.auth-msg.bad { border:1px solid var(--red, #B4331F); border-left-width:3px;
  background:rgba(180,51,31,.06); color:var(--ink-800, #2A2722); }
.auth-msg.good { border:1px solid var(--led-g-dark, #3E7A46); border-left-width:3px;
  background:rgba(62,122,70,.07); }
.auth-done { text-align: center; padding: 8px 0; }
.auth-done h2 { font-size: 20px; margin: 14px 0 8px; }
.auth-done p { font-size: 13.5px; color: var(--ink-500); line-height: 1.7; margin-bottom: 18px; }
.auth-done .ok { width:46px; height:46px; margin:0 auto; border-radius:50%; display:flex;
  align-items:center; justify-content:center; background:var(--copper-500); color:#fff; }
.hint { display:block; margin-top:6px; font-size:11.5px; color:var(--ink-400); font-family:var(--mono); }
.check { display:flex; gap:10px; align-items:flex-start; font-size:12.5px; color:var(--ink-600);
  line-height:1.6; margin-bottom:18px; }
.check input { margin-top:2px; flex:none; accent-color: var(--copper-500); }
.check a { color: var(--copper-600); text-decoration: underline; }

/* Captcha */
.cap-row { display:flex; gap:10px; align-items:center; margin-bottom:10px; }
.cap-row img { border:1px solid var(--steel-200); border-radius:4px; display:block; background:var(--carbon-900); }
.cap-row button { width:38px; height:38px; flex:none; border:1px solid var(--steel-200); border-radius:4px;
  background:var(--steel-0); color:var(--ink-600); display:flex; align-items:center; justify-content:center;
  cursor:pointer; transition:border-color .16s, color .16s; }
.cap-row button:hover { border-color:var(--copper-500); color:var(--copper-600); }
#fCap { font-family:var(--mono); letter-spacing:.22em; text-transform:uppercase; }

/* Passwortstärke */
.pw-meter { height:4px; border-radius:2px; background:var(--steel-100, #EAE6DF); margin-top:8px; overflow:hidden; }
.pw-meter span { display:block; height:100%; width:0; border-radius:2px; transition:width .25s, background .25s; }
.pw-meter .weak { background:var(--red, #B4331F); }
.pw-meter .ok   { background:var(--brass, #C99A3D); }
.pw-meter .good { background:var(--led-g-dark, #3E7A46); }

/* Übersicht */
.acc-top { display:flex; justify-content:space-between; align-items:flex-end; gap:20px;
  flex-wrap:wrap; padding:38px 0 22px; border-bottom:1px solid var(--steel-200); }
.acc-top h1 { font-size:30px; margin:4px 0 4px; }
.acc-mail { font-size:12.5px; color:var(--ink-400); }
.acc-kpis { display:grid; grid-template-columns:repeat(3,1fr); gap:14px; margin:22px 0 26px; }
.acc-kpis .kpi { background:var(--steel-0); border:1px solid var(--steel-200); border-radius:8px; padding:16px 18px; }
.acc-kpis .k { display:block; font-family:var(--mono); font-size:11px; color:var(--ink-400);
  text-transform:uppercase; letter-spacing:.08em; margin-bottom:6px; }
.acc-kpis b { font-size:23px; font-variant-numeric:tabular-nums; }
.acc-tabs { display:flex; gap:4px; border-bottom:1px solid var(--steel-200); margin-bottom:26px;
  overflow-x:auto; scrollbar-width:none; }
.acc-tabs::-webkit-scrollbar { display:none; }
.acc-tabs button { background:none; border:0; border-bottom:2px solid transparent; padding:11px 15px;
  font-size:13.5px; font-weight:600; color:var(--ink-500); cursor:pointer; white-space:nowrap; }
.acc-tabs button.on { color:var(--copper-600); border-bottom-color:var(--copper-500); }
.acc-panel { display:none; }
.acc-panel.on { display:block; }
.acc-note { margin-top:18px; font-size:12px; color:var(--ink-400); line-height:1.7; }
.saved { margin-top:12px; font-size:12.5px; color:var(--led-g-dark, #3E7A46); font-family:var(--mono); }

/* Bestellungen */
.ord { border:1px solid var(--steel-200); border-radius:8px; margin-bottom:14px; background:var(--steel-0); }
.ord-head { display:flex; align-items:center; gap:14px; flex-wrap:wrap; padding:14px 18px;
  border-bottom:1px solid var(--steel-200); }
.ord-head .dt { font-size:12px; color:var(--ink-400); }
.ord-head .tot { margin-left:auto; font-variant-numeric:tabular-nums; }
.st { font-family:var(--mono); font-size:10.5px; text-transform:uppercase; letter-spacing:.07em;
  padding:3px 8px; border-radius:3px; background:var(--steel-100, #EAE6DF); color:var(--ink-600); }
.st-completed, .st-processing { background:rgba(62,122,70,.12); color:var(--led-g-dark, #3E7A46); }
.st-pending, .st-on-hold { background:rgba(201,154,61,.16); color:#8A6412; }
.st-cancelled, .st-refunded, .st-failed { background:rgba(180,51,31,.1); color:var(--red-dark, #8E2716); }
.ord-items { padding:6px 18px 14px; }
.oi { display:flex; justify-content:space-between; gap:16px; padding:8px 0; font-size:13.5px;
  border-bottom:1px dashed var(--steel-200); }
.oi:last-child { border-bottom:0; }
.oi .sku { display:block; font-size:11px; color:var(--ink-400); margin-top:2px; }

/* Anschriften */
.addr-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:14px; margin-bottom:18px; }
.addr { position:relative; border:1px solid var(--steel-200); border-radius:8px; padding:18px;
  background:var(--steel-0); }
.addr.def { border-color:var(--copper-500); }
.addr .badge2 { position:absolute; top:12px; right:12px; }
.addr h4 { font-size:13px; margin:0 0 8px; text-transform:uppercase; letter-spacing:.06em;
  font-family:var(--mono); color:var(--ink-400); }
.addr p { font-size:13.5px; line-height:1.7; margin:0 0 14px; }
.addr-act { display:flex; gap:12px; flex-wrap:wrap; }
.addr-act button { background:none; border:0; padding:0; font-size:12.5px; color:var(--copper-600);
  text-decoration:underline; cursor:pointer; }
.addr-act button.rm { color:var(--red-dark, #8E2716); }
.addr-form { margin-top:6px; }
.ck-hint { font-size:11.5px; color:var(--ink-400); margin:-6px 0 16px; }
.ck-hint a { color:var(--copper-600); text-decoration:underline; }

@media (max-width: 700px) {
  .acc-kpis { grid-template-columns:1fr; }
  .acc-top { padding-top:26px; }
  .auth-card { padding:26px 20px; }
}

/* ================================================ Solo-Rechner: einfach == */

.solo-app { border:1px solid var(--steel-200); border-radius:12px; background:var(--steel-0);
  padding:22px 24px 26px; margin-bottom:26px; transition:background .25s, border-color .25s, color .25s; }
.solo-bar { display:flex; justify-content:space-between; align-items:center; gap:14px;
  flex-wrap:wrap; margin-bottom:20px; }
.seg { display:inline-flex; border:1px solid var(--steel-200); border-radius:6px; overflow:hidden; }
.seg button { background:none; border:0; padding:9px 18px; font-size:13.5px; font-weight:600;
  color:var(--ink-500); cursor:pointer; transition:background .16s, color .16s; }
.seg button.on { background:var(--copper-500); color:#fff; }
.seg.small button { padding:7px 14px; font-size:12.5px; }
.seg.small { margin-bottom:18px; }
.solo-app .theme { display:inline-flex; align-items:center; gap:7px; background:none; cursor:pointer;
  border:1px solid var(--steel-200); border-radius:6px; padding:8px 14px; font-size:13px;
  font-weight:600; color:var(--ink-500); }
.solo-app .theme .ic { font-size:14px; line-height:1; }

.solo-input label { display:block; font-family:var(--mono); font-size:11px; letter-spacing:.08em;
  text-transform:uppercase; color:var(--ink-400); margin-bottom:9px; }
.solo-input .row { display:flex; gap:10px; align-items:stretch; }
.solo-input input { flex:1; min-width:0; font-family:var(--mono); font-size:26px; font-weight:600;
  padding:14px 16px; border:1px solid var(--steel-200); border-radius:6px; background:var(--white,#fff);
  color:var(--ink-900); font-variant-numeric:tabular-nums; }
.solo-input select { width:auto; font-size:15px; padding:0 14px; border:1px solid var(--steel-200);
  border-radius:6px; background:var(--white,#fff); color:var(--ink-700); }
.solo-input .note { font-size:11.5px; color:var(--ink-400); margin-top:10px; line-height:1.6; }
#sAddr { font-size:15px; }

.solo-cards { display:grid; grid-template-columns:repeat(2,1fr); gap:14px; margin:24px 0 14px; }
.solo-cards .sc { border:1px solid var(--steel-200); border-radius:10px; padding:20px 22px;
  background:var(--white,#fff); }
.solo-cards .sc.wide { grid-column:span 2; }
.solo-cards .k { font-family:var(--mono); font-size:11px; letter-spacing:.08em; text-transform:uppercase;
  color:var(--ink-400); margin-bottom:10px; }
.solo-cards .v { font-family:var(--display,var(--sans)); font-size:34px; font-weight:800; line-height:1.1;
  font-variant-numeric:tabular-nums; letter-spacing:-.01em; }
.solo-cards .sc.wide .v { color:var(--copper-600); }
.solo-src { font-size:11.5px; color:var(--ink-400); }
.solo-more { margin-top:20px; padding-top:18px; border-top:1px solid var(--steel-200); }
.solo-more p { font-size:13.5px; line-height:1.75; color:var(--ink-600); margin-bottom:14px; }
.solo-more b { color:var(--ink-900); }

/* Dunkle Fassung — nur dieser Rechner, damit der Shop hell bleibt */
.solo-app.dark { background:var(--carbon-900,#1C1A15); border-color:#332F26; color:#E8DCC8; }
.solo-app.dark .seg, .solo-app.dark .theme { border-color:#3A362B; }
.solo-app.dark .seg button, .solo-app.dark .theme { color:#A49B88; }
.solo-app.dark .seg button.on { background:var(--copper-500,#9E4A17); color:#fff; }
.solo-app.dark .solo-input label, .solo-app.dark .solo-cards .k,
.solo-app.dark .solo-src, .solo-app.dark .solo-input .note { color:#8E8574; }
.solo-app.dark .solo-input input, .solo-app.dark .solo-input select,
.solo-app.dark .solo-cards .sc { background:#26231C; border-color:#3A362B; color:#F2E9D8; }
.solo-app.dark .solo-cards .sc.wide .v { color:var(--brass,#C99A3D); }
.solo-app.dark .solo-more { border-top-color:#3A362B; }
.solo-app.dark .solo-more p { color:#B8AE99; }
.solo-app.dark .solo-more b { color:#F2E9D8; }
.solo-app.dark .btn-line { border-color:#4A4436; color:#E8DCC8; }
.solo-app.dark .btn-line:hover { border-color:var(--brass,#C99A3D); color:var(--brass,#C99A3D); }

@media (max-width: 640px) {
  .solo-cards { grid-template-columns:1fr; }
  .solo-cards .sc.wide { grid-column:span 1; }
  .solo-cards .v { font-size:29px; }
  .solo-input input { font-size:21px; }
  .solo-bar { gap:10px; }
}

/* Verstecktes bleibt versteckt — sonst gewinnt display:grid gegen das Attribut */
[hidden] { display: none !important; }

/* Mehrere Währungen im Konto: jede für sich, nichts wird addiert */
.acc-kpis b.multi { font-size: 17px; line-height: 1.45; }
.acc-kpis b .sep { color: var(--ink-300, #ABA396); margin: 0 7px; font-weight: 400; }

/* Währungsumschalter in der Kopfzeile */
.chip-cur { display: inline-flex; align-items: center; padding: 0; overflow: hidden; }
.chip-cur select {
  font-family: var(--mono); font-size: 11.5px; color: var(--ink-600);
  border: 0; background: transparent; padding: 6px 8px 6px 10px; cursor: pointer;
  appearance: none; -webkit-appearance: none;
}
.chip-cur.one select { pointer-events: none; padding-right: 10px; }
.chip-cur::after {
  content: ''; width: 0; height: 0; margin: 0 9px 0 -2px;
  border-left: 3.5px solid transparent; border-right: 3.5px solid transparent;
  border-top: 4px solid var(--ink-400);
}
.chip-cur.one::after { display: none; }
.vh { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.fx-note { margin-top: 12px; font-size: 11.5px; line-height: 1.6; color: var(--ink-400); font-family: var(--mono); }
.pd-price small #pdFx { color: var(--ink-400); }
.pd-price small #pdFx { display: block; margin-top: 3px; color: var(--ink-400); }
.pd-price small #pdFx:empty { display: none; }

/* Zahlungsstand auf der Danke-Seite */
.pay-state { margin: 16px auto 4px; padding: 12px 16px; border-radius: 6px; max-width: 27rem;
  font-size: 13.5px; line-height: 1.6; border: 1px solid var(--steel-200); background: var(--steel-0); }
.pay-state.paid { border-color: var(--led-g-dark, #3E7A46); background: rgba(62,122,70,.07); }
.pay-state.open { border-color: var(--brass, #C99A3D); background: rgba(201,154,61,.09); }
.pay-state.failed { border-color: var(--red, #B4331F); background: rgba(180,51,31,.06); }
.pay-state b { display: block; margin-bottom: 3px; }
.payopt.online .pt::after { content: 'online'; margin-left: 8px; font-family: var(--mono);
  font-size: 9.5px; letter-spacing: .07em; text-transform: uppercase; color: var(--copper-600);
  border: 1px solid var(--copper-200, #E0BFA6); border-radius: 2px; padding: 1px 5px; vertical-align: 1px; }
.pay-limit { margin: 0 0 16px; padding: 12px 15px; border: 1px solid var(--steel-200);
  border-left: 3px solid var(--brass, #C99A3D); border-radius: 5px; background: var(--steel-0);
  font-size: 13px; line-height: 1.65; color: var(--ink-600); }
.payopt.crypto .pt::after { content: 'crypto'; }
