/* ═══ Ablauf-Seite (ki-fotobox-ablauf.html) ══════════════════════════════
   Breiter als die Lese-Seiten, damit die Handys nebeneinander passen.
   Texte bleiben in Lesebreite. Farben und Schriften aus /brand.css. */

body.ablauf-page { max-width: 1180px; }
.ablauf-page .ablauf-hero,
.ablauf-page .flow__intro,
.ablauf-page .flow-note,
.ablauf-page > h2,
.ablauf-page > p,
.ablauf-page .cta-box,
.ablauf-page .related { max-width: 780px; }

/* Sprungmarken zu den drei Abläufen */
.ablauf-jump { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 8px; }
.ablauf-jump a {
  display: inline-flex; align-items: center; gap: 10px;
  padding: 9px 16px 9px 9px; border-radius: 999px;
  border: 1px solid var(--line-2); background: var(--ink-1);
  color: var(--paper); text-decoration: none; font-weight: 700; font-size: 15px;
  transition: border-color 0.2s ease, background 0.2s ease;
}
.ablauf-jump a:hover { border-color: var(--flash); background: var(--ink-2); }
.ablauf-jump b {
  display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 50%;
  background: var(--flash); color: var(--flash-ink); font-size: 13px; font-weight: 800;
}

/* Ein Ablauf: Kopf, dann die Schritte als Handys */
.flow { margin-top: 76px; scroll-margin-top: 20px; }
.flow h2 { margin-top: 12px; }
.flow__intro { color: var(--paper-2); margin: 0; }
.flow-steps {
  list-style: none; padding: 0; margin: 30px 0 0;
  display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 44px 28px;
}
.flow-step { margin: 0; container-type: inline-size; scroll-margin-top: 20px; }
.flow-step::marker { content: none; }

/* Handy-Rahmen: Gehäuse, Statusleiste mit Dynamic Island, Screenshot */
.phone {
  display: block; width: 100%; padding: 2.6cqw; margin: 0;
  border: 0; border-radius: 14cqw; cursor: zoom-in; font: inherit;
  background: linear-gradient(160deg, #45403b 0%, #1a1715 38%, #0b0a09 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.14),
    0 0 0 1px rgba(0, 0, 0, 0.7),
    0 34px 60px -26px rgba(0, 0, 0, 0.9),
    0 0 90px -40px rgba(255, 91, 53, 0.45);
  transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.phone:hover { transform: translateY(-4px); }
.phone:focus-visible { outline: 2px solid var(--flash); outline-offset: 4px; }
.phone__bar {
  display: flex; align-items: center; justify-content: space-between;
  height: 11cqw; padding: 0 7.5cqw 0 9cqw;
  background: #0c0a09; color: #f5efe6;
  border-radius: 11.6cqw 11.6cqw 0 0;
  font-size: 3.7cqw; font-weight: 700; letter-spacing: 0.01em; line-height: 1;
}
.phone__island { width: 27cqw; height: 7.4cqw; border-radius: 999px; background: #000; box-shadow: inset 0 0 0 1px #1d1b1a; }
.phone__icons { display: flex; align-items: flex-end; gap: 0.8cqw; height: 3.2cqw; }
.phone__icons i { display: block; width: 0.9cqw; background: #f5efe6; border-radius: 0.3cqw; }
.phone__icons i:nth-child(1) { height: 40%; }
.phone__icons i:nth-child(2) { height: 70%; }
.phone__icons i:nth-child(3) { height: 100%; }
.phone__icons::after {
  content: ""; width: 5.6cqw; height: 2.8cqw; margin-left: 1.4cqw; align-self: center;
  border: 0.4cqw solid #f5efe6; border-radius: 0.9cqw;
  background: linear-gradient(90deg, #f5efe6 70%, transparent 70%) content-box;
  padding: 0.3cqw;
}
.phone img {
  display: block; width: 100%; height: auto;
  border-radius: 0 0 11.6cqw 11.6cqw;
  background: #0c0a09;
}

/* Text unter dem Handy */
.flow-step__text { display: grid; gap: 4px; margin-top: 18px; }
.flow-step__num { font-size: 12px; font-weight: 800; letter-spacing: 0.14em; color: var(--flash); }
.flow-step__text strong { color: var(--paper); font-size: 17px; line-height: 1.3; }
.flow-step__text span:last-child { color: var(--muted); font-size: 14.5px; line-height: 1.55; }

.flow-note { margin: 44px 0 0; font-size: 13.5px; color: var(--muted); }

@media (max-width: 1040px) {
  .flow-steps { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
/* Handy: Schritte nebeneinander zum Wischen */
@media (max-width: 760px) {
  .flow { margin-top: 60px; }
  .flow-steps {
    display: flex; gap: 18px; overflow-x: auto; overscroll-behavior-x: contain;
    scroll-snap-type: x mandatory; scrollbar-width: none;
    margin: 24px -22px 0; padding: 6px 22px 20px;
  }
  .flow-steps::-webkit-scrollbar { display: none; }
  .flow-step { flex: 0 0 68%; scroll-snap-align: center; }
  .phone:hover { transform: none; }
}

/* Vergrößerte Ansicht */
.shot-zoom {
  border: 0; padding: 0; background: transparent; color: var(--paper);
  width: min(92vw, 420px); max-height: 96vh; overflow: visible;
}
.shot-zoom::backdrop { background: rgba(8, 6, 5, 0.88); -webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px); }
.shot-zoom img {
  display: block; width: 100%; height: auto; max-height: 84vh; object-fit: contain;
  border-radius: 24px; box-shadow: 0 30px 80px rgba(0, 0, 0, 0.6);
}
.shot-zoom__caption { margin: 12px 0 0; text-align: center; font-weight: 700; color: var(--paper); }
.shot-zoom__close {
  position: absolute; top: -14px; right: -14px; z-index: 1;
  width: 42px; height: 42px; border-radius: 50%;
  border: 1px solid var(--line-2); background: var(--ink-2); color: var(--paper);
  font-size: 24px; line-height: 1; cursor: pointer;
}
@media (prefers-reduced-motion: reduce) {
  .phone, .ablauf-jump a { transition: none; }
}
