/* ============================================================
   GETTYGO Messe-Kiosk – TIRE COLOGNE
   Optimiert für iPad Air 13" Querformat (1366 × 1024 pt)
   Brand: Grün #8dc044 / #7db038 · Grau #5b5b5b · Font MontBlanc
   ============================================================ */

/* ---- Fonts ---- */
@font-face{font-family:'MontBlanc';font-weight:400;font-style:normal;font-display:swap;
  src:url('/assets/fonts/montblanc-regular.woff2') format('woff2'),url('/assets/fonts/montblanc-regular.woff') format('woff');}
@font-face{font-family:'MontBlanc';font-weight:700;font-style:normal;font-display:swap;
  src:url('/assets/fonts/montblanc-bold.woff2') format('woff2'),url('/assets/fonts/montblanc-bold.woff') format('woff');}

:root{
  --green:#8dc044;
  --green-dark:#7db038;
  --green-glow:rgba(141,192,68,.45);
  --ink:#11151a;
  --panel:#1b1f24;
  --panel-2:#23282f;
  --line:rgba(255,255,255,.08);
  --text:#eef1f4;
  --muted:#9aa3ad;
  --radius:18px;
  --radius-lg:26px;
  --gap:clamp(16px,2.2vw,28px);
  font-size:clamp(15px,1.35vw,19px);
}

*{margin:0;padding:0;box-sizing:border-box;-webkit-tap-highlight-color:transparent;}
html,body{height:100%;width:100%;overflow:hidden;}
body{
  font-family:'MontBlanc','Segoe UI','Helvetica Neue',Arial,sans-serif;
  background:var(--ink);color:var(--text);
  -webkit-font-smoothing:antialiased;
  -webkit-user-select:none;user-select:none;-webkit-touch-callout:none;
  overscroll-behavior:none;touch-action:manipulation;
}
button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit;}

/* ---- Buttons ---- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.5em;
  border-radius:999px;font-weight:700;letter-spacing:.01em;line-height:1;
  padding:.85em 1.5em;font-size:1rem;transition:transform .12s ease,box-shadow .2s ease,background .2s ease;
  white-space:nowrap;
}
.btn:active{transform:scale(.96);}
.btn--lg{padding:1.05em 2em;font-size:1.12rem;}
.btn--block{width:100%;}
.btn--primary{background:var(--green);color:#fff;box-shadow:0 10px 30px -8px var(--green-glow);}
.btn--primary:active{background:var(--green-dark);}
.btn--ghost{background:rgba(255,255,255,.06);color:var(--text);border:1.5px solid var(--line);}

.accent{color:var(--green);}

/* ============================================================
   IDLE / SCREENSAVER
   ============================================================ */
.idle{
  position:fixed;inset:0;z-index:100;background:#000;
  display:flex;align-items:center;justify-content:center;
  opacity:1;transition:opacity .6s ease;
}
body:not(.is-idle) .idle{opacity:0;pointer-events:none;}
.idle__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.idle__fallback{position:absolute;inset:0;background:
  radial-gradient(120% 90% at 50% 0%,#222a30 0%,#0d1013 60%,#000 100%);}
.idle__glow{position:absolute;inset:0;
  background:radial-gradient(40% 40% at 50% 45%,var(--green-glow),transparent 70%);
  animation:breathe 6s ease-in-out infinite;}
@keyframes breathe{0%,100%{opacity:.5;transform:scale(1);}50%{opacity:1;transform:scale(1.15);}}

.idle__overlay{position:relative;z-index:2;text-align:center;
  display:flex;flex-direction:column;align-items:center;gap:2.2rem;
  padding:3rem;
  text-shadow:0 4px 30px rgba(0,0,0,.7);}
.idle__logo{width:min(46vw,560px);filter:drop-shadow(0 8px 40px rgba(0,0,0,.6));}
.idle__claim{font-size:clamp(1.1rem,2.4vw,1.9rem);color:#fff;font-weight:700;}
.idle__hint{display:flex;align-items:center;gap:1rem;margin-top:1rem;
  font-size:clamp(1rem,1.8vw,1.4rem);color:#fff;font-weight:700;
  background:rgba(141,192,68,.18);border:1.5px solid var(--green);
  padding:.7em 1.4em;border-radius:999px;animation:hintpulse 2.4s ease-in-out infinite;}
.idle__hint-ring{width:1.1em;height:1.1em;border-radius:50%;border:2px solid var(--green);
  position:relative;}
.idle__hint-ring::after{content:'';position:absolute;inset:-6px;border-radius:50%;
  border:2px solid var(--green);animation:ripple 2.4s ease-out infinite;}
@keyframes hintpulse{0%,100%{transform:scale(1);}50%{transform:scale(1.05);}}
@keyframes ripple{0%{opacity:.8;transform:scale(.6);}100%{opacity:0;transform:scale(1.6);}}

/* ============================================================
   APP / INTERAKTIV
   ============================================================ */
.app{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;
  opacity:0;transition:opacity .5s ease .1s;background:var(--ink);
  background-image:radial-gradient(80% 60% at 100% 0%,rgba(141,192,68,.10),transparent 60%);}
body:not(.is-idle) .app{opacity:1;}

/* Topbar */
.topbar{display:flex;align-items:center;justify-content:space-between;
  padding:1rem clamp(1.2rem,3vw,2.5rem);border-bottom:1px solid var(--line);flex:0 0 auto;}
.topbar__logo{height:clamp(34px,4.2vw,52px);width:auto;}
.topbar__right{display:flex;align-items:center;gap:1rem;}
.lang{display:flex;background:rgba(255,255,255,.06);border:1px solid var(--line);border-radius:999px;padding:3px;}
.lang__btn{padding:.5em 1em;border-radius:999px;font-weight:700;font-size:.95rem;color:var(--muted);}
.lang__btn.is-active{background:var(--green);color:#fff;}

/* Layout */
.layout{flex:1 1 auto;display:flex;min-height:0;}

/* Nav */
.nav{flex:0 0 clamp(220px,22vw,300px);display:flex;flex-direction:column;gap:.6rem;
  padding:clamp(1.2rem,2.5vw,2rem) clamp(.8rem,1.5vw,1.2rem);border-right:1px solid var(--line);}
.nav__item{display:flex;align-items:center;gap:.9rem;text-align:left;
  padding:1.05em 1.1em;border-radius:var(--radius);font-size:1.05rem;font-weight:700;
  color:var(--muted);background:transparent;transition:background .18s,color .18s,transform .1s;}
.nav__item:active{transform:scale(.97);}
.nav__item.is-active{background:var(--panel-2);color:var(--text);}
.nav__icon{display:grid;place-items:center;width:2.2em;height:2.2em;flex:0 0 auto;
  border-radius:12px;background:rgba(255,255,255,.06);color:var(--green);font-size:1rem;}
.nav__item.is-active .nav__icon{background:var(--green);color:#fff;}
.nav__item--cta{margin-top:auto;background:var(--green);color:#fff;}
.nav__item--cta .nav__icon{background:rgba(255,255,255,.25);color:#fff;}
.nav__item--cta.is-active{background:var(--green-dark);}

/* Content / Screens */
.content{flex:1 1 auto;position:relative;overflow:hidden;}
.screen{position:absolute;inset:0;overflow-y:auto;-webkit-overflow-scrolling:touch;
  padding:clamp(1.6rem,3.5vw,3.2rem);
  opacity:0;visibility:hidden;transform:translateY(14px);
  transition:opacity .35s ease,transform .35s ease,visibility .35s;}
.screen.is-active{opacity:1;visibility:visible;transform:none;}
.screen__title{font-size:clamp(1.8rem,3.6vw,2.8rem);font-weight:700;margin-bottom:.4em;}
.screen__lead{font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--muted);max-width:46ch;margin-bottom:1.8rem;line-height:1.5;}

/* Hero */
.hero{max-width:48rem;padding-top:clamp(1rem,4vh,3rem);}
.hero__kicker{display:inline-block;color:var(--green);font-weight:700;letter-spacing:.08em;
  font-size:.95rem;text-transform:uppercase;margin-bottom:1rem;
  border:1px solid var(--green);border-radius:999px;padding:.4em 1em;}
.hero__title{font-size:clamp(2.4rem,6vw,4.4rem);font-weight:700;line-height:1.02;letter-spacing:-.02em;margin-bottom:.6em;}
.hero__lead{font-size:clamp(1.1rem,2vw,1.45rem);color:var(--muted);line-height:1.5;max-width:40ch;margin-bottom:2rem;}
.hero__actions{display:flex;gap:1rem;flex-wrap:wrap;margin-bottom:2.6rem;}
.hero__stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;max-width:42rem;}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1rem;text-align:center;}
.stat__num{font-size:clamp(1.4rem,2.8vw,2.1rem);font-weight:700;color:var(--green);line-height:1;}
.stat__lbl{font-size:.85rem;color:var(--muted);margin-top:.4em;}

/* Cards */
.cards{display:grid;gap:var(--gap);}
.cards--2{grid-template-columns:repeat(2,1fr);}
.cards--3{grid-template-columns:repeat(3,1fr);}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius-lg);
  padding:clamp(1.3rem,2vw,1.8rem);}
.card__icon{font-size:2.2rem;margin-bottom:.6rem;}
.card h3{font-size:1.25rem;font-weight:700;margin-bottom:.4em;}
.card p{color:var(--muted);line-height:1.5;font-size:1rem;}
.card--feature{position:relative;border-left:4px solid var(--green);}
.card__tag{display:inline-block;background:rgba(141,192,68,.16);color:var(--green);
  font-weight:700;font-size:.82rem;padding:.35em .9em;border-radius:999px;margin-bottom:.8rem;}

/* Benefits */
.benefits{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:1rem 2rem;max-width:54rem;}
.benefits li{display:flex;align-items:flex-start;gap:.9rem;font-size:1.12rem;line-height:1.4;
  background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1.1rem 1.2rem;}
.benefits__check{flex:0 0 auto;display:grid;place-items:center;width:1.7em;height:1.7em;border-radius:50%;
  background:var(--green);color:#fff;font-weight:700;font-size:.9rem;}
.benefits__cta{margin-top:2rem;}

/* ---- Lead-Formular ---- */
.screen--form{max-width:none;}
.lead-form{max-width:46rem;display:flex;flex-direction:column;gap:1.1rem;}
.lead-form__row{display:grid;grid-template-columns:1fr 1fr;gap:1.1rem;}
.field{display:flex;flex-direction:column;gap:.45rem;}
.field label{font-size:.95rem;font-weight:700;color:var(--muted);}
.field input,.field select{
  background:var(--panel-2);border:1.5px solid var(--line);border-radius:14px;
  padding:1em 1.1em;font-size:1.1rem;color:var(--text);width:100%;transition:border-color .15s;
}
.field input:focus,.field select:focus{outline:none;border-color:var(--green);}
.field select{appearance:none;-webkit-appearance:none;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239aa3ad' stroke-width='3'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 1.1em center;padding-right:2.8em;}
.field input.invalid,.field select.invalid{border-color:#e2574c;}
.consent{display:flex;align-items:flex-start;gap:.8rem;font-size:1rem;color:var(--muted);line-height:1.4;cursor:pointer;}
.consent input{flex:0 0 auto;width:1.5em;height:1.5em;margin-top:.1em;accent-color:var(--green);}
.lead-form__note{font-size:.85rem;color:var(--muted);}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0;}

.lead-success{max-width:34rem;text-align:center;padding:3rem 1rem;display:flex;flex-direction:column;align-items:center;gap:1rem;}
.lead-success__check{width:5rem;height:5rem;border-radius:50%;background:var(--green);color:#fff;
  display:grid;place-items:center;font-size:2.6rem;font-weight:700;animation:pop .4s ease;}
@keyframes pop{0%{transform:scale(0);}70%{transform:scale(1.15);}100%{transform:scale(1);}}
.lead-success h3{font-size:2rem;}
.lead-success p{color:var(--muted);font-size:1.2rem;}

/* Botbar */
.botbar{flex:0 0 auto;display:flex;justify-content:space-between;align-items:center;
  padding:.7rem clamp(1.2rem,3vw,2.5rem);border-top:1px solid var(--line);
  color:var(--muted);font-size:.92rem;}
.botbar__url{color:var(--green);font-weight:700;}

/* Hochformat-Fallback (falls Gerät doch gedreht wird) */
@media (orientation:portrait){
  .layout{flex-direction:column;}
  .nav{flex:0 0 auto;flex-direction:row;overflow-x:auto;border-right:none;border-bottom:1px solid var(--line);}
  .nav__item{flex:0 0 auto;}
  .nav__item--cta{margin-top:0;margin-left:auto;}
  .cards--3,.cards--2{grid-template-columns:1fr;}
  .hero__stats{grid-template-columns:repeat(2,1fr);}
  .benefits{grid-template-columns:1fr;}
  .lead-form__row{grid-template-columns:1fr;}
}

/* Tastatur offen / niedrige Höhe */
@media (max-height:560px){
  .topbar,.botbar{padding-top:.5rem;padding-bottom:.5rem;}
  .hero__stats{display:none;}
}
