/* ============================================================
   MEDIACODERS — Stylesheet
   Schriften, Basis-Styles, Hover-Effekte, Animationen, Responsive
   ============================================================ */

/* ---- Schriften (lokal, DSGVO-konform) ---- */
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/PlusJakartaSans-Regular.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/PlusJakartaSans-Medium.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/PlusJakartaSans-SemiBold.ttf') format('truetype')}
@font-face{font-family:'Plus Jakarta Sans';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/PlusJakartaSans-Bold.ttf') format('truetype')}
@font-face{font-family:'TASA Explorer';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/TASAExplorer-Regular.ttf') format('truetype')}
@font-face{font-family:'TASA Explorer';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/TASAExplorer-Medium.ttf') format('truetype')}
@font-face{font-family:'TASA Explorer';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/TASAExplorer-SemiBold.ttf') format('truetype')}
@font-face{font-family:'TASA Explorer';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/TASAExplorer-Bold.ttf') format('truetype')}

/* ---- Basis ---- */
*{box-sizing:border-box}
body{margin:0}
img{max-width:100%}
input::placeholder,textarea::placeholder{color:#94a3b8}

/* ---- Animationen ---- */
@keyframes mcshimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@keyframes mcpulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.3;transform:scale(.6)}}

/* ---- Scroll-Reveal ---- */
.reveal{opacity:0;transform:translateY(26px);transition:opacity .7s cubic-bezier(.4,0,.2,1),transform .7s cubic-bezier(.4,0,.2,1)}
.reveal.in{opacity:1;transform:none}

/* ---- Navigation ---- */
.nav{background:rgba(255,255,255,0.6);box-shadow:none;border-bottom:1px solid rgba(226,232,240,0.5);transition:background .3s,box-shadow .3s,border-color .3s}
.nav.scrolled{background:rgba(255,255,255,0.85);box-shadow:0 6px 24px rgba(15,23,42,0.06);border-bottom:1px solid rgba(226,232,240,0.9)}
.nav-link{transition:color .2s}
.nav-link:hover{color:#14b8a6}
.cta-pill{transition:transform .3s,box-shadow .3s}
.cta-pill:hover{transform:translateY(-2px);box-shadow:0 12px 26px rgba(20,184,166,.36)}

/* ---- Buttons ---- */
.btn-primary{transition:transform .3s,box-shadow .3s}
.btn-primary:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(20,184,166,.34)}
.btn-ghost{transition:border-color .3s,color .3s}
.btn-ghost:hover{border-color:#14b8a6;color:#0d9488}

/* ---- Karten ---- */
.solution-card{transition:transform .55s cubic-bezier(.4,0,.2,1),box-shadow .55s cubic-bezier(.4,0,.2,1),opacity .55s cubic-bezier(.4,0,.2,1)}
.solution-card:hover{transform:translateY(-8px);box-shadow:inset 0 3px 0 #14b8a6,0 22px 60px rgba(20,184,166,.14)}
.article-card{transition:transform .55s cubic-bezier(.4,0,.2,1),box-shadow .55s cubic-bezier(.4,0,.2,1),opacity .55s cubic-bezier(.4,0,.2,1)}
.article-card:hover{transform:translateY(-8px);box-shadow:0 22px 60px rgba(15,23,42,.10)}
.contact-card{transition:box-shadow .3s,transform .3s}
.contact-card:hover{box-shadow:0 14px 34px rgba(20,184,166,.12);transform:translateY(-2px)}

/* ---- Footer-Links ---- */
.footer-link{transition:color .2s,padding-left .2s}
.footer-link:hover{color:#5eead4;padding-left:4px}

/* ---- Rechtliche Seiten ---- */
.legal-link{transition:color .2s}
.legal-link:hover{color:#0d9488}

/* ---- Formular ---- */
.mc-input{padding:14px 16px;border-radius:12px;border:1px solid #e2e8f0;background:#f8fafc;font-family:inherit;font-size:15px;color:#0f172a;outline:none;transition:border-color .2s,background .2s;width:100%}
.mc-input:focus{border-color:#14b8a6;background:#fff}
.mc-input.error{border-color:#ef4444;background:#fef2f2}
.mc-field-error{display:flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;color:#ef4444;margin-top:2px}
.mc-form-error{display:flex;align-items:flex-start;gap:8px;font-size:13px;font-weight:500;color:#ef4444;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:12px 14px;margin-top:2px}
.hidden{display:none!important}

/* ---- Responsive ---- */
[data-nav-desktop]{display:flex}
[data-hamburger]{display:none}
@media(max-width:900px){
  [data-nav-desktop]{display:none!important}
  [data-hamburger]{display:inline-flex!important}
}
@media(max-width:640px){
  [data-container]{padding-left:22px!important;padding-right:22px!important}
  [data-section]{padding-top:76px!important;padding-bottom:76px!important}
}
