:root{
  --bg:#faf8f5;--fg:#1c1b1a;--muted:#6b6560;--line:#d9d1c7;--field:#fff;
  --accent:#d8740f;--accent-fg:#fff;--err:#b3261e;
  color-scheme:light;
  box-sizing:border-box;
  padding-top:env(safe-area-inset-top,0px);
  padding-bottom:env(safe-area-inset-bottom,0px);
}

html{scroll-padding-top:env(safe-area-inset-top,0px);-webkit-text-size-adjust:100%}
*,*::before,*::after{box-sizing:inherit}
body{margin:0;background:var(--bg);color:var(--fg);
  font:17px/1.55 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
main{max-width:480px;margin:0 auto;padding:16px 20px 40px}

/* Foto: einfach das <img> an die Stelle des SVG setzen */
.hero{margin:0;border-radius:14px;overflow:hidden;aspect-ratio:16/9;background:var(--line)}
.hero svg,.hero img{display:block;width:100%;height:100%;object-fit:cover}

h1{font:600 1.75rem/1.2 Georgia,"Times New Roman",serif;margin:24px 0 0;letter-spacing:-.01em}
.untertitel{font-style:italic;font-weight:400;font-size:1.1rem;margin:8px 0}
.desc{margin:0 0 28px;color:var(--muted)}

label{display:block;font-size:.9rem;font-weight:600;margin:0 0 6px}
.field{margin-bottom:18px}
select,input[type=email]{
  width:100%;min-height:52px;padding:0 14px;font:inherit;font-size:16px;color:var(--fg);
  background:var(--field);border:1.5px solid var(--line);border-radius:12px;appearance:none;-webkit-appearance:none}
select{background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);
  background-position:calc(100% - 22px) 50%,calc(100% - 16px) 50%;background-size:6px 6px;background-repeat:no-repeat;padding-right:40px}
select:focus-visible,input:focus-visible,button:focus-visible{outline:3px solid var(--fg);outline-offset:2px}
.hint{font-size:.82rem;color:var(--muted);margin:6px 0 0}
.tickets{font-weight:600;font-size:.9rem;margin:6px 0 0}

.consent{display:flex;gap:12px;align-items:flex-start;font-size:.80rem;font-weight:400;margin:4px 0 22px;border: 1px dotted #777;
  border-radius: 8px;padding: 12px;}
.consent input{flex:none;width:16px;height:16px;margin:1px 0 0;accent-color:var(--bg)}
.consent a{color:inherit}

button{width:100%;min-height:56px;border:0;border-radius:12px;background:var(--accent);color:var(--fg);
  font-family:inherit;font-size:1.2rem;font-weight:600;line-height:1;cursor:pointer}
button:disabled{opacity:.6;cursor:wait}
#status{min-height:1.5em;margin:14px 0 0;font-size:.9rem;color:var(--muted);text-align:center}

footer{margin-top:32px;text-align:center;font-size:.85rem;color:var(--muted)}
footer a{color:inherit;margin:0 8px}
.page h2{font:600 1.1rem/1.3 system-ui,sans-serif;margin:24px 0 8px}
.todo{padding:12px 14px;border:1.5px dashed var(--line);border-radius:12px;color:var(--muted);font-size:.92rem}

.summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.summary p{margin:0}
.summary .price{font-weight:600;font-size:.9rem}
.summary{display:flex;justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px}

.center-text {
  text-align: center;
}

.event-info {
  border: 2px dotted #555;
  padding: 16px 20px;
  margin: 20px 0;
  border-radius: 8px;
}

.event-info p {
  margin: 6px 0;
  line-height: 1.5;
}

button:disabled{opacity:.5;cursor:not-allowed}
.pay-hint{text-align:center;margin:10px 0 0}

.ticket-hinweis {
  border: 1px dotted #777;
  border-radius: 8px;
  padding: 16px;
  margin: 20px 0;
  background-color: #faf8f5;
  font-size: 12px;
  line-height: 1.4;
  color: #707070
}

.ticket-hinweis strong {
  display: block;
  margin-bottom: 8px;
}

.ticket-hinweis p {
  margin: 8px 0;
}

.text {text-align: center;}