/* Boxstudio Andres – Mitgliederbereich. Look wie Website und Entwürfe. */
@font-face{font-family:CGRough;src:url(fonts/CheddarGothic-RoughRegular.woff2) format("woff2");font-display:swap}
@font-face{font-family:CGSans;src:url(fonts/CheddarGothic-SansRegular.woff2) format("woff2");font-display:swap}
/* Gelasio als Ersatz für Miller Text, bis die Lizenz gekauft ist */
@font-face{font-family:Text;font-weight:400;src:url(fonts/gelasio-latin-400-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Text;font-weight:600;src:url(fonts/gelasio-latin-600-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Text;font-weight:700;src:url(fonts/gelasio-latin-700-normal.woff2) format("woff2");font-display:swap}
@font-face{font-family:Text;font-style:italic;src:url(fonts/gelasio-latin-400-italic.woff2) format("woff2");font-display:swap}
:root{--schwarz:#141414;--rot:#b7120f;--papier:#fdfcf9;--grau:#f4f2ee;--linie:#c9c5bd;--text2:#555;--gE:#141414;--gJ:#1f5fae;--gB:#2a9d8f;--gruen:#2d6a3e}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:#e9e6e0;color:var(--schwarz);font:15px/1.5 Text,Georgia,serif}
/* Umbrüche: Überschriften ausgewogen, Fließtext ohne einzelne Wörter in der letzten Zeile (Browser ohne Unterstützung ignorieren das) */
h1,h2,h3,.h-gross,.h-mittel,.seitentitel,.lead{text-wrap:balance}
p,li,label{text-wrap:pretty}
/* kurze Links in Hinweisen bleiben zusammen in einer Zeile */
.kasten a,.mitte a,.lead a,label a{white-space:nowrap}
.app{max-width:480px;min-height:100vh;margin:0 auto;background:var(--papier);position:relative;display:flex;flex-direction:column}
@media(min-width:520px){.app{box-shadow:0 0 0 1px var(--linie)}}
.kopf{background:var(--papier) url(bilder/hintergrund.svg) center top/100% auto;border-bottom:1px solid #d8d4cc;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:8px 16px}
.kopf img{height:46px;max-width:56vw;object-fit:contain;display:block}
.kopf .links a,.kopf .rechts{font-size:13px;color:var(--schwarz);text-decoration:none}
.kopf .rechts{text-align:right;color:#777;font-size:12px}
.balken{height:3px;background:#d8d4cc}.balken i{display:block;height:3px;background:var(--rot)}
main{flex:1;padding:18px 18px 28px}
h1,h2{font-family:CGSans,Impact,sans-serif;font-weight:400;letter-spacing:.3px;line-height:1.05;margin:4px 0 6px}
h1{font-size:30px}h1.rough{font-family:CGRough,CGSans,Impact,sans-serif;font-size:34px}
h2{font-size:21px;margin-top:22px}
.lead{font-size:14px;color:var(--text2);margin:0 0 16px}
a{color:var(--rot)}
.seg{display:flex;border:2px solid var(--schwarz);margin-bottom:14px}
.seg a{flex:1;text-align:center;padding:9px 2px;font:20px CGSans,Impact,sans-serif;letter-spacing:.3px;color:var(--schwarz);text-decoration:none;line-height:1.1}
.seg a small{display:block;font:13px Text,serif;opacity:.75}
.seg a.an{color:#fff}
.tarif{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#fff;border:1px solid var(--linie);border-left:6px solid var(--g);padding:12px 14px;margin-bottom:10px;cursor:pointer}
.tarif input{position:absolute;opacity:0;pointer-events:none}
.tarif:has(input:checked){outline:2px solid var(--g);outline-offset:-1px}
.tarif b{display:block;font:20px CGSans,Impact,sans-serif;font-weight:400}
.tarif small{display:block;color:#666;font-size:13px;line-height:1.35}
.tarif .preis{text-align:right;white-space:nowrap}.tarif .preis b{font-size:27px}.tarif .preis small{font-size:13px}
.marke{display:inline-block;font-size:13px;font-weight:700;background:var(--rot);color:#fff;padding:1px 6px;margin-top:4px}
.liste{font-size:13px;line-height:1.6;margin:10px 0 0;padding:10px 12px 10px 28px;background:var(--grau)}
label{display:block;font-size:12.5px;color:var(--text2);margin:12px 0 3px}
label em{font-style:normal;color:#999}
.pflicht{color:var(--rot);margin-left:1px}
input[type=text],input[type=email],input[type=tel],input[type=number],textarea,select{width:100%;font:16px Text,serif;padding:11px 12px;border:1.5px solid #9a968e;background:#fff;border-radius:0;color:var(--schwarz);-webkit-appearance:none;appearance:none}
input:focus,select:focus{outline:none;border-color:var(--schwarz)}
.fehler input,input.fehler{border-color:var(--rot);background:#fff6f5}
.fehlertext{font-size:12px;color:var(--rot);margin-top:3px}
.zwei{display:grid;grid-template-columns:1fr 1fr;gap:10px}.plz{display:grid;grid-template-columns:110px 1fr;gap:10px}
.haken{display:flex;gap:10px;align-items:flex-start;font-size:13px;line-height:1.45;margin:14px 0;color:var(--schwarz)}
.haken input{width:22px;height:22px;flex:none;margin:0;accent-color:var(--schwarz)}
.kasten{background:#fff;border:1px solid var(--linie);padding:12px 14px;margin:12px 0;font-size:14px}
.kasten.grau{background:var(--grau);border-color:#e3e0da}
.kasten h3{font:17px CGSans,Impact,sans-serif;font-weight:400;margin:0 0 6px;display:flex;justify-content:space-between}
.kasten h3 a{font:13px Text,serif}
.daten{display:grid;grid-template-columns:auto 1fr;column-gap:12px;row-gap:4px;font-size:14px;margin:0}
.daten dt{color:#666}.daten dd{margin:0;text-align:right;font-weight:600}
.daten dt small{display:block;color:#888;font-size:11.5px}
.wahl{display:flex;gap:8px;margin:6px 0 2px}
.wahl label{flex:1;margin:0;border:1.5px solid #9a968e;background:#fff;padding:10px 6px;text-align:center;font-size:14px;color:var(--schwarz);cursor:pointer;line-height:1.25}
.wahl label small{display:block;color:#777;font-size:11.5px}
.wahl input{position:absolute;opacity:0}
.wahl label:has(input:checked){border:2px solid var(--schwarz);font-weight:600}
.mandat{font-size:12px;line-height:1.5}
.knopf{display:block;width:100%;text-align:center;background:var(--schwarz);color:#fff;padding:14px;font:20px CGSans,Impact,sans-serif;letter-spacing:.6px;border:0;cursor:pointer;text-decoration:none;margin-top:18px;min-height:48px}
.knopf.rot{background:var(--rot)}
.knopf small{display:block;font:11.5px Text,serif;letter-spacing:0;opacity:.85}
.knopf.klein{display:inline-block;width:auto;font-size:16px;padding:9px 16px;min-height:0;margin-top:8px}
.knopf.hell{background:#fff;color:var(--schwarz);border:1.5px solid var(--schwarz);font:15px Text,serif}
.code{display:flex;gap:8px}.code input{text-transform:uppercase}.code button{border:1.5px solid var(--schwarz);background:#fff;font:14px Text,serif;padding:0 14px;cursor:pointer}
.hinweis{background:var(--schwarz);color:#fff;padding:10px 12px;font-size:13px;margin-bottom:14px}
.ok{color:var(--gruen);font-size:13px}
.mitte{text-align:center}
.illu{display:block;margin:18px auto 0;max-height:160px;max-width:70%}
.doc{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid #e3e0da;font-size:14px;color:var(--schwarz);text-decoration:none}
.doc small{display:block;color:#777;font-size:12px}.doc em{font-style:normal;font-size:11px;font-weight:700;color:#fff;background:var(--rot);padding:2px 5px}
.ziffern{display:flex;gap:6px}.ziffern input{text-align:center;font-size:24px;padding:10px 0;letter-spacing:0}
.fuss{border-top:1px solid #d8d4cc;padding:14px 18px 22px;font-size:12px;color:#777;display:flex;justify-content:space-between;align-items:center;gap:14px}
.fuss nav a{color:#555;margin-right:10px;white-space:nowrap;line-height:2}

.reiter{position:sticky;bottom:0;display:flex;background:var(--papier);border-top:1px solid var(--linie);padding:6px 4px 12px}
.reiter a{flex:1;text-align:center;font-size:11.5px;color:#777;text-decoration:none;line-height:1.2}
.reiter a i{display:block;font:20px CGSans,sans-serif;font-style:normal;color:#9a968e}
.reiter a.an{color:var(--schwarz);font-weight:600}.reiter a.an i{color:var(--rot)}
.fortschritt{height:8px;background:#e3e0da;margin:6px 0 4px}.fortschritt i{display:block;height:8px;background:var(--schwarz)}
.qr{width:170px;margin:4px auto 6px;background:#fff;padding:10px;border:1px solid var(--linie)}.qr svg{display:block;width:100%;height:auto}
.wallet{display:flex;gap:8px;margin-top:10px}.wallet a{flex:1;background:#000;color:#fff;border-radius:8px;padding:9px 6px;text-align:center;font-size:13px;text-decoration:none;line-height:1.2}.wallet a small{display:block;font-size:10px;opacity:.75}
.testmodus{background:#fbf3e6;border-bottom:2px solid #d39a2a;font-size:12px;padding:6px 14px;text-align:center}
.kat{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px}
.kat a{background:#fff;border:1.5px solid #9a968e;padding:12px 8px;text-align:center;font:16px CGSans,Impact,sans-serif;letter-spacing:.3px;line-height:1.15;color:var(--schwarz);text-decoration:none}
.kat a small{display:block;font:11px Text,serif;color:#777;margin-top:2px}
.kat a.an{background:var(--schwarz);color:#fff;border-color:var(--schwarz)}.kat a.an small{color:#ccc}
.betr{display:flex;gap:8px;margin:6px 0}.betr label{flex:1;margin:0;border:1.5px solid #9a968e;background:#fff;padding:10px;text-align:center;cursor:pointer;font:18px CGSans,Impact,sans-serif;color:var(--schwarz)}
.betr input{position:absolute;opacity:0}.betr label:has(input:checked){background:var(--schwarz);color:#fff;border-color:var(--schwarz)}
.gs{margin:12px 0;border:1px solid var(--linie);background:var(--papier) url(bilder/hintergrund.svg) center/100% auto;padding:16px;text-align:center;position:relative;overflow:hidden}
.gs h3{font:30px CGRough,CGSans,sans-serif;margin:4px 0 0;font-weight:400}.gs .w{font:44px CGSans,sans-serif;margin:2px 0}
.gs .l{width:90px;display:block;margin:0 auto 4px}.gs .h{position:absolute;right:8px;top:10px;width:56px}
.gs .cd{display:block;margin-top:10px;padding-top:8px;border-top:1px dotted #9a968e;font-size:11px;color:#555}
.karte{background:var(--schwarz);color:#fff;border-radius:14px;padding:16px;margin:10px 0}
.karte .t{font:20px CGSans,sans-serif;letter-spacing:.4px}.karte .s{font-size:12px;opacity:.8}
.punkte{display:grid;grid-template-columns:repeat(10,1fr);gap:4px;margin:12px 0 6px}.punkte i{height:16px;border-radius:50%;background:#fff;display:block}.punkte i.weg{background:#555}
.note{font-size:12.5px;color:#9a6200;background:#fbf3e6;border-left:3px solid #d39a2a;padding:6px 9px;margin:8px 0}
.note.rot{color:var(--rot);background:#fff6f5;border-color:var(--rot)}
.entwurf{background:#fdf1e3;border-left:4px solid #b7120f;padding:8px 10px;font-size:13px}

/* Abgleich C */
.linkknopf{background:none;border:0;padding:0;color:var(--rot);text-decoration:underline;cursor:pointer;font:inherit}
.codes{margin:6px 0 4px}.codes .knopf.klein{font-size:15px}
.bedingungen{margin-top:12px}
.wunsch{margin-top:8px}
/* Abgleich E */
/* Tipp Startbildschirm als Band, wegklickbar (in der installierten Web-App ausgeblendet) */
.tipp{background:var(--schwarz);color:#fff;padding:10px 12px;font-size:12.5px;display:flex;justify-content:space-between;gap:10px;align-items:center;margin:-4px 0 14px}
.tipp[hidden]{display:none}
.tipp button{background:none;border:0;color:#fff;opacity:.7;font-size:16px;cursor:pointer;padding:0 2px}
@media (display-mode: standalone){.tipp{display:none}}
/* Kacheln auf dem Start von Mein Boxstudio */
.kacheln{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;margin:12px 0}
.kacheln a{background:#fff;border:1px solid var(--linie);padding:12px 6px;text-align:center;font:16px CGSans,Impact,sans-serif;letter-spacing:.3px;line-height:1.15;color:var(--schwarz);text-decoration:none}
.kacheln a small{display:block;font:11px Text,serif;color:#777;letter-spacing:0;margin-top:3px}
/* Jeder Punkt ein Training: feste, runde Punkte (auch bei 10 Stück) */
.punkte{display:flex;flex-wrap:wrap;gap:6px}
.punkte i{width:16px;height:16px;flex:none;border-radius:50%}
/* Wallet-Knöpfe auf der schwarzen Karte */
.karte .wallet a{border:1px solid #666}
.wallet a{font-family:Text,Georgia,serif}
/* Prüfung P1: Auswahlfelder als Auswahl erkennbar (Pfeil rechts) */
select{background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8'%3E%3Cpath d='M1 1l5 5 5-5' fill='none' stroke='%23141414' stroke-width='1.6'/%3E%3C/svg%3E") no-repeat right 12px center;padding-right:34px}
input::placeholder{text-transform:none}
.hinweis-rot{margin-top:10px;padding:8px 10px;border-left:4px solid #b7120f;background:#fbeeee;font-size:13px;line-height:1.45}
/* 21.10.: Kopf Mein Boxstudio wie Entwurf */
.mkopf{background:#141414;color:#fff;padding:14px 16px 16px}
.mkopf .zeile{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.mkopf .marke{background:#fff;color:#141414;text-decoration:none;font:14px/1 CGSans,Impact,sans-serif;letter-spacing:1px;text-transform:uppercase;padding:4px 7px 3px}
.mkopf .marke i{font-style:normal;display:inline-block;transform:skewX(-11deg)}
.mkopf .mb{border:1px solid #fff;color:#fff;text-decoration:none;font:600 10px Text,serif;letter-spacing:2px;text-transform:uppercase;padding:4px 8px}
.mkopf h1{font:40px/1 CGSans,Impact,sans-serif;font-weight:400;text-transform:uppercase;margin:0;color:#fff}
.mkopf .sub{font-size:12.5px;color:#cfcac2;margin-top:6px}
.mstatus{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin:12px 0 4px}
.mstatus b{background:#141414;color:#fff;font:600 10.5px Text,serif;letter-spacing:2px;text-transform:uppercase;padding:4px 8px}.mstatus b.rot{background:#b7120f}
.doc span{min-width:0;flex:1}.doc em{flex:none}.kasten{overflow-wrap:anywhere}
