/* ErlebnisRadar – Veranstalter-Bereich. Farben und Schriften wie die
   Landingpage und das Einreichen-Formular (erlebnisradar-support). */
@font-face{font-family:'Inter';font-style:normal;font-weight:400 700;font-display:swap;src:url(fonts/inter.woff2) format('woff2');}
@font-face{font-family:'Space Grotesk';font-style:normal;font-weight:500 700;font-display:swap;src:url(fonts/space-grotesk.woff2) format('woff2');}
:root{
  --indigo-950:#0d0b2e; --indigo-900:#151140; --indigo-800:#1e1a56; --indigo-600:#4F46E5; --indigo-400:#8b85f0;
  --teal-500:#14B8A6; --teal-300:#7ff0e0; --ink:#eef0ff; --ink-dim:#c0bde8; --ink-faint:#8783b8;
  --line:rgba(255,255,255,0.12); --field:rgba(255,255,255,0.06); --danger:#fda4af; --warn:#fcd34d;
  --card:rgba(30,26,86,0.45);
}
*{box-sizing:border-box;}
[hidden]{display:none !important;}
body{
  margin:0; color:var(--ink); font-family:'Inter',-apple-system,BlinkMacSystemFont,sans-serif; line-height:1.55;
  -webkit-font-smoothing:antialiased; min-height:100vh;
  background:radial-gradient(ellipse 900px 520px at 50% -8%, rgba(79,70,229,0.38), transparent 62%),
             linear-gradient(180deg,var(--indigo-950) 0%,var(--indigo-900) 55%,#0a0824 100%);
  background-attachment:fixed;
}
.wrap{max-width:820px; margin:0 auto; padding:0 16px 60px;}
a{color:var(--teal-300);}
h1,h2,h3{font-family:'Space Grotesk',sans-serif; font-weight:600; letter-spacing:-0.015em; color:#fff; margin:0;}
h1{font-size:clamp(28px,6vw,40px); line-height:1.12;}
h2{font-size:22px;}
h3{font-size:17px;}
p{margin:0 0 12px;}
.lead{color:var(--ink-dim); font-size:16.5px; margin:14px 0 0;}
.muted{color:var(--ink-faint); font-size:13.5px;}

header.top{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:22px 0;}
.brand{display:flex; align-items:center; gap:10px; color:#fff; text-decoration:none; font-family:'Space Grotesk'; font-weight:600; font-size:18px;}
.brand svg{width:30px; height:30px; flex:none;}
.brand small{font-family:'Inter'; font-weight:500; font-size:12px; color:var(--ink-faint); display:block; margin-top:-3px;}
.who{display:flex; align-items:center; gap:10px; font-size:13px; color:var(--ink-faint); min-width:0;}
.who span{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:220px;}

.hero{padding:18px 0 8px;}
.perks{display:flex; flex-wrap:wrap; gap:8px; margin:18px 0 0; padding:0; list-style:none;}
.perks li{font-size:13.5px; padding:6px 12px; border-radius:999px; background:var(--indigo-800); border:1px solid var(--line); color:var(--ink-dim);}

.card{border:1px solid var(--line); border-radius:16px; padding:20px 18px; margin:0 0 18px; background:var(--card);}
.card > h2, .card > h3{margin-bottom:12px;}
fieldset{border:1px solid var(--line); border-radius:16px; padding:20px 18px 6px; margin:0 0 18px; background:var(--card); min-width:0;}
legend{padding:0 8px; font-family:'Space Grotesk'; font-weight:600; font-size:17px; color:#fff;}
.row{margin-bottom:16px;}
.two{display:grid; grid-template-columns:1fr 1fr; gap:12px;}
.zip{display:grid; grid-template-columns:7.5em 1fr; gap:12px;}
label{display:block; font-size:14px; font-weight:600; margin-bottom:6px; color:#fff;}
label .opt{font-weight:400; color:var(--ink-faint);}
input[type=text],input[type=email],input[type=tel],input[type=url],input[type=date],input[type=time],select,textarea{
  width:100%; font:inherit; font-size:16px; color:var(--ink); background:var(--field);
  border:1px solid var(--line); border-radius:10px; padding:11px 12px; outline:none; color-scheme:dark;
}
textarea{min-height:110px; resize:vertical;}
select option{background:var(--indigo-900); color:var(--ink);}
input:focus,select:focus,textarea:focus{border-color:var(--teal-500); box-shadow:0 0 0 3px rgba(20,184,166,0.25);}
.help{font-size:12.5px; color:var(--ink-faint); margin-top:5px;}
.check{display:flex; gap:10px; align-items:flex-start; font-weight:400; font-size:14.5px; color:var(--ink-dim);}
.check input{margin-top:4px; width:18px; height:18px; accent-color:var(--teal-500); flex:none;}
.radio{display:flex; gap:8px; flex-wrap:wrap;}
.radio label{display:flex; align-items:center; gap:8px; font-weight:500; font-size:14.5px; padding:9px 14px; border-radius:999px; border:1px solid var(--line); background:var(--field); cursor:pointer; margin:0;}
.radio input{accent-color:var(--teal-500);}
.err{color:var(--danger); font-size:13px; margin-top:5px; display:none;}
.invalid .err{display:block;}
.invalid input,.invalid select,.invalid textarea{border-color:var(--danger);}
details.terms{margin:6px 0 0 28px; font-size:.9em; color:var(--ink-dim);}
details.terms summary{cursor:pointer; text-decoration:underline;}
details.terms ul{margin:6px 0; padding-left:18px;}

button{font:inherit; cursor:pointer;}
.btn{display:inline-flex; align-items:center; justify-content:center; gap:8px; font-weight:700; font-size:16px;
  padding:13px 20px; border:0; border-radius:14px; background:var(--teal-500); color:#06231f; text-decoration:none;}
.btn.wide{width:100%;}
.btn:disabled{opacity:.6; cursor:wait;}
.btn2{display:inline-flex; align-items:center; gap:6px; padding:9px 16px; border-radius:999px; border:1px solid var(--line);
  color:#fff; text-decoration:none; background:transparent; font-size:14px;}
.btn2:hover{background:rgba(255,255,255,0.06);}
.btn2.danger{color:var(--danger); border-color:rgba(253,164,175,0.4);}
.link{background:none; border:0; color:var(--ink-faint); text-decoration:underline; padding:0; font-size:13px;}
.formerr{display:none; margin:14px 0 0; padding:12px 14px; border-radius:10px; background:rgba(244,63,94,0.12); border:1px solid rgba(244,63,94,0.4); color:#fecdd3; font-size:14.5px;}
.okbox{margin:14px 0 0; padding:12px 14px; border-radius:10px; background:rgba(20,184,166,0.12); border:1px solid rgba(20,184,166,0.4); color:#ccfbf1; font-size:14.5px;}
.warnbox{margin:0 0 16px; padding:12px 14px; border-radius:10px; background:rgba(252,211,77,0.1); border:1px solid rgba(252,211,77,0.35); color:#fde68a; font-size:14px;}

/* Termine eines Tages */
.listhead{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:14px; flex-wrap:wrap;}
.ev{display:grid; grid-template-columns:56px 1fr auto; gap:12px; align-items:center; width:100%; padding:10px; border-radius:14px;
  border:1px solid var(--line); background:var(--field); margin-bottom:8px; color:var(--ink); text-align:left; font:inherit; cursor:pointer;}
.ev:hover{border-color:var(--teal-500);}
.ev .thumb{width:56px; height:56px; border-radius:10px; object-fit:cover; background:var(--indigo-800); display:block;}
.ev .info{min-width:0;}
.ev .title{font-weight:600; color:#fff; overflow:hidden; text-overflow:ellipsis;}
.ev .meta{font-size:13px; color:var(--ink-faint);}
@media (max-width:560px){
  .two{grid-template-columns:1fr;}
}

/* Bild */
.pick{display:flex; align-items:center; gap:14px; flex-wrap:wrap;}
.pick img{width:96px; height:96px; object-fit:cover; border-radius:12px; border:1px solid var(--line);}
.pick input[type=file]{font-size:14px; color:var(--ink-dim); max-width:100%;}

/* Einbettcode */
pre.code{margin:0; padding:14px; border-radius:12px; background:rgba(0,0,0,0.35); border:1px solid var(--line); color:#d6d3ff; font-size:13px; white-space:pre-wrap; word-break:break-all;}
.preview{margin-top:14px; padding:16px; border-radius:14px; background:#fff; color:#111;}

.center{text-align:center; padding:40px 0 10px;}
.center .ok{width:72px; height:72px; border-radius:50%; margin:0 auto 18px; background:rgba(20,184,166,0.18); border:1px solid rgba(20,184,166,0.5); display:flex; align-items:center; justify-content:center; font-size:34px;}
.center p{color:var(--ink-dim);}
.spinner{width:34px; height:34px; border-radius:50%; border:3px solid var(--line); border-top-color:var(--teal-500); margin:60px auto; animation:spin 1s linear infinite;}
@keyframes spin{to{transform:rotate(360deg);}}

footer{margin-top:40px; padding-top:22px; border-top:1px solid var(--line); font-size:13px; color:var(--ink-faint); display:flex; gap:16px; flex-wrap:wrap; justify-content:space-between;}
footer a{color:var(--ink-dim); text-decoration:none;}

/* Kalender (Startseite des Bereichs) */
.cal{padding:14px 12px 12px;}
.cal-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:10px;}
.cal-head h2{font-size:20px; text-align:center; flex:1;}
.cal-head .btn2{font-size:20px; padding:4px 14px;}
.cal-head .btn2:disabled{opacity:.3; cursor:default;}
.cal-grid{display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:4px;}
.cal-wd span{text-align:center; font-size:12px; color:var(--ink-faint); font-weight:600; padding:2px 0 6px;}
.day{min-height:92px; border-radius:10px; border:1px solid var(--line); background:var(--field); padding:6px; text-align:left;
  color:var(--ink); display:flex; flex-direction:column; gap:4px; min-width:0; font:inherit; cursor:pointer;}
.day:hover{border-color:var(--teal-500);}
.day.other{visibility:hidden;}
.day.past{opacity:.4; cursor:default;}
.day.past:hover{border-color:var(--line);}
.day.today .num{background:var(--teal-500); color:#06231f; border-radius:999px; padding:0 7px;}
.day.sel{border-color:var(--teal-500); box-shadow:0 0 0 2px rgba(20,184,166,0.35);}
.day .num{font-size:13px; font-weight:700; align-self:flex-start;}
.chip{display:block; font-size:11.5px; line-height:1.3; padding:2px 6px; border-radius:6px; background:var(--indigo-600); color:#fff;
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;}
.chip.more{background:transparent; color:var(--ink-faint); padding:0 2px;}
@media (max-width:560px){
  .cal{padding:10px 6px;}
  .cal-grid{gap:3px;}
  .day{min-height:54px; padding:4px; align-items:center;}
  .day .num{align-self:center;}
  .chip{width:8px; height:8px; padding:0; border-radius:50%; font-size:0;}
  .day .chips{display:flex; gap:3px; flex-wrap:wrap; justify-content:center;}
  .chip.more{display:none;}
}

/* Aufgeklappte Einstellungen unter dem Kalender */
details.more > summary{cursor:pointer; font-family:'Space Grotesk'; font-weight:600; font-size:16px; color:#fff;}
details.more > summary .opt{font-family:'Inter'; font-weight:400; font-size:13px; color:var(--ink-faint);}
details.more-fields{margin:0 0 16px;}
details.more-fields > summary{cursor:pointer; font-weight:600; font-size:14.5px; color:var(--teal-300);}
details.more-fields > summary .opt{font-weight:400; color:var(--ink-faint);}

/* Eingabefenster */
dialog.sheet{width:min(640px, calc(100vw - 16px)); max-height:calc(100vh - 16px); padding:18px 18px 16px; border-radius:18px;
  border:1px solid var(--line); background:#17134a; color:var(--ink);}
dialog.sheet::backdrop{background:rgba(5,4,20,0.65);}
.sheet-head{display:flex; align-items:center; justify-content:space-between; gap:10px; margin-bottom:14px;}
.sheet-actions{display:flex; align-items:center; gap:10px; margin-top:6px;}
.sheet-actions .btn{margin-left:auto; min-width:150px;}
@media (max-width:560px){ dialog.sheet{padding:14px 12px; width:calc(100vw - 8px); max-height:calc(100vh - 8px);} }
