/* REMA TEC Events – Erweiterung des bestehenden Designsystems (styles.css).
   Nur Tokens aus :root, keine eigenen Markenfarben. */

/* ---------- Event-Hero ---------- */
.ev-hero{position:relative;overflow:hidden;color:#fff;background:var(--ink-950);
  padding:148px 0 88px}
.ev-hero::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:
    radial-gradient(60% 70% at 85% 30%,rgba(0,104,184,.45),transparent 70%),
    radial-gradient(40% 50% at 10% 100%,rgba(0,104,184,.18),transparent 70%)}
.ev-hero__inner{position:relative;max-width:var(--container-wide);margin:0 auto;padding:0 40px;
  display:grid;grid-template-columns:1.15fr .85fr;gap:64px;align-items:center}
.ev-hero__eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:.75rem;font-weight:700;
  letter-spacing:.18em;text-transform:uppercase;color:rgba(255,255,255,.8)}
.ev-hero__eyebrow::before{content:"";width:32px;height:2px;background:var(--signal-400)}
.ev-hero__title{margin:22px 0 0;font-size:var(--text-display-xl);font-weight:800;line-height:1;
  letter-spacing:-.03em;text-transform:uppercase}
.ev-hero__title .x{color:var(--signal-400);font-weight:600;padding:0 .08em}
.ev-hero__title small{display:block;font-size:.5em;letter-spacing:-.01em;margin-top:.1em;color:var(--blue-200)}
.ev-hero__sub{margin:20px 0 0;font-size:1.25rem;font-weight:600;color:rgba(255,255,255,.86);letter-spacing:.01em}
.ev-hero__lead{margin:26px 0 0;max-width:600px;font-size:var(--text-lead);line-height:1.6;color:rgba(255,255,255,.78)}
.ev-facts{display:flex;flex-wrap:wrap;gap:12px;margin:32px 0 0;padding:0;list-style:none}
.ev-fact{display:flex;align-items:center;gap:12px;padding:12px 18px;border-radius:var(--radius-lg);
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.14)}
.ev-fact [data-lucide]{color:var(--signal-400);flex-shrink:0}
.ev-fact b{display:block;font-family:var(--font-mono);font-size:1rem;font-weight:700;color:#fff;line-height:1.2}
.ev-fact span{display:block;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;color:rgba(255,255,255,.6)}
.ev-hero .btn-row{margin-top:36px}
.ev-hero__note{margin:18px 0 0;font-size:.85rem;color:rgba(255,255,255,.6)}

/* Künstlerfoto bzw. Platzhalter bis zur Freigabe */
.ev-portrait{position:relative;aspect-ratio:4/5;border-radius:var(--radius-xl);overflow:hidden;
  background:linear-gradient(160deg,var(--ink-800),var(--ink-950));box-shadow:var(--shadow-lg);
  border:1px solid rgba(255,255,255,.08)}
.ev-portrait img{width:100%;height:100%;object-fit:cover;object-position:62% 20%;display:block}
.ev-portrait--leer::before{content:"";position:absolute;width:78%;aspect-ratio:1;left:11%;top:44%;
  transform:translateY(-50%);border-radius:50%;
  background:
    radial-gradient(circle,var(--ink-950) 0 3%,var(--color-primary) 3.2% 17%,rgba(255,255,255,.12) 17.3% 18%,transparent 18.3%),
    repeating-radial-gradient(circle,rgba(255,255,255,.07) 0 1px,transparent 1px 6px),
    radial-gradient(circle,#0a0f14 0 70%,#0a0f14 70%);
  box-shadow:0 30px 60px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.06)}
.ev-portrait--leer::after{content:"";position:absolute;width:78%;aspect-ratio:1;left:11%;top:44%;transform:translateY(-50%);
  border-radius:50%;background:conic-gradient(from 210deg,transparent 0 20%,rgba(255,255,255,.08) 25%,transparent 32% 70%,rgba(255,255,255,.05) 75%,transparent 80%)}
.ev-portrait__hinweis{position:absolute;left:20px;right:20px;bottom:20px;z-index:2;display:flex;gap:10px;align-items:center;
  padding:12px 14px;border-radius:var(--radius-md);background:rgba(13,20,26,.75);backdrop-filter:blur(4px);
  font-size:.8rem;color:rgba(255,255,255,.8)}
.ev-portrait__hinweis [data-lucide]{color:var(--signal-400);flex-shrink:0}

/* ---------- Sprungnavigation ---------- */
.ev-jump{position:sticky;top:76px;z-index:60;background:rgba(255,255,255,.96);backdrop-filter:blur(10px);
  border-bottom:1px solid var(--border-subtle)}
.ev-jump__inner{max-width:var(--container-wide);margin:0 auto;padding:0 40px;display:flex;align-items:center;gap:6px;
  overflow-x:auto;scrollbar-width:none}
.ev-jump__inner::-webkit-scrollbar{display:none}
.ev-jump a{flex-shrink:0;padding:16px 14px;font-size:.875rem;font-weight:600;color:var(--text-body);text-decoration:none;
  border-bottom:2px solid transparent;margin-bottom:-1px}
.ev-jump a:hover{color:var(--color-primary)}
.ev-jump a.is-active{color:var(--color-primary);border-bottom-color:var(--color-primary)}
.ev-jump .ev-jump__cta{margin-left:auto;padding:9px 18px;border:0;border-radius:var(--radius-md);
  background:var(--color-primary);color:#fff}
.ev-jump .ev-jump__cta:hover{background:var(--color-primary-strong);color:#fff}
[id="event"],[id="nils"],[id="gewinnspiel"],[id="teilnehmen"],[id="infos"]{scroll-margin-top:140px}

/* ---------- Inhalte ---------- */
.ev-entwurf{display:flex;width:fit-content;align-items:center;gap:8px;margin-bottom:18px;padding:6px 12px;
  border-radius:var(--radius-pill);background:var(--amber-100);color:var(--amber-600);
  font-size:.75rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.ev-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:28px}
.ev-social{display:inline-flex;align-items:center;gap:10px;padding:11px 16px;border-radius:var(--radius-md);
  border:1px solid var(--border-default);color:var(--text-strong);font-weight:600;font-size:.9rem;text-decoration:none}
.ev-social:hover{border-color:var(--color-primary);color:var(--color-primary)}

.ev-why{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}
.ev-why__item{padding:26px;border-radius:var(--radius-lg);background:#fff;border:1px solid var(--border-subtle)}
.ev-why__item [data-lucide]{color:var(--color-primary)}
.ev-why__item b{display:block;margin-top:14px;font-size:1.05rem;color:var(--text-strong)}
.ev-why__item p{margin:8px 0 0;font-size:.92rem;line-height:1.6;color:var(--text-body)}

/* Gewinnspiel (dunkel, deutlich hervorgehoben) */
.ev-win{position:relative;overflow:hidden}
.ev-win::before{content:"";position:absolute;inset:0;pointer-events:none;
  background:radial-gradient(50% 80% at 100% 0,rgba(0,104,184,.35),transparent 70%)}
.ev-win .container{position:relative}
.ev-win__num{font-family:var(--font-mono);font-size:clamp(5rem,12vw,9rem);font-weight:700;line-height:.9;
  color:var(--blue-400);letter-spacing:-.04em}
.ev-win__head{display:grid;grid-template-columns:auto 1fr;gap:48px;align-items:end;margin-bottom:56px}
.ev-win__title{margin:0;font-size:var(--text-display);font-weight:800;line-height:1.04;letter-spacing:-.02em;
  text-transform:uppercase;color:#fff}
.ev-win__text{margin:18px 0 0;max-width:620px;font-size:var(--text-lead);line-height:1.6;color:rgba(255,255,255,.75)}
.ev-win .process{grid-template-columns:repeat(3,1fr)}
.ev-win__cta{margin-top:48px;display:flex;flex-wrap:wrap;gap:16px;align-items:center}
.ev-win__cta p{margin:0;font-size:.875rem;color:rgba(255,255,255,.6);max-width:440px}

/* Formular */
.ev-form{max-width:760px;margin:0 auto}
.ev-form .section-head{margin-bottom:32px}
.ev-form__title{margin:0;font-size:var(--text-display);font-weight:800;letter-spacing:-.02em;text-transform:uppercase;
  color:var(--text-strong);line-height:1.04}
.ev-check{display:flex;gap:12px;align-items:flex-start;cursor:pointer;font-size:.92rem;line-height:1.55;color:var(--text-body)}
.ev-check input{flex-shrink:0;width:20px;height:20px;margin:1px 0 0;accent-color:var(--color-primary);cursor:pointer}
.ev-check a{color:var(--text-link);text-decoration:underline}
.ev-check--pflicht{padding:16px;border-radius:var(--radius-md);background:var(--surface-subtle);border:1px solid var(--border-subtle)}
.field.has-error.ev-check--pflicht{border-color:var(--red-600)}
.ev-optins{display:grid;gap:12px;padding:4px 0}
.ev-optins__label{font-size:.8125rem;font-weight:600;color:var(--text-strong)}
.ev-hp{position:absolute!important;left:-10000px!important;width:1px;height:1px;overflow:hidden}
.ev-form button[type="submit"]{justify-content:center;width:100%}
.ev-form button[disabled]{opacity:.55;cursor:not-allowed;transform:none}
.ev-form__alert{margin:0;padding:14px 16px;border-radius:var(--radius-md);font-size:.92rem;line-height:1.5}
.ev-form__alert--error{background:var(--red-100);color:var(--red-600)}
.ev-form__alert--info{background:var(--blue-50);color:var(--blue-800)}
.ev-form__alert--warn{background:var(--amber-100);color:#7a5400}
.ev-form__alert--ok{background:var(--green-100);color:var(--green-600)}
.ev-form .form-success h3{text-transform:uppercase;letter-spacing:-.01em;font-size:2rem}

/* Infos */
.ev-infos{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}
.ev-offen{color:var(--text-muted)!important;font-family:var(--font-sans)!important;font-weight:500!important;font-style:italic}

/* Event-Übersicht */
.ev-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:28px}
.ev-card{display:grid;grid-template-columns:1fr 1fr;text-decoration:none;border-radius:var(--radius-xl);overflow:hidden;
  background:var(--ink-950);color:#fff;box-shadow:var(--shadow-md);grid-column:1/-1;
  transition:transform var(--dur-base) var(--ease-out),box-shadow var(--dur-base) var(--ease-out)}
.ev-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.ev-card__media{position:relative;min-height:340px;background:var(--ink-800)}
.ev-card__media .ev-portrait{position:absolute;inset:0;aspect-ratio:auto;border-radius:0;box-shadow:none;border:0}
.ev-card__body{padding:44px;display:flex;flex-direction:column;gap:14px}
.ev-card__tag{align-self:flex-start;font-size:.72rem;font-weight:700;letter-spacing:.16em;text-transform:uppercase;
  color:var(--signal-400)}
.ev-card__title{margin:0;font-size:clamp(1.75rem,3vw,2.5rem);font-weight:800;line-height:1.05;letter-spacing:-.02em;text-transform:uppercase}
.ev-card__title .x{color:var(--signal-400);font-weight:600}
.ev-card .ev-facts{margin-top:8px}
.ev-card__more{margin-top:auto;padding-top:18px;display:inline-flex;align-items:center;gap:8px;font-weight:700;
  letter-spacing:.06em;color:#fff}
.ev-card:hover .ev-card__more{color:var(--blue-200)}
.ev-card--bald{grid-column:auto;display:flex;align-items:center;justify-content:center;min-height:180px;
  background:var(--surface-subtle);color:var(--text-muted);border:1px dashed var(--border-default);box-shadow:none;
  font-weight:600}
.ev-card--bald:hover{transform:none;box-shadow:none}

/* DOI- und Login-Seiten (Standalone, ohne Header/Footer) */
.ev-doi{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--surface-subtle);padding:24px}
.ev-doi__box{width:100%;max-width:560px;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-xl);
  padding:44px;box-shadow:var(--shadow-md)}
.ev-doi__logo img{height:44px;display:block;margin-bottom:28px}
.ev-doi__title{margin:14px 0 0;font-size:var(--text-h1);font-weight:800;letter-spacing:-.02em;color:var(--text-strong)}
.ev-doi__text{margin:14px 0 22px;font-size:1rem;line-height:1.65;color:var(--text-body)}
.ev-doi__list{margin:0 0 24px;padding-left:20px;color:var(--text-body);line-height:1.7}
.ev-doi__hint{margin:20px 0 0;font-size:.85rem;color:var(--text-muted)}
.ev-intern__login{display:grid;gap:16px;margin-top:24px}

/* Interner Bereich */
.ev-intern{background:var(--surface-subtle);min-height:100vh}
.ev-intern__bar{display:flex;align-items:center;gap:20px;padding:12px 24px;background:#fff;border-bottom:1px solid var(--border-subtle);
  font-size:.9rem;color:var(--text-body)}
.ev-intern__bar form{margin-left:auto}
.ev-intern__logo img{height:36px;display:block}
.ev-intern__main{padding-top:40px;padding-bottom:80px}
.ev-intern__events{display:flex;gap:8px;margin-bottom:20px}
.ev-intern__events a{padding:8px 14px;border-radius:var(--radius-pill);border:1px solid var(--border-default);text-decoration:none;color:var(--text-body)}
.ev-intern__events a.is-active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}
.ev-intern__meta{margin:10px 0 24px;color:var(--text-muted);font-size:.92rem}
.ev-intern__meta .ok{color:var(--green-600)} .ev-intern__meta .off{color:var(--red-600)} .ev-intern__meta .warn{color:var(--amber-600)}
.ev-intern__kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:14px;margin-bottom:28px}
.ev-intern__kpis div{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:18px;font-size:.85rem;color:var(--text-muted)}
.ev-intern__kpis span{display:block;font-family:var(--font-mono);font-size:1.75rem;font-weight:700;color:var(--color-primary)}
.ev-intern__cols{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px}
.ev-intern__cols section{background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px}
.ev-intern__cols .h4{margin:0 0 10px;font-size:1rem}
.ev-intern__actions{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:20px}
.ev-intern__scroll{overflow-x:auto;background:#fff;border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}
.ev-intern__table{width:100%;border-collapse:collapse;font-size:.88rem}
.ev-intern__table td,.ev-intern__table th{padding:9px 12px;border-bottom:1px solid var(--border-subtle);text-align:left;white-space:nowrap}
.ev-intern__table th{font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;color:var(--text-muted);background:var(--surface-subtle)}

/* ---------- Responsive (mobile first-Wirkung für QR-Besucher) ---------- */
@media (max-width:1080px){
  .ev-hero__inner{gap:40px}
}
@media (max-width:900px){
  .ev-hero{padding:104px 0 56px}
  .ev-hero__inner{grid-template-columns:1fr;padding:0 20px;gap:36px}
  .ev-hero__title{font-size:clamp(2.4rem,11vw,3.4rem)}
  .ev-hero__sub{font-size:1.05rem;margin-top:14px}
  .ev-hero__lead{font-size:1rem;margin-top:18px}
  .ev-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:22px}
  .ev-fact{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 12px}
  .ev-fact b{font-size:.85rem;white-space:nowrap}
  .ev-hero .btn--lg{font-size:.95rem;padding:16px 20px}
  .ev-fact span{font-size:.62rem}
  .ev-hero .btn-row{margin-top:24px}
  .ev-hero .btn-row .btn{width:100%;justify-content:center}
  .ev-portrait{aspect-ratio:4/3}
  .ev-jump{top:76px}
  .ev-jump__inner{padding:0 12px}
  .ev-jump a{padding:13px 10px;font-size:.82rem}
  .ev-jump .ev-jump__cta{display:none}
  .ev-nils-media{display:none} /* Foto steht mobil schon im Hero */
  .ev-why{grid-template-columns:1fr}
  .ev-win__head{grid-template-columns:1fr;gap:12px;margin-bottom:36px}
  .ev-win .process{grid-template-columns:1fr;gap:20px}
  .ev-win__cta .btn{width:100%;justify-content:center}
  .ev-infos{grid-template-columns:1fr}
  .ev-card{grid-template-columns:1fr}
  .ev-card__media{min-height:220px}
  .ev-card__body{padding:28px 22px}
  .ev-cards{grid-template-columns:1fr}
  .ev-intern__kpis{grid-template-columns:repeat(2,1fr)}
  .ev-intern__cols{grid-template-columns:1fr}
}
@media (max-width:560px){
  .ev-doi__box{padding:28px 22px}
  .ev-form .form-card{padding:24px 18px}
}
.ev-form [hidden]{display:none!important}
.ev-confirming .cookie-banner{display:none!important}
.ev-confirm-back{display:inline-flex;margin-top:20px}
/* Gewinnbestätigung: Konfetti + Ticket */
.ev-gewinn{text-align:center;padding:24px 0 8px}
.ev-gewinn__emoji{font-size:56px;line-height:1;margin:0;animation:ev-pop .7s cubic-bezier(.2,1.6,.4,1) both}
.ev-gewinn__title{margin:18px 0 0;font-size:clamp(1.6rem,4vw,2.2rem);font-weight:800;letter-spacing:-.01em;color:var(--text-strong)}
.ev-gewinn__lead{margin:10px auto 0;max-width:460px;color:var(--text-muted);font-size:1.05rem}
.ev-gewinn__next{margin:28px auto 0;max-width:480px;color:var(--text-body);line-height:1.6}
.ev-gewinn__next a{color:var(--text-link)}
.ev-gewinn__btn{margin-top:20px}
@keyframes ev-pop{0%{transform:scale(.2) rotate(-20deg);opacity:0}100%{transform:none;opacity:1}}
.ticket{display:flex;margin:32px auto 0;max-width:600px;text-align:left;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg,#004e8c,#0068b8 60%,#1a7fd0);color:#fff;box-shadow:0 18px 40px rgba(0,78,140,.32);
  animation:ev-ticket .8s .15s cubic-bezier(.2,1.2,.4,1) both}
@keyframes ev-ticket{0%{transform:translateY(24px) rotate(-2deg);opacity:0}100%{transform:none;opacity:1}}
.ticket__main{flex:1;padding:26px 28px;position:relative}
.ticket__eyebrow{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.16em;color:#ffb38a}
.ticket__event{margin:8px 0 18px;font-size:1.45rem;font-weight:800;line-height:1.2}
.ticket__grid{display:grid;grid-template-columns:1fr 1fr;gap:14px 20px}
.ticket__grid span{display:block;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;opacity:.75}
.ticket__grid b{display:block;margin-top:3px;font-size:.98rem;font-weight:600;word-break:break-word}
.ticket__stub{width:130px;flex-shrink:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:18px 10px;
  background:#f26a1b;position:relative;border-left:2px dashed rgba(255,255,255,.55);text-align:center}
.ticket__stub::before,.ticket__stub::after{content:"";position:absolute;left:-13px;width:24px;height:24px;border-radius:50%;background:var(--surface-card,#fff)}
.ticket__stub::before{top:-12px}.ticket__stub::after{bottom:-12px}
.ticket__stub span{font-size:34px}
.ticket__stub b{font-family:var(--font-mono);font-size:.78rem;letter-spacing:.04em}
.ticket__stub small{font-size:.62rem;font-weight:700;letter-spacing:.2em;opacity:.85}
@media (max-width:560px){
  .ticket{flex-direction:column}
  .ticket__stub{width:auto;flex-direction:row;border-left:0;border-top:2px dashed rgba(255,255,255,.55)}
  .ticket__stub::before,.ticket__stub::after{left:auto;top:-13px}
  .ticket__stub::before{left:-12px}.ticket__stub::after{right:-12px;bottom:auto}
  .ticket__main{padding:22px 20px}
}
.confetti{position:fixed;inset:0;width:100%;height:100%;pointer-events:none;z-index:400;display:none}
@media (prefers-reduced-motion:reduce){.ev-gewinn__emoji,.ticket{animation:none}}
#ev-gewinn{scroll-margin-top:150px}
