/* Teaser-Seite: Ergänzungen zu style.css. Nur auf teaser.html eingebunden. */

/* Hero */
.hero__note{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:10px;font-weight:600;font-size:clamp(.92rem,1.2vw,1.05rem);text-shadow:0 2px 12px rgba(0,25,80,.6)}
.hero__note span{padding:.25em .8em;border-radius:99px;background:var(--accent);color:#fff;font-size:.78em;letter-spacing:.12em;text-transform:uppercase;text-shadow:none}
.js .hero__note[data-rise]{animation-delay:.92s}

/* Programm: offene Slots */
.arm__topic{color:var(--muted);font-size:.9rem;text-align:center;margin-top:-4px}
.slot--open{display:grid;grid-template-columns:52px 1fr;align-items:center;gap:12px;padding:14px;border:1px dashed color-mix(in srgb,var(--accent) 70%,transparent);background:color-mix(in srgb,var(--accent) 8%,transparent)}
.slot--open h3{color:#fff}
.open-dot{display:grid;place-items:center;width:52px;height:52px;border-radius:50%;background:linear-gradient(60deg,var(--accent),var(--cyan));font:400 2.4rem/1 var(--display);color:#fff;padding-bottom:.08em}
.slot__apply{justify-self:start;margin-top:4px;font-weight:700;font-size:.88rem;color:var(--text-accent);text-decoration:none;border-bottom:2px solid var(--accent)}
.slot__apply:hover{color:#fff}

/* Bühne bewerben */
.apply__grid{display:grid;grid-template-columns:1.1fr .9fr;gap:clamp(24px,4vw,64px);align-items:start}
.stage-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(10px,1.4vw,18px)}
.stage-card{position:relative;display:flex;flex-direction:column;gap:12px;padding:clamp(18px,2vw,26px);background:var(--card);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stage-card .st{align-self:flex-start}
.stage-card h3{font-family:var(--head);font-stretch:semi-condensed;font-weight:800;font-size:clamp(1.1rem,1.5vw,1.3rem);line-height:1.2;position:relative}
.stage-card p{color:var(--muted);font-size:.94rem;position:relative}
.apply__facts{display:grid;grid-template-columns:repeat(3,1fr);margin-top:clamp(20px,3vw,32px);border-block:1px solid var(--line)}
.apply__facts>div{display:flex;flex-direction:column-reverse;gap:4px;padding:18px 16px}
.apply__facts>div+div{border-left:1px solid var(--line)}
.apply__facts dd{align-self:flex-start;font:400 clamp(2.8rem,5vw,4.2rem)/1 var(--display);background:linear-gradient(60deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.apply__facts dt{color:var(--muted);font-size:.9rem}
.steps{counter-reset:s;display:grid;gap:4px;margin-top:clamp(20px,3vw,32px)}
.steps li{counter-increment:s;display:grid;grid-template-columns:48px 1fr;column-gap:16px;padding:14px 0;border-bottom:1px solid var(--line)}
.steps li::before{content:counter(s);grid-row:span 2;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;border:1.5px solid var(--accent);font:400 1.5rem/1 var(--display);color:#fff}
.steps b{font-family:var(--head);font-stretch:semi-condensed;font-size:1.15rem}
.steps span{color:var(--muted);font-size:.96rem}
.apply__form{position:sticky;top:96px;display:grid;gap:14px;padding:clamp(22px,3vw,36px);background:linear-gradient(160deg,var(--card-2),var(--card));border:1px solid var(--line-2);border-radius:calc(var(--r)*1.2);box-shadow:0 40px 100px -40px var(--accent)}
.apply__form h3{font:400 clamp(2rem,3vw,2.6rem)/1 var(--display);text-transform:uppercase;margin-bottom:4px}
.apply__form label{display:grid;gap:6px;font-size:.88rem;font-weight:600;color:#dcebf8}
.apply__form input,.apply__form select,.apply__form textarea{width:100%;font:400 1rem/1.4 var(--body);color:var(--text);background:rgba(255,255,255,.06);border:1px solid var(--line-2);border-radius:12px;padding:.7em .9em;transition:border-color .2s,background .2s}
.apply__form select{appearance:none;background-image:linear-gradient(45deg,transparent 50%,#fff 50%),linear-gradient(135deg,#fff 50%,transparent 50%);background-position:calc(100% - 20px) 55%,calc(100% - 14px) 55%;background-size:6px 6px;background-repeat:no-repeat;padding-right:2.4em}
.apply__form select option{color:#111}
.apply__form textarea{resize:vertical;min-height:110px}
.apply__form ::placeholder{color:#7f97b2}
.apply__form input:focus,.apply__form select:focus,.apply__form textarea:focus{outline:none;border-color:var(--accent);background:rgba(255,255,255,.09)}
.apply__form [aria-invalid=true]{border-color:#ff6b8a}
.apply__form .btn{justify-self:start;margin-top:6px}
.apply__form .check{display:grid;grid-template-columns:22px 1fr;align-items:start;gap:10px;font-weight:400;font-size:.88rem;line-height:1.5;color:#d5e3f2;cursor:pointer}
.apply__form .check input{width:20px;height:20px;margin:2px 0 0;padding:0;accent-color:var(--accent);cursor:pointer}
.apply__form .check input[aria-invalid=true]{outline:2px solid #ff6b8a!important;outline-offset:2px;box-shadow:0 0 0 4px rgba(255,107,138,.25)}
.apply__form .check a{color:var(--text-accent)}
.field2{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.form-note{font-size:.8rem;line-height:1.5;color:var(--muted)}
.form-note a{color:var(--text-accent)}
.form-note.is-error{color:#ff9db1}

/* Hall of Fame */
.hof .sp__tag{color:var(--text-accent)}

/* Tickets: vorläufig */
.tk__pre{display:block;font:700 .72rem/1 var(--body);font-style:normal;letter-spacing:.14em;text-transform:uppercase;color:var(--muted);margin-bottom:.6em}
.tk--vip .tk__pre{color:#ffe4ef}
.btn.is-soon{cursor:default;opacity:.85}
.btn.is-soon:hover{transform:none;box-shadow:none}
.btn--line.is-soon:hover{background:none;color:#fff}

/* Partner-Aufruf */
.partners--call{padding-top:clamp(72px,9vw,130px)}
.partners--call .eyebrow{margin-bottom:14px}
.perks{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin:0 auto 28px;max-width:900px}
.perks li{padding:.5em 1.1em;border-radius:99px;border:1px solid color-mix(in srgb,var(--accent) 60%,transparent);background:color-mix(in srgb,var(--accent) 12%,transparent);font-weight:600;font-size:.95rem}
.partners__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-bottom:clamp(44px,6vw,72px)}
.partners__past{font-family:var(--head);font-stretch:semi-condensed;font-weight:700;font-size:.8rem;letter-spacing:.28em;text-transform:uppercase;color:var(--muted);margin-bottom:18px}

/* Sticky-Button ausblenden, solange das Formular sichtbar ist */
.sticky-cta.is-hidden-teaser{transform:translateY(160%)!important}

/* Abschluss */
.final__cta{display:flex;flex-wrap:wrap;justify-content:center;gap:12px}

@media (max-width:1080px){
  .apply__grid{grid-template-columns:1fr}
  .apply__form{position:static}
}
@media (max-width:860px){
  .stage-cards{grid-template-columns:1fr}
}
@media (max-width:720px){
  .field2{grid-template-columns:1fr}
  .apply__facts dd{font-size:2.6rem}
  .apply__facts>div{padding:14px 10px}
  .apply__form .btn{justify-self:stretch}
}

/* Hall of Fame nach Jahrgängen */
.hof-years{display:grid}
.hof-year{display:grid;grid-template-columns:clamp(110px,12vw,170px) 1fr;gap:clamp(16px,3vw,44px);padding-block:clamp(28px,3.4vw,44px);border-top:1px solid var(--line)}
.hof-year__label{position:sticky;top:96px;align-self:start;width:fit-content;font:400 clamp(3rem,6vw,5.4rem)/1 var(--display);background:linear-gradient(60deg,var(--accent),var(--cyan));-webkit-background-clip:text;background-clip:text;color:transparent}
.hof-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:22px 16px}
.hof-grid .sp{gap:0}
.hof-grid .ring{width:74%;margin:12% 0 calc(12% + 10px)}
.hof-grid .sp__name{font-size:clamp(.95rem,1.1vw,1.08rem);line-height:1.2}
@media (max-width:720px){
  .hof-year{grid-template-columns:1fr;gap:10px}
  .hof-year__label{position:static;font-size:3rem}
  .hof-grid{grid-template-columns:repeat(3,1fr);gap:16px 10px}
  .hof-grid .sp__name{font-size:.84rem}
}

/* Spamschutz: Köderfeld unsichtbar, Button ohne JavaScript deaktiviert */
.apply__form .hp{position:absolute!important;left:-10000px;top:auto;width:1px;height:1px;overflow:hidden}
.apply__form .btn[disabled]{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
