/* ==========================================================================
   GHOSTFLOW · DEMO-SHOWCASE
   Der echte Dashboard-Screenshot in einem CSS-Bildschirmrahmen, vollständig
   sichtbar, direkt in den Seitenfluss eingebettet — ohne eigene Sektion,
   ohne Abgrenzungsbänder. Der Seitengrund und die Funken laufen durch.

   Bewusst ohne generiertes Bild: der Screenshot bleibt pixelgenau scharf und
   ist durch Austausch einer Datei aktualisierbar. Rahmen, Raum und Funkeln
   sind reines CSS — nichts kann verrutschen.

   Alles unter .gf-showcase gekapselt.
   ========================================================================== */

.gf-showcase {
  position: relative;
  width: 100%;
  /* Nur Luft nach oben und unten — kein eigener Hintergrund, keine Linien:
     der Seitenverlauf und die Funken aus site-sparkle.css laufen durch. */
  padding: clamp(40px, 7vw, 100px) clamp(16px, 4vw, 64px);
}

/* --- Der Bildschirm ----------------------------------------------------- */

.gf-showcase__device {
  position: relative;
  z-index: 1;
  max-width: min(1400px, 94%);
  margin: 0 auto;
  padding: clamp(9px, 1.1vw, 16px);            /* der Rahmen selbst */
  border-radius: clamp(14px, 1.6vw, 24px);
  background: linear-gradient(150deg, #121127, #16152318 38%, #14131f 74%, #0f0e1d);
  box-shadow:
    0 0 0 1px rgba(196, 181, 253, .22),
    0 46px 110px -34px rgba(9, 9, 15, .95),
    0 0 90px -10px rgba(124, 92, 214, .38),
    inset 0 1px 0 rgba(240, 230, 255, .18);
}

/* Feine Lichtkante oben auf dem Rahmen */
.gf-showcase__device::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(160deg, rgba(240, 230, 255, .14), transparent 26%);
}

.gf-showcase__device img {
  display: block;
  width: 100%;
  height: auto;                                 /* nichts wird beschnitten */
  border-radius: clamp(7px, .9vw, 13px);
  background: #191828;
}

/* Reflexion auf dem Glas */
.gf-showcase__device::after {
  content: '';
  position: absolute;
  inset: clamp(9px, 1.1vw, 16px);
  border-radius: clamp(7px, .9vw, 13px);
  pointer-events: none;
  background: linear-gradient(122deg, rgba(240, 230, 255, .10) 0%, transparent 32%);
}

/* Standfuß — nur angedeutet, macht aus dem Rahmen einen Monitor */
.gf-showcase__stand {
  position: relative;
  z-index: 1;
  width: clamp(90px, 12vw, 170px);
  height: clamp(10px, 1.4vw, 18px);
  margin: 0 auto;
  border-radius: 0 0 10px 10px;
  background: linear-gradient(180deg, #0f0e1d, #17162400);
}
.gf-showcase__stand::after {
  content: '';
  display: block;
  width: clamp(150px, 20vw, 280px);
  height: 6px;
  margin: 0 auto;
  border-radius: 999px;
  background: linear-gradient(90deg, transparent, rgba(196, 181, 253, .22), transparent);
}

/* Bildunterschrift */
.gf-showcase__caption {
  position: relative;
  margin: clamp(16px, 2vw, 24px) auto 0;
  max-width: min(1400px, 94%);
  display: flex;
  flex-wrap: wrap;
  gap: 8px 18px;
  justify-content: center;
  align-items: baseline;
  font-family: 'DM Mono', ui-monospace, monospace;
  font-size: 11.5px;
  letter-spacing: .18em;
  text-transform: uppercase;
  color: rgba(244, 241, 255, .34);
}
.gf-showcase__caption b { color: #c4b5fd; font-weight: 400; }

