/* Instrument Sans, lokal gehostet. Variable Schrift, Gewicht 400 bis 700. */
@font-face{
  font-family:"Instrument Sans";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/instrument-sans-latin-ext.woff2") format("woff2");
  unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF;
}
@font-face{
  font-family:"Instrument Sans";
  font-style:normal;
  font-weight:400 700;
  font-display:swap;
  src:url("/assets/fonts/instrument-sans-latin.woff2") format("woff2");
  unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;
}

/* WunschQR — Farben: Schwarz, Grau, Weiß, Gelb. Eine Schrift. Keine Verläufe. */

:root{
  --ink:#0b0b0b;
  --ground:#ffffff;
  --surface:#f4f4f1;
  --surface-2:#e9e9e4;
  --muted:#6e6e68;
  --dim:#9a9a93;
  --accent:#ffd60a;
  --accent-ink:#0b0b0b;
  --radius:10px;
  --pad:20px;
}

*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{
  background:var(--ground);
  color:var(--ink);
  font-family:"Instrument Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  font-size:16.5px;
  line-height:1.5;
  letter-spacing:-.005em;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--ink);text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:3px}

h1,h2,h3{letter-spacing:-.035em;line-height:1.06;font-weight:700}
h1{font-size:clamp(30px,7vw,44px)}
h2{font-size:20px;letter-spacing:-.02em}

/* ---------- Gastseiten ---------- */
.stage{
  min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:26px var(--pad) 40px;max-width:600px;margin:0 auto;
}
.stage .mark{width:96px;margin:0 auto 22px;display:block}
.hasbar .stage{min-height:calc(100dvh - 68px);padding-top:18px}
.pub-card{width:100%;background:var(--ground);border-radius:16px;padding:28px 22px}
.pub-card.head{background:var(--surface)}
.pub-card h1{margin-bottom:10px}
.pub-card p{color:var(--muted);font-size:16px;margin-bottom:16px}
.tag{display:inline-block;font-size:13px;font-weight:600;color:var(--ink);
  background:var(--accent);padding:4px 9px;border-radius:6px;margin-bottom:14px}

label{display:block;font-size:13.5px;font-weight:600;margin-bottom:6px}
input[type=text],input[type=email],input[type=password],input[type=url],textarea,select{
  width:100%;padding:14px;border:0;border-radius:10px;background:var(--surface);
  color:var(--ink);font-size:16.5px;font-family:inherit;font-weight:500;
}
input:focus,textarea:focus,select:focus{outline:3px solid var(--ink);outline-offset:1px}
textarea{min-height:100px;resize:vertical}
.field{margin-bottom:16px}
.hint{color:var(--muted);font-size:13.5px;margin-top:6px;font-weight:400}

button,.btn{
  display:inline-block;border:0;border-radius:10px;padding:15px 20px;
  background:var(--accent);color:var(--accent-ink);font-size:16px;font-weight:700;
  font-family:inherit;letter-spacing:-.01em;cursor:pointer;text-align:center;
}
button:hover,.btn:hover{filter:brightness(.94);text-decoration:none}
button:active,.btn:active{transform:translateY(1px)}
.btn.ghost{background:var(--surface);color:var(--ink)}
.btn.dark{background:var(--ink);color:#fff}
.btn.tiny{padding:9px 13px;font-size:14px;border-radius:8px}
.link.danger{color:#8a2a17}

/* Klappmenü auf schmalen Bildschirmen */
.menu{display:none;position:relative}
.menu summary{
  list-style:none;cursor:pointer;color:#0b0b0b;background:var(--accent);
  padding:11px 16px;border-radius:9px;font-weight:700;font-size:14.5px;
}
.menu summary::-webkit-details-marker{display:none}
.menu[open] summary{background:#fff}
.menu-body{
  position:absolute;right:0;top:calc(100% + 10px);z-index:20;
  display:grid;gap:2px;min-width:220px;padding:8px;
  background:var(--ink);border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.28);
}
.menu-body a,.menu-body .link{
  display:block;width:100%;text-align:left;padding:13px 14px;border-radius:8px;
  color:#fff;font-size:15.5px;font-weight:600;text-decoration:none;
}
.menu-body a.quiet{color:#9fada4}
.menu-body a:active,.menu-body .link:active{background:#1c1c1c}
.menu-body form{margin:0}

@media (max-width:600px){
  .bar{padding:11px 16px;gap:10px}
  .bar .logo{height:30px}
  .nav{font-size:13.6px;column-gap:13px}
  .nav .link{font-size:13.6px}
}
.navsep{color:#5f5f5a}
.link{background:none;border:0;color:var(--ink);padding:0;font-size:14.5px;cursor:pointer;
  font-weight:600;text-decoration:underline;text-underline-offset:3px}

.err{background:#fff3d1;border-left:4px solid var(--ink);border-radius:4px;padding:12px 14px;
  font-size:14.5px;margin-bottom:16px;font-weight:500}
.note{background:var(--surface-2);border-radius:8px;padding:12px 14px;font-size:14.5px;
  margin-bottom:16px;font-weight:500}
.empty{color:var(--muted);font-size:15px;padding:16px 0}

/* ---------- Inhaltsseite ---------- */
.hero{text-align:center}
.hero h1{font-size:clamp(30px,8vw,40px);margin-bottom:12px;text-align:center}
.hero .text{color:var(--ink);font-size:17px;white-space:pre-line;margin:0 auto 22px;line-height:1.5;
  text-align:center;max-width:34ch}
.actions{display:grid;gap:10px;max-width:420px;margin:0 auto}
.actions .btn{width:100%;padding:16px 18px}

/* ---------- App ---------- */
.bar{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;
  column-gap:12px;padding:calc(12px + env(safe-area-inset-top, 0px)) var(--pad) 12px;
  background:var(--ink);color:#fff}
.bar > a,.bar > img{grid-column:2;grid-row:1;justify-self:center}
.bar .logo{height:34px;width:auto;display:block}
.bar .wordmark{grid-column:2;grid-row:1;justify-self:center;color:#fff;font-weight:700;
  font-size:19px;letter-spacing:-.02em;text-decoration:none;white-space:nowrap}
.nav,.nav-wide,.menu{grid-column:3;grid-row:1;justify-self:end}
.bar .menu summary{padding:9px 14px}
.nav{display:flex;align-items:center;flex-wrap:wrap;column-gap:16px;row-gap:6px;font-size:14.5px;font-weight:500}
.nav a{color:#fff;white-space:nowrap}
.nav a.quiet{color:#9aa79e}
.nav a.quiet:hover{color:#fff}
.nav a:hover{color:var(--accent);text-decoration:none}
.nav .link{color:#fff;font-size:14.5px}
.nav .link:hover{color:var(--accent)}

.wrap{max-width:760px;margin:0 auto;padding:26px var(--pad) 44px}
.foot{text-align:center;color:#6e6e68;font-size:13.5px;padding:0 0 30px}

.sub{color:var(--muted);font-size:15.5px;margin:6px 0 20px;max-width:52ch}

.grid{display:grid;gap:10px}
.card{background:var(--surface);border-radius:var(--radius);padding:16px 17px}
.card .row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 14px}
.card .row > *{min-width:0}
.card .t{font-weight:700;font-size:16.5px;letter-spacing:-.015em}
.card .m{color:var(--muted);font-size:13.5px;margin-top:4px}
.pill{display:inline-block;flex-shrink:0;font-size:12.5px;font-weight:700;padding:4px 9px;border-radius:99px;
  background:var(--accent);color:var(--ink);white-space:nowrap}
.pill.off{background:#e9e9e4;color:#57574f}
.pill.new{background:var(--ink);color:#fff}

.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(94px,1fr));gap:1px;
  background:var(--surface-2);border-radius:12px;overflow:hidden;margin-bottom:22px}
.stat{background:var(--surface);padding:16px 17px}
.stat .n{font-size:34px;font-weight:700;letter-spacing:-.04em;font-variant-numeric:tabular-nums;line-height:1}
.stat .l{color:var(--muted);font-size:13px;font-weight:600;margin-top:6px}

.split{display:grid;grid-template-columns:1fr;gap:18px}
@media(min-width:780px){.split{grid-template-columns:1fr 300px;align-items:start}}

table{width:100%;border-collapse:collapse;font-size:14.5px;background:var(--surface);border-radius:var(--radius);overflow:hidden}
th,td{text-align:left;padding:11px 13px;border-bottom:1px solid var(--surface-2);vertical-align:top}
th{font-size:12.5px;font-weight:700;color:var(--muted)}
tr:last-child td{border-bottom:0}
.scroll{overflow-x:auto;border-radius:var(--radius)}

.qrbox{background:var(--surface);border-radius:var(--radius);padding:18px;text-align:center}
.qrbox svg{width:100%;max-width:220px;height:auto}
.qrbox .u{font-size:13px;color:var(--muted);word-break:break-all;margin-top:10px;font-weight:500}

.actions-row{display:flex;gap:9px;flex-wrap:wrap;margin-top:16px;align-items:center}
.seg{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:16px}
.seg label{display:flex;align-items:center;gap:8px;font-weight:600;font-size:14.5px;
  background:var(--surface);border-radius:9px;padding:12px 14px;cursor:pointer;margin:0}
.seg input{accent-color:var(--ink);width:17px;height:17px}

/* Mobil: Klappmenü statt langer Leiste */
@media (max-width:700px){
  .nav-wide{display:none}
  .menu{display:block}
  .bar{padding:calc(11px + env(safe-area-inset-top, 0px)) 16px 11px}
  .bar .logo{height:30px}
}

/* Ladenlogo auf der Scanseite */
.shoplogo{display:block;max-height:64px;max-width:200px;width:auto;margin:0 auto 26px}
.shopname-text{font-size:15px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--muted);margin:0 auto 22px}
.platte{display:inline-flex;align-items:center;justify-content:center;
  background:#fff;border-radius:8px;padding:6px 10px}
.platte img{display:block;max-height:34px;max-width:190px;width:auto}
.shopname{color:#fff;font-weight:700;font-size:17px;letter-spacing:-.012em}
input[type=file]{font:inherit;font-size:14px;max-width:100%}
input[type=file]::file-selector-button{
  font:inherit;font-size:13.5px;font-weight:600;margin-right:10px;
  padding:9px 12px;border:0;border-radius:8px;background:var(--surface-2);cursor:pointer}

/* Logo-Karte: Vorschau nie größer als die Karte */
.card img{max-width:100%;height:auto}
.card .row > *{min-width:0}
.logo-vorschau{background:#fff;border-radius:10px;padding:12px;margin-top:14px;
  display:flex;align-items:center;justify-content:center}
.logo-vorschau img{display:block;max-width:100%;max-height:100px;width:auto;height:auto}
input[type=file]{width:100%;max-width:100%}
.suchform{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.suchform input[type=search]{flex:1 1 220px;min-width:0;background:#fff;border:1px solid #e7e7e1;
  border-radius:10px;padding:12px 14px;font:inherit;font-size:15px;color:var(--ink)}
.suchform input[type=search]::placeholder{color:var(--dim)}

/* ---------- Startseite (randlos, dunkel) ---------- */
.land-main{background:#0b0b0b;color:#fff}
.land-main .eyebrow{display:inline-flex;align-items:center;gap:8px;font-size:12.5px;font-weight:700;
  letter-spacing:.16em;text-transform:uppercase;color:#c3c3bc}
.land-main .eyebrow::before{content:"";width:7px;height:7px;border-radius:50%;background:var(--accent);display:block}

.hero{padding:clamp(36px,6vw,76px) 22px clamp(30px,5vw,60px);text-align:left}
.hero h1,.hero p{text-align:left}
.hero-innen{max-width:1240px;margin:0 auto;display:grid;gap:clamp(28px,4vw,56px);align-items:center}
@media (min-width:980px){.hero-innen{grid-template-columns:1.02fr .98fr}}
.hero-text{max-width:560px;display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.hero h1{font-size:clamp(33px,4.6vw,64px);line-height:1.02;letter-spacing:-.042em;font-weight:700}
.hero h1 em{font-style:normal;color:var(--accent)}
.hero p{color:#b5b5ae;font-size:clamp(15.5px,1.35vw,18px);line-height:1.55}
.hero .btns{justify-content:flex-start;margin-top:6px}
.hero-bild img{display:block;width:100%;height:auto;border-radius:20px}
@media (max-width:979px){
  .hero{text-align:center}
  .hero h1,.hero p{text-align:center}
  .hero-text{max-width:none;align-items:center;margin:0 auto}
  .hero .btns{justify-content:center}
  .hero-bild{order:2}
}

.btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}
.btn-yellow,.btn-line{display:inline-block;padding:15px 26px;border-radius:11px;font-weight:700;
  font-size:15.5px;letter-spacing:-.01em;text-decoration:none;white-space:nowrap;transition:filter .15s,background .15s}
.btn-yellow{background:var(--accent);color:var(--ink)}
.btn-yellow:hover{filter:brightness(.93);text-decoration:none}
.btn-line{border:1px solid #3a3a36;color:#fff}
.btn-line:hover{background:#171717;text-decoration:none}

.section{padding:clamp(64px,9vw,110px) 22px}
.section .inner{max-width:1180px;margin:0 auto;display:grid;gap:44px;align-items:center}
@media (min-width:900px){.section .inner{grid-template-columns:1.05fr .95fr;gap:64px}}
.section h2{font-size:clamp(26px,3.6vw,44px);line-height:1.06;letter-spacing:-.035em;margin:14px 0 14px}
.section .lead{color:#a9a9a2;font-size:16.5px;line-height:1.55;max-width:48ch}

.sec-zwei{background:#0e0e0e;border-top:1px solid #1b1b1b}
.schritte-liste{display:grid;gap:18px;margin-top:30px}
.schritt-zeile{display:flex;gap:14px;align-items:flex-start}
.schritt-zeile .num{flex:0 0 auto;width:32px;height:32px;border-radius:50%;border:1px solid #2c2c2c;
  display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--accent)}
.schritt-zeile b{display:block;font-size:16.5px;letter-spacing:-.015em;margin-bottom:3px}
.schritt-zeile span{color:#9c9c95;font-size:14.5px;line-height:1.45}

.bildkarte{position:relative;border-radius:20px;overflow:hidden;aspect-ratio:9/11;
  background:url(/assets/muster-seite.webp) center/cover no-repeat;border:1px solid #1e1e1e}
.bildkarte .plakette{position:absolute;left:14px;right:14px;bottom:14px;background:rgba(10,10,10,.92);
  border:1px solid #262626;border-radius:13px;padding:14px 16px;display:flex;justify-content:space-between;
  gap:12px;font-size:13px;line-height:1.35;color:#b9b9b2}
.bildkarte .plakette b{color:#fff}

.preis{background:#0b0b0b;border-top:1px solid #1b1b1b}
.preis .inner{max-width:1180px;margin:0 auto;display:grid;gap:28px;align-items:center}
@media (min-width:820px){.preis .inner{grid-template-columns:1fr auto;gap:60px}}
.preis p{color:#a9a9a2;font-size:16px;line-height:1.55;max-width:50ch}
.preis-rechts{display:flex;flex-direction:column;align-items:flex-start;gap:18px}
.preis-zahl{font-size:clamp(44px,6vw,68px);font-weight:700;letter-spacing:-.045em;line-height:.95}
.preis-zahl small{display:block;font-size:13.5px;font-weight:600;letter-spacing:0;
  color:#8d8d86;margin-top:10px}

.ig-leiste{background:#0e0e0e;border-top:1px solid #1b1b1b;padding:38px 22px}
.ig-leiste .inner{max-width:1180px;margin:0 auto;display:flex;flex-wrap:wrap;gap:16px;
  justify-content:space-between;align-items:center}
.ig-leiste a{color:#fff;font-weight:700;font-size:17px;text-decoration:underline;text-underline-offset:3px}
.land-main .foot{background:#0b0b0b;color:#9a9a93;padding:26px 0 34px}

@media (max-width:899px){
  .bildkarte{aspect-ratio:auto;height:min(62vw,430px)}
}
@media (max-width:700px){
  .hero{min-height:auto}
  .bildkarte{height:min(78vw,360px)}
  .preis-rechts{width:100%}
  .preis-rechts .btn-yellow{width:100%;text-align:center}
}

/* ---------- Kopf der Startseite (zwei Zeilen) ---------- */
.kopf{background:#0b0b0b;color:#fff;position:relative;z-index:5}
.kopf-innen{max-width:1240px;margin:0 auto;padding:0 22px;display:flex;align-items:center;gap:20px}

.kopf-oben{background:#141414;border-bottom:1px solid #1c1c1c}
.kopf-oben .kopf-innen{height:44px;justify-content:space-between}
.kopf-ort{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:#9a9a93;
  min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.kopf-ort svg{width:15px;height:15px;fill:none;stroke:var(--accent);stroke-width:1.7}
.kopf-rechts{display:flex;align-items:center;gap:18px}
.kopf-login{color:#d6d6d0;font-size:13.5px;font-weight:600;text-decoration:none}
.kopf-login:hover{color:var(--accent);text-decoration:none}
.kopf-ig{display:inline-flex;color:#d6d6d0}
.kopf-ig svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.7}
.kopf-ig:hover{color:var(--accent)}

.kopf-haupt{padding:16px 0}
.kopf-haupt .kopf-innen{justify-content:space-between;gap:28px}
.kopf-logo{display:inline-flex;align-items:center;text-decoration:none}
.kopf-logo img{display:block;height:64px;width:auto;filter:brightness(1.18) contrast(1.04)}
.wortmarke{font-size:21px;font-weight:700;letter-spacing:-.03em;color:#fff;text-decoration:none;white-space:nowrap}
.kopf-info{display:flex;align-items:center;gap:38px;margin-left:auto}
.kopf-info a{display:flex;align-items:center;gap:10px;color:#fff;text-decoration:none}
.kopf-info svg{width:24px;height:24px;fill:none;stroke:var(--accent);stroke-width:1.7;flex:0 0 auto}
.kopf-info span{font-size:13.5px;color:#9a9a93;line-height:1.35}
.kopf-info b{display:block;font-size:14px;font-weight:700;color:#fff;letter-spacing:-.01em}
.kopf-info a:hover span{color:var(--accent)}
.kopf-cta{display:inline-block;background:var(--accent);color:var(--ink);font-weight:700;font-size:15px;
  padding:14px 24px;border-radius:10px;text-decoration:none;white-space:nowrap;transition:filter .15s}
.kopf-cta:hover{filter:brightness(.94);text-decoration:none}

@media (max-width:980px){
  .kopf-info{display:none}
  .kopf-haupt .kopf-innen{gap:16px}
}
@media (max-width:560px){
  .kopf-oben .kopf-innen{height:auto;padding:8px 16px 10px;gap:10px}
  .kopf-login{font-size:13.5px}
  .wortmarke{font-size:19px}
  .kopf-logo img{height:38px}
  .kopf-ort{font-size:13px}
  .kopf-haupt{padding:12px 0}
  .kopf-haupt .kopf-innen{padding:0 16px}
  .wortmarke{font-size:18px}
  .kopf-cta{font-size:14.5px;padding:11px 16px;border-radius:9px}
}

/* ---------- Startseite: Abschnitte ---------- */
.drei-vorteile{display:flex;flex-wrap:wrap;gap:26px;margin-top:34px;text-align:left}
.drei-vorteile > div{display:flex;flex-direction:column;gap:9px;max-width:150px}
.drei-vorteile svg{width:38px;height:38px;fill:none;stroke:var(--accent);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.drei-vorteile b{font-size:14.5px;font-weight:600;color:#e8e8e2;line-height:1.3}

.band{padding:clamp(54px,7.5vw,96px) 22px}
.band-innen{max-width:1180px;margin:0 auto}
.band h2{font-size:clamp(30px,4.2vw,50px);line-height:1.04;letter-spacing:-.04em;margin:14px 0 10px}
.band .lead{font-size:17.5px;line-height:1.55;max-width:52ch;margin-top:10px}

.band-hell{background:#f4f4f1;color:#0b0b0b}
.band-hell .lead{color:#5d5d57}
.eyebrow.dunkel{color:#6e6e68}

.band-dunkel{background:#0e0e0e;color:#fff;border-top:1px solid #1b1b1b;border-bottom:1px solid #1b1b1b}
.band-dunkel .lead{color:#a9a9a2}

.drei-spalten{display:grid;gap:34px;margin-top:38px}
@media (min-width:900px){.drei-spalten{grid-template-columns:repeat(3,1fr);gap:30px}}
.spalte{display:flex;flex-direction:column}
.spalte-kopf{display:flex;align-items:center;gap:12px;margin-bottom:8px}
.spalte .zahl{flex:0 0 auto;width:30px;height:30px;border-radius:50%;background:var(--accent);
  color:var(--ink);font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center}
.spalte h3{font-size:18px;letter-spacing:-.02em}
.spalte p{color:#5d5d57;font-size:14.5px;line-height:1.45;max-width:34ch;margin-bottom:18px}

.mini{margin-top:auto;background:#fff;border:1px solid #e6e6e0;border-radius:14px;padding:16px;
  box-shadow:0 12px 26px rgba(11,11,11,.06)}
.mini-bild{padding:0;overflow:hidden;background:#0e0e0e;border-color:#1e1e1e}
.mini-bild img{display:block;width:100%;height:auto}

.breit-bild{margin:34px 0 30px;border-radius:18px;overflow:hidden}
.breit-bild img{display:block;width:100%;height:auto;max-height:560px;object-fit:cover;object-position:center}

.vier-karten{display:grid;gap:18px}
@media (min-width:700px){.vier-karten{grid-template-columns:repeat(4,1fr)}}
.vier-karten img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;
  border-radius:12px;margin-bottom:12px;background:#111}
.vier-karten h3{font-size:16px;letter-spacing:-.015em;margin-bottom:5px}
.vier-karten p{color:#a9a9a2;font-size:14px;line-height:1.4}

.zwei-spalten{display:grid;gap:40px;align-items:center}
@media (min-width:900px){.zwei-spalten{grid-template-columns:1.02fr .98fr;gap:56px}}
.drei-karten{display:grid;gap:12px;margin-top:28px}
@media (min-width:560px){.drei-karten{grid-template-columns:repeat(3,1fr)}}
.drei-karten > div{background:#fff;border:1px solid #e6e6e0;border-radius:13px;padding:16px}
.drei-karten svg{width:32px;height:32px;fill:none;stroke:var(--ink);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
.drei-karten b{display:block;font-size:15.5px;margin-bottom:3px}
.drei-karten span{font-size:13.5px;color:#6e6e68}
.seiten-bild img{display:block;width:100%;height:auto;border-radius:18px}

@media (max-width:979px){
  .band h2{font-size:clamp(28px,7.4vw,40px)}
  .drei-vorteile{justify-content:flex-start;gap:20px}
  .drei-vorteile > div{align-items:flex-start;text-align:left;max-width:140px}
}

/* ---------- Einheitlicher Rahmen ---------- */
body.auth{background:#0b0b0b;color:#fff}
body.auth .stage{min-height:calc(100dvh - 66px);padding-top:26px}
body.auth .pub-card{background:#fff;color:var(--ink);border:1px solid #232323;
  box-shadow:0 30px 70px rgba(0,0,0,.55)}
body.auth .pub-card .tag{background:var(--accent);color:var(--ink)}
body.auth .stage .mark{filter:none}

body.app{background:#f4f4f1}
.app .wrap{padding-top:34px}
.app h1{font-size:clamp(26px,3.4vw,34px);letter-spacing:-.035em}
.app .sub{color:#5d5d57}
.card{background:#fff;border:1px solid #e7e7e1;box-shadow:0 1px 2px rgba(11,11,11,.03)}
.card .m{color:#6e6e68}
.stat-row{background:#e7e7e1}
.stat{background:#fff}
table{background:#fff;border:1px solid #e7e7e1}
th{color:#6e6e68}
td,th{border-color:#efefe9}
.empty{background:#fff;border:1px dashed #d9d9d2;color:#6e6e68;padding:18px 20px;border-radius:12px}
.note{background:#fff;border:1px solid #e7e7e1;color:var(--ink)}
.btn.ghost{background:#e9e9e4}
.qrbox{background:#fff;border:1px solid #e7e7e1}
body.oeffentlich{background:#f4f4f1}
body.oeffentlich .pub-card{background:#fff;border:1px solid #e7e7e1;box-shadow:0 2px 10px rgba(11,11,11,.04)}
body.auth .bar .logo{height:56px}

/* Eingabefelder auf der hellen Seite klar abgrenzen */
.app input[type=text],.app input[type=email],.app input[type=password],
.app input[type=url],.app input[type=search],.app textarea,.app select{
  background:#fff;border:1px solid #e7e7e1;border-radius:10px;color:var(--ink)}
.app input:focus,.app textarea:focus,.app select:focus{border-color:var(--ink)}

/* Zielgruppen */
.publikum{border-top:1px solid #e7e7e1}
.sechs-karten{display:grid;gap:14px;margin-top:32px}
@media (min-width:640px){.sechs-karten{grid-template-columns:repeat(2,1fr)}}
@media (min-width:980px){.sechs-karten{grid-template-columns:repeat(3,1fr)}}
.sechs-karten > div{background:#fff;border:1px solid #e7e7e1;border-radius:14px;padding:18px}
.sechs-karten svg{width:36px;height:36px;fill:none;stroke:var(--ink);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;margin-bottom:10px}
.sechs-karten h3{font-size:17.5px;letter-spacing:-.015em;margin-bottom:4px}
.sechs-karten p{font-size:14.5px;color:#6e6e68;line-height:1.45}

/* Pakete */
.pakete{display:grid;gap:16px;margin:36px 0 26px}
@media (min-width:860px){.pakete{grid-template-columns:repeat(3,1fr)}}
.paket{position:relative;background:#121212;border:1px solid #242424;border-radius:16px;
  padding:24px 22px;display:flex;flex-direction:column}
.paket-mitte{border-color:var(--accent);background:#151515}
.paket-tag{position:absolute;top:-11px;left:22px;background:var(--accent);color:var(--ink);
  font-size:12.5px;font-weight:700;letter-spacing:.02em;padding:4px 10px;border-radius:99px}
.paket h3{font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:#c9c9c2}
.betrag{font-size:40px;font-weight:700;letter-spacing:-.04em;margin:12px 0 2px;line-height:1}
.betrag span{font-size:13.5px;font-weight:500;letter-spacing:0;color:#5f5f58;margin-left:7px}
.paket-zeile{color:#e8e8e2;font-size:15px;font-weight:600;margin:8px 0 16px}
.paket ul{list-style:none;display:grid;gap:9px;margin:0 0 24px;padding:0}
.paket li{color:#a9a9a2;font-size:14.5px;line-height:1.35;padding-left:17px;position:relative}
.paket li::before{content:"";position:absolute;left:0;top:6px;width:7px;height:7px;
  border-radius:50%;background:var(--accent)}
.paket .btn-line,.paket .btn-yellow{margin-top:auto;text-align:center}
.preis-fuss{display:flex;flex-wrap:wrap;gap:8px 28px;border-top:1px solid #1f1f1f;
  padding-top:20px;color:#9a9a93;font-size:14px}

/* Kopfreihe mit Bild */
.kopf-reihe{display:grid;gap:28px;align-items:center;margin-bottom:14px}
@media (min-width:900px){.kopf-reihe{grid-template-columns:1fr 1fr;gap:48px}}
.kopf-bild img{display:block;width:100%;height:auto;border-radius:18px}

/* Drei Schritte als Reihe */
.schritte-reihe{display:grid;gap:28px;margin-top:36px}
@media (min-width:820px){.schritte-reihe{grid-template-columns:repeat(3,1fr);gap:34px}}
.schritt-nummer{display:flex;align-items:center;gap:12px;margin-bottom:14px}
.schritt-nummer span{width:34px;height:34px;border-radius:50%;background:var(--accent);color:var(--ink);
  font-weight:700;font-size:14px;display:flex;align-items:center;justify-content:center;flex:0 0 auto}
.schritt-nummer svg{width:38px;height:38px;fill:none;stroke:var(--ink);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.schritt-block h3{font-size:18.5px;letter-spacing:-.015em;margin-bottom:6px}
.schritt-block p{color:#5d5d57;font-size:15.5px;line-height:1.5;max-width:34ch}

/* Zielgruppen dunkel */
.sechs-karten.dunkel > div{background:#141414;border-color:#242424}
.sechs-karten.dunkel svg{stroke:var(--accent)}
.sechs-karten.dunkel h3{color:#fff}
.sechs-karten.dunkel p{color:#a9a9a2}

/* Wunschwand */
.wand-punkte{display:flex;flex-wrap:wrap;gap:16px 22px;margin-top:26px;color:#c9c9c2;font-size:14.5px}
.wand-punkte span{display:inline-flex;align-items:center;gap:8px}
.wand-punkte svg{width:25px;height:25px;fill:none;stroke:var(--accent);stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round}
.wand-bild{position:relative;display:grid;grid-template-columns:1fr;gap:12px;padding:0}
.wand-balken{display:flex;align-items:flex-end;gap:5px;height:50px;margin:10px 0 6px}
.wand-balken span{flex:1;background:#2c2c2c;border-radius:3px}
.wand-balken span:last-child{background:var(--accent)}

/* Pakete auf hellem Grund */
.band-hell .paket{background:#fff;border-color:#e7e7e1;box-shadow:0 10px 24px rgba(11,11,11,.05)}
.band-hell .paket-mitte{border-color:var(--accent);box-shadow:0 14px 30px rgba(11,11,11,.08)}
.band-hell .paket h3{color:#6e6e68}
.band-hell .betrag{color:var(--ink)}
.band-hell .betrag span{color:#5f5f58}
.band-hell .paket-zeile{color:var(--ink)}
.band-hell .paket li{color:#5d5d57}
.band-hell .btn-line{border-color:#d7d7d0;color:var(--ink)}
.band-hell .btn-line:hover{background:#f1f1ec}
.preis-hinweis{margin-top:22px;color:#6e6e68;font-size:14px}

@media (max-width:760px){
  .wand-bild{padding:0;display:flex;flex-direction:column;gap:12px}
}
@media (min-width:761px){
  .wand-bild{grid-template-columns:1fr 200px;align-items:start;gap:14px}
}
body.landbody{background:#0b0b0b}
body.landbody .foot{background:#0b0b0b;color:#9a9a93;padding:18px 0 30px}
/* Echte Bilder */
.wand-bild.echt{display:block;padding:0}
.wand-bild.echt img{display:block;width:100%;height:auto;border-radius:18px}
.cta-innen{display:grid;gap:36px;align-items:center}
@media (min-width:900px){.cta-innen{grid-template-columns:1.02fr .98fr;gap:52px}}
.cta-band em{font-style:normal;color:var(--accent)}
.cta-punkte{display:grid;gap:16px;margin-top:28px}
.cta-punkte span{display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;
  column-gap:14px;align-items:center}
.cta-punkte svg{grid-row:1 / span 2;width:38px;height:38px;fill:none;stroke:var(--accent);
  stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.cta-punkte b{font-size:17px;font-weight:700;color:#fff;line-height:1.2}
.cta-punkte small{font-size:14.5px;color:#a9a9a2}
.cta-zeile{display:flex;flex-wrap:wrap;gap:12px 26px;margin-top:26px;color:#9a9a93;font-size:14px}
.cta-zeile span{position:relative;padding-left:16px}
.cta-zeile span::before{content:"";position:absolute;left:0;top:6px;width:8px;height:8px;
  border-radius:50%;border:1.5px solid var(--accent)}
.cta-bild img{display:block;width:100%;height:auto;border-radius:18px}
@media (max-width:600px){
  .drei-vorteile{display:grid;grid-template-columns:1fr 1fr;gap:22px 20px;text-align:left}
  .drei-vorteile > div{max-width:none;align-items:flex-start}
  .drei-vorteile svg{width:32px;height:32px}
}
/* Kopfzeile mobil: Standortzeile ausblenden statt abschneiden */
@media (max-width:640px){
  .kopf-ort{display:none}
  .kopf-oben .kopf-innen{justify-content:flex-end}
}
/* Formularfelder sauber untereinander */
.neu-codes{padding-top:18px;border-top:1px solid #e7e7e1;margin-top:20px}
.neu-codes input{max-width:90px}
/* ---------- Impressum und Datenschutz ---------- */
.recht{max-width:72ch;padding:44px 0 72px}
.recht h1{margin-bottom:6px}
.recht h2{font-size:19px;letter-spacing:-.02em;margin:30px 0 8px}
.recht p{color:#33332e;line-height:1.68;margin:0 0 12px;font-size:16px}
.recht .stand{color:#8a8a82;font-size:14px;margin-bottom:24px}
.foot a{color:inherit;text-decoration:underline;text-underline-offset:2px}
/* ---------- Häufige Fragen ---------- */
.fragen{display:grid;gap:22px 40px;margin-top:34px}
@media (min-width:760px){.fragen{grid-template-columns:1fr 1fr}}
.fragen h3{font-size:17.5px;letter-spacing:-.015em;margin-bottom:6px;color:var(--ink)}
.fragen p{color:#5d5d57;font-size:15px;line-height:1.6;margin:0}
.band-hell .eyebrow{color:#6e6e68}
.paket-name{font-size:13.5px;letter-spacing:.14em;text-transform:uppercase;color:#c9c9c2;font-weight:600}
