/* Generic page styles for Kontakt/Über uns/Legal */
.kontakt-page,.ueber-page,.legal-page{max-width:1100px; margin:56px auto; padding:0 16px}
.kontakt-page h1,.ueber-page h1,.legal-page h1{font-size:clamp(28px,4vw,48px); text-align:center; margin-bottom:16px; text-shadow:0 0 18px rgba(139,92,246,.4)}
.lead{text-align:center; opacity:.9; margin-bottom:18px}

.contact-grid{display:grid; gap:16px; grid-template-columns: 1.2fr .8fr}
.contact-card,.info-card,.legal-box,.about-card{background:#0f0f13; border:1px solid rgba(139,92,246,.25); border-radius:16px; padding:16px; box-shadow:0 0 18px rgba(139,92,246,.18)}
.contact-card .row{display:grid; gap:6px; margin-bottom:10px}
.contact-card input[type="text"], .contact-card input[type="email"], .contact-card input[type="tel"], .contact-card textarea{
  border:1px solid rgba(139,92,246,.25); background:#0b0b10; color:#efeff5; padding:10px 12px; border-radius:12px; outline:none
}
.contact-card .check label{display:flex; gap:8px; align-items:flex-start}
.contact-card .actions{display:flex; gap:10px; flex-wrap:wrap}
.notice{background:rgba(139,92,246,.12); border:1px solid rgba(139,92,246,.3); padding:10px 12px; border-radius:12px}

.about-grid{display:grid; gap:16px; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); margin-top:14px}
.cta-center{display:flex; gap:10px; justify-content:center; margin-top:16px}

@media (max-width: 900px){
  .contact-grid{grid-template-columns: 1fr}
}
