/* A document shared by link (/p/). Page tokens from styles.css, so light and dark follow. */
.pv { padding: 40px 0 60px; }
/* Once the document shows, the page goes full width: the red band runs edge to edge. */
.pv:has(.pv-full) { padding: 0; }
.pv-full { display: block; }
.pv-card {
  max-width: 560px; margin: 30px auto; background: var(--karte); border: 1px solid var(--linie);
  border-radius: var(--radius); padding: 32px; box-shadow: var(--schatten);
}
.pv-wait { text-align: center; color: var(--grau); }
.pv-card h1 { font-size: 1.5rem; font-weight: 800; line-height: 1.25; word-break: break-word; }
.pv-kicker { font-size: .74rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; color: var(--rot-text); margin-bottom: 8px; }
.pv-sub { color: var(--grau); margin-top: 10px; }
#pv-form { display: flex; gap: 10px; margin-top: 20px; flex-wrap: wrap; }
#pv-email {
  flex: 1 1 240px; font: inherit; font-size: 1rem; padding: 11px 14px; border: 1px solid var(--linie); border-radius: 10px;
  background: var(--grund); color: var(--anthrazit);
}
#pv-email:focus { outline: none; border-color: var(--rot); box-shadow: 0 0 0 3px rgba(192,23,24,.18); }
.pv-err { margin-top: 10px; color: var(--rot-text); font-weight: 600; font-size: .92rem; }
.pv-privacy { margin-top: 18px; font-size: .8rem; color: var(--grau); line-height: 1.5; }
.pv-privacy a { color: var(--rot-text); }

.pv-doc { display: flex; flex-direction: column; gap: 14px; }
.pv-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.pv-bar h1 { font-size: 1.3rem; font-weight: 800; word-break: break-word; }
.pv-frame { width: 100%; height: 80vh; min-height: 480px; border: 1px solid var(--linie); border-radius: var(--radius); background: var(--karte); }
.pv-img { max-width: 100%; height: auto; display: block; margin: 0 auto; border-radius: 10px; border: 1px solid var(--linie); }
.pv-small { font-size: .78rem; color: var(--grau); }
.btn-sm { font-size: .86rem; padding: 8px 14px; border-radius: 9px; }
.btn:disabled { opacity: .55; cursor: not-allowed; }
@media (max-width: 640px) {
  .pv { padding: 20px 0 40px; }
  .pv-card { padding: 22px; margin: 10px auto; }
  .pv-frame { height: 72vh; min-height: 380px; }
}

/* The privacy notice (/p/privacy.html) uses styles.css's .recht, whose text colour is a literal
   dark grey made for the always-light legal pages; in dark it would vanish. */
html[data-scheme="dark"] .recht p, html[data-scheme="dark"] .recht li { color: var(--grau); }
