/* =============================================================================
   Check-in-Sheet im Ticket-Stil (Owner 27.07.2026).
   Greift NUR bei .sheet.cs-v3 — Mechanik, Zustaende und JS aus cinematic-v2.js
   bleiben unberuehrt, hier steht ausschliesslich Optik.
   Schriften aus tokens.css (Cinzel/Jost, selbst gehostet) statt Anton.
   ========================================================================== */
.sheet.cs-v3{
  --cs-bone:#f4f1ea;
  --cs-gold:var(--color-gold,#cbb494);
  --cs-hair:rgba(244,241,234,.14);
  --cs-gold-hair:rgba(203,180,148,.30);
  --cs-t2:rgba(244,241,234,.62);
  --cs-t3:rgba(244,241,234,.40);
  width:min(460px,100%);
  border-radius:26px 26px 0 0;
  border:1px solid var(--cs-gold-hair);border-bottom:0;
  background:
    radial-gradient(120% 60% at 50% 0%,rgba(203,180,148,.10),transparent 60%),
    rgba(16,21,18,.72);
  -webkit-backdrop-filter:blur(26px) saturate(150%);backdrop-filter:blur(26px) saturate(150%);
  box-shadow:0 -18px 60px rgba(0,0,0,.55);
  padding:14px 22px calc(26px + env(safe-area-inset-bottom,0px));
  font-family:var(--font-sans,'Jost',sans-serif);
  color:var(--cs-bone);
}
.sheet.cs-v3::before{
  content:'';position:absolute;left:0;right:0;top:0;height:1px;
  background:linear-gradient(90deg,transparent,rgba(203,180,148,.6),transparent);
}
.sheet.cs-v3 .sheet-grip{width:38px;height:4px;border-radius:99px;background:rgba(203,180,148,.34);margin:0 auto 18px}
.sheet.cs-v3 .sub{
  font:700 9.5px/1 var(--font-sans,'Jost',sans-serif);
  letter-spacing:.22em;text-transform:uppercase;
  color:var(--cs-gold);margin-bottom:12px;text-align:center;
}
.sheet.cs-v3 h2{
  /* Kurzform, weil die alte Regel ebenfalls font: nutzt und sonst die
     Schriftfamilie zurueckschreibt. */
  font:400 22px/1.25 var(--font-serif,'Cinzel',Georgia,serif);
  letter-spacing:.6px;text-transform:none;
  margin:0 0 4px;text-align:center;color:var(--cs-bone);
}
.sheet.cs-v3 .cs-sub2{
  font:500 12.5px/1.5 var(--font-sans,'Jost',sans-serif);
  color:var(--cs-t2);text-align:center;margin:2px auto 0;max-width:32ch;
}
.sheet.cs-v3 p{
  font-family:var(--font-sans,'Jost',sans-serif);
  font-size:13.5px;line-height:1.6;color:var(--cs-t2);text-align:center;max-width:34ch;margin:10px auto 0;
}
.sheet.cs-v3 .sheet-close{
  border:1px solid var(--cs-hair);color:var(--cs-t3);
}
.sheet.cs-v3 .sheet-close:hover{color:var(--cs-bone);border-color:var(--cs-gold)}

/* Kursdaten — dasselbe Routen-Motiv wie Ticket und Erfolgsseite */
.sheet.cs-v3 .cs-route{display:flex;align-items:center;gap:10px;margin:16px 2px 0}
.sheet.cs-v3 .cs-route .pt{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:17px;font-weight:700;letter-spacing:.06em;line-height:1;flex:0 0 auto}
.sheet.cs-v3 .cs-route .pt small{display:block;font-family:var(--font-sans,'Jost',sans-serif);font-size:9px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--cs-t3);margin-top:5px}
.sheet.cs-v3 .cs-route .pt.r{text-align:right}
.sheet.cs-v3 .cs-route .ln{flex:1 1 auto;min-width:12px;height:1px;background:repeating-linear-gradient(90deg,rgba(244,241,234,.3) 0 4px,transparent 4px 9px)}
.sheet.cs-v3 .cs-route .lb{font-family:ui-monospace,'SF Mono',Menlo,monospace;font-size:9px;letter-spacing:.14em;color:var(--cs-gold);white-space:nowrap;flex:0 0 auto}
.sheet.cs-v3 .cs-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:14px 2px 0;padding-top:13px;border-top:1px solid var(--cs-hair)}
.sheet.cs-v3 .cs-facts .k{font-size:9px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--cs-t3)}
.sheet.cs-v3 .cs-facts .v{font-size:14.5px;font-weight:700;margin-top:4px;font-variant-numeric:tabular-nums}
.sheet.cs-v3 .cs-facts .v.hot{color:#e2a86a}
.sheet.cs-v3 .cs-facts .v.warm{color:#a9c3ae}

/* Abrisskante zwischen Beleg und Eintritt */
.sheet.cs-v3 .cs-tear{position:relative;height:18px;margin:14px 0 2px}
.sheet.cs-v3 .cs-tear::before{content:'';position:absolute;left:6px;right:6px;top:0;height:1px;
  background:repeating-linear-gradient(90deg,rgba(244,241,234,.34) 0 5px,transparent 5px 11px)}

.sheet.cs-v3 .qr{
  width:min(206px,54vw);margin:2px auto 12px;padding:12px;background:var(--cs-bone);
  border-radius:16px;box-shadow:0 18px 44px rgba(0,0,0,.5);
}
.sheet.cs-v3 .cs-hint{font-size:11.5px;color:var(--cs-t3);text-align:center;margin-top:0}

.sheet.cs-v3 .sheet-profile{
  display:block;margin:18px auto 0;padding:13px 22px;border-radius:999px;text-align:center;
  background:linear-gradient(135deg,#d8b98a,#c9a575);color:#0b170f;font-weight:700;font-size:14px;
  border:0;text-decoration:none;box-shadow:0 8px 20px rgba(181,156,126,.18);
  font-family:var(--font-sans,'Jost',sans-serif);
}
.sheet.cs-v3 .sheet-profile:hover{color:#0b170f;border:0}
.sheet.cs-v3 .sheet-profile + .sheet-profile{
  background:rgba(244,241,234,.04);border:1px solid var(--cs-gold-hair);color:var(--cs-bone);
  box-shadow:none;font-weight:600;margin-top:10px;
}
