/* crimi.IT – Parkseite im Stil der Nextcloud-Loginseite (cloud.crimi.it) */
:root {
  --color-primary: #00679e;
  --color-primary-hover: #00507a;
  --color-main-text: #222222;
  --color-text-maxcontrast: #6b6b6b;
  --color-box: rgba(255, 255, 255, 0.8);
  --color-box-shadow: rgba(77, 77, 77, 0.5);
  --color-placeholder-bg: #fff3cd;
  --color-placeholder-text: #6b4e00;
  --border-radius-container: 12px;
  --border-radius-container-large: 16px;
  --font-face: system-ui, -apple-system, 'Segoe UI', Roboto, Oxygen-Sans, Cantarell, Ubuntu,
    'Helvetica Neue', 'Noto Sans', 'Liberation Sans', Arial, sans-serif;
  color-scheme: light dark;
}

@media (prefers-color-scheme: dark) {
  :root {
    --color-primary: #4da3d4;
    --color-primary-hover: #7bbde3;
    --color-main-text: #ebebeb;
    --color-text-maxcontrast: #a8a8a8;
    --color-box: rgba(23, 23, 23, 0.8);
    --color-box-shadow: rgba(0, 0, 0, 0.6);
    --color-placeholder-bg: #4a3b00;
    --color-placeholder-text: #ffe08a;
  }
}

*, *::before, *::after { box-sizing: border-box; }

html { height: 100%; }

body {
  margin: 0;
  min-height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-family: var(--font-face);
  font-size: 15px;
  line-height: 1.6;
  color: var(--color-main-text);
  background-color: #00679e;
  background-image: url('background-1280.jpg');
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  padding: 0 16px;
}

@media (min-width: 1281px), (min-resolution: 2dppx) {
  body { background-image: url('background-2560.jpg'); }
}

a { color: var(--color-primary); font-weight: 600; text-decoration: none; }
a:hover, a:focus-visible { color: var(--color-primary-hover); text-decoration: underline; }

.wrapper {
  width: 100%;
  max-width: 700px;
  margin-block: 10vh auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1 0 auto;
}

.logo {
  display: block;
  width: min(340px, 80vw);
  height: auto;
  margin: 0 auto 32px;
}

/* entspricht .guest-box der Nextcloud */
.guest-box {
  color: var(--color-main-text);
  background-color: var(--color-box);
  -webkit-backdrop-filter: blur(25px);
  backdrop-filter: blur(25px);
  border-radius: var(--border-radius-container);
  box-shadow: 0 0 10px var(--color-box-shadow);
  padding: 24px;
}

.guest-box.wide {
  width: 100%;
  border-radius: var(--border-radius-container-large);
}

.parking { text-align: center; max-width: 480px; width: 100%; }
.parking h1 { font-size: 22px; font-weight: 600; margin: 0 0 8px; }
.parking p { margin: 0 0 12px; }
.parking p:last-child { margin-bottom: 0; }

/* Arcade-Wartebereich */
.arcade {
  position: relative;
  margin: 16px 0 8px;
  padding: 6px;
  border-radius: var(--border-radius-container);
  background: #0d2333;
  box-shadow: inset 0 0 0 2px #1d4a66, 0 0 24px rgba(58, 167, 224, 0.35);
}
.arcade canvas {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 2 / 1;
  border-radius: 8px;
  image-rendering: pixelated;
  image-rendering: crisp-edges;
  cursor: crosshair;
  touch-action: none;
}
/* Scanlines für den Röhrenmonitor-Look */
.arcade::after {
  content: '';
  position: absolute;
  inset: 6px;
  border-radius: 8px;
  pointer-events: none;
  background: repeating-linear-gradient(to bottom, rgba(0, 0, 0, 0.18) 0 1px, transparent 1px 3px);
}
.parking p.arcade-hint {
  font-size: 12px;
  color: var(--color-text-maxcontrast);
}
@media (hover: none) {
  .parking p.arcade-hint:not(.touch) { display: none; }
}
/* Hochkant-Spielfeld des Brick-Breakers (game-touch.js) */
.arcade canvas.tall {
  aspect-ratio: 4 / 5;
  width: min(100%, 60vh);
  margin: 0 auto;
}


/* Rechtstexte */
.legal-text { text-align: start; overflow-wrap: break-word; }
.legal-text h1 { font-size: 24px; margin: 0 0 16px; }
.legal-text h2 { font-size: 18px; margin: 28px 0 8px; }
.legal-text h3 { font-size: 15px; margin: 20px 0 4px; }
.legal-text p, .legal-text ul { margin: 0 0 12px; }
.legal-text ul { padding-inline-start: 20px; }
.legal-text address { font-style: normal; margin-bottom: 12px; }
.legal-text .back { display: inline-block; margin-bottom: 16px; }
.legal-text .meta { color: var(--color-text-maxcontrast); font-size: 13px; margin-top: 24px; }

/* Platzhalter – vor Veröffentlichung ersetzen */
.ph {
  background: var(--color-placeholder-bg);
  color: var(--color-placeholder-text);
  border-radius: 4px;
  padding: 0 4px;
}

footer.guest-box {
  margin: 24px 0 16px;
  padding: 8px 18px;
  text-align: center;
  font-size: 13px;
}
footer a { color: var(--color-main-text); }
footer .sep { margin: 0 6px; color: var(--color-text-maxcontrast); }

@media (prefers-reduced-motion: no-preference) {
  .wrapper { animation: fade-in 400ms ease-out both; }
  @keyframes fade-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
}
