/* ---------------------------------------------------------------------------
   ServyBill (/areas/servybill) – Seite der Rechnungs-App fürs iPhone.
   Farben aus dem Bereich (--c, --c-tint, --c-ink = --cat-servybill*), sonst
   nur Tokens. Telefonrahmen um die Screenshots aus dem Simulator.
   --------------------------------------------------------------------------- */

.sb-kopf { padding-bottom: var(--space-8); background: linear-gradient(180deg, var(--c-tint), var(--surface-page) 85%); }
.sb-held { display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: var(--space-12); align-items: center; }
.sb-held h1 { margin-top: var(--space-4); }
.sb-held .lead { margin-top: var(--space-4); max-width: 560px; }
.sb-marke { display: flex; align-items: center; gap: var(--space-4); margin-top: var(--space-6); }
.sb-icon { width: 72px; height: 72px; }
.sb-name { margin: 2px 0 0; font-size: 26px; font-weight: 800; letter-spacing: -.02em; color: var(--ink); }
.sb-teil { color: var(--brand-hub); }
.sb-knoepfe { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3); margin-top: var(--space-6); }
/* Kein Link: die App ist noch nicht im App Store */
.sb-bald { display: inline-flex; align-items: center; gap: var(--space-2); height: 50px; padding: 0 var(--space-6) 0 var(--space-4);
  border-radius: var(--radius-pill); background: var(--ink); color: var(--surface-card); }
.sb-bald .i { width: 24px; height: 24px; }
.sb-bald span { display: grid; font-size: 16px; font-weight: 800; line-height: 18px; }
.sb-bald small { font-size: 11px; font-weight: 600; opacity: .8; }
.sb-punkte { display: flex; flex-wrap: wrap; gap: var(--space-2) var(--space-6); margin: var(--space-6) 0 0; padding: 0; list-style: none; color: var(--ink-muted); font-size: 14px; }
.sb-punkte li { display: inline-flex; align-items: center; gap: 6px; }
.sb-punkte .i { width: 16px; height: 16px; color: var(--c-ink); }

/* Telefone */
.sb-telefon { margin: 0; padding: 8px; border-radius: 44px; background: var(--ink); box-shadow: var(--shadow-pop); }
.sb-telefon img { display: block; width: 100%; height: auto; border-radius: 36px; }
.sb-telefone { position: relative; display: grid; grid-template-columns: 1fr 1fr; align-items: end; max-width: 520px; justify-self: center; }
.sb-telefone .sb-telefon { width: 100%; }
.sb-telefone .hinten { transform: translateY(-28px) rotate(-4deg); }
.sb-telefone .vorne { margin-left: -18%; transform: rotate(3deg); z-index: 1; }

/* Funktionen */
.sb-raster .ikon { background: var(--c-tint); color: var(--c-ink); }
.sb-raster h3 { font-size: 18px; line-height: 24px; font-weight: 800; }

/* Bild und Text im Wechsel */
.sb-zeile { display: grid; grid-template-columns: minmax(0, 340px) minmax(0, 1fr); gap: var(--space-12); align-items: center; }
.sb-zeile.umgekehrt { grid-template-columns: minmax(0, 1fr) minmax(0, 340px); }
.sb-zeile.umgekehrt > figure { order: 2; }
.sb-zeile .sb-telefon { max-width: 300px; justify-self: center; }
.sb-zeile h2 { margin-top: var(--space-2); font-size: 32px; line-height: 38px; font-weight: 800; letter-spacing: -.01em; }
.sb-zeile .lead { margin-top: var(--space-4); }
.sb-liste { display: grid; gap: var(--space-3); margin: var(--space-6) 0 0; padding: 0; list-style: none; }
.sb-liste li { display: flex; gap: var(--space-3); align-items: flex-start; }
.sb-liste .i { flex: none; width: 22px; height: 22px; padding: 3px; border-radius: 50%; background: var(--c-tint); color: var(--c-ink); }
.sb-liste strong { color: var(--ink); }
.sb-liste span { color: var(--ink-muted); }

/* Verlauf einer Rechnung: geprüft → verschickt → angesehen → bezahlt */
.sb-verlauf { display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-2); margin: var(--space-6) 0 var(--space-4); padding: 0; list-style: none; counter-reset: schritt; }
.sb-verlauf li { display: inline-flex; align-items: center; gap: var(--space-2); }
.sb-verlauf li + li::before { content: ""; width: 24px; height: 2px; border-radius: 2px; background: var(--border); }
.sb-verlauf span { padding: 6px 14px; border-radius: var(--radius-pill); background: var(--surface-card); border: 1px solid var(--border); font-size: 14px; font-weight: 700; }
.sb-verlauf .fertig span { border-color: transparent; background: var(--c); color: var(--on-primary); }

/* Konto und Hinweis */
.sb-konto .ikon { background: var(--c-tint); color: var(--c-ink); }
.sb-hinweis .ikon { background: var(--surface-raised); color: var(--ink); }

/* Schluss */
.sb-schluss { display: flex; align-items: center; gap: var(--space-6); padding: var(--space-8); border-radius: var(--radius-xl);
  background: linear-gradient(135deg, var(--c-tint), var(--surface-card)); border: 1px solid var(--border); }
.sb-schluss img { width: 64px; height: 64px; flex: none; }
.sb-schluss div { flex: 1; min-width: 0; }
.sb-schluss h2 { font-size: 22px; line-height: 28px; font-weight: 800; }
.sb-schluss p { margin-top: 4px; color: var(--ink-muted); }

@media (max-width: 900px) {
  .sb-held { grid-template-columns: 1fr; gap: var(--space-8); }
  .sb-telefone { max-width: 380px; }
  .sb-zeile, .sb-zeile.umgekehrt { grid-template-columns: 1fr; gap: var(--space-8); }
  .sb-zeile.umgekehrt > figure { order: 0; }
  .sb-zeile .sb-telefon { max-width: 260px; }
  .sb-zeile h2 { font-size: 26px; line-height: 32px; }
}
@media (max-width: 560px) {
  .sb-schluss { flex-direction: column; align-items: flex-start; padding: var(--space-6); }
  .sb-telefone .hinten { transform: translateY(-16px) rotate(-4deg); }
}
/* Dunkel: Rahmen nicht hell (--ink ist dort hell) */
[data-theme="dark"] .sb-telefon { background: var(--surface-raised); box-shadow: 0 0 0 1px var(--border), var(--shadow-card); }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .sb-telefon { background: var(--surface-raised); box-shadow: 0 0 0 1px var(--border), var(--shadow-card); }
}

/* Preise: 10 gratis, dann Rechnungen je Menge (Aleksej 2026-10-26) */
.sb-preise { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: var(--space-3); }
.sb-preis { position: relative; display: grid; gap: 2px; padding: var(--space-6) var(--space-4) var(--space-4); text-align: center; }
.sb-preis.gratis { background: var(--c-tint); border-color: transparent; }
.sb-preis.stark { border: 2px solid var(--c); }
.sb-menge { margin: 0; font-weight: 700; color: var(--ink); }
.sb-betrag { margin: 4px 0 0; font-size: 28px; line-height: 34px; font-weight: 800; color: var(--ink); }
.sb-je { margin: 0; font-size: 13px; color: var(--ink-muted); }
.sb-rabatt { position: absolute; top: -10px; left: 50%; transform: translateX(-50%); padding: 2px 10px; border-radius: var(--radius-pill);
  background: var(--c); color: var(--on-primary); font-size: 12px; font-weight: 800; white-space: nowrap; }
.sb-preisliste { margin-top: var(--space-8); }
.sb-kleingedruckt { margin-top: var(--space-4); font-size: 13px; }
@media (max-width: 1080px) { .sb-preise { grid-template-columns: repeat(3, minmax(0, 1fr)); row-gap: var(--space-6); } }
@media (max-width: 560px) { .sb-preise { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
/* Unbegrenzt: 12 Monate je Firma, verlängert sich nicht automatisch */
.sb-unbegrenzt { display: flex; align-items: center; gap: var(--space-6); margin-top: var(--space-4); padding: var(--space-6);
  background: linear-gradient(135deg, var(--c-tint), var(--surface-card) 70%); border: 2px solid var(--c); }
.sb-unbegrenzt-text { flex: 1; min-width: 0; }
.sb-unbegrenzt h3 { margin-top: 4px; font-size: 22px; line-height: 28px; font-weight: 800; }
.sb-unbegrenzt-text > p:last-child { margin-top: var(--space-2); color: var(--ink-muted); }
.sb-unbegrenzt-preis { flex: none; text-align: right; }
@media (max-width: 560px) {
  .sb-unbegrenzt { flex-direction: column; align-items: flex-start; }
  .sb-unbegrenzt-preis { text-align: left; }
}
