/* === ESV Schweinfurt - zentrales Design === */
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
:root{
  --esv-primary:#0b3d91;
  --esv-primary-dark:#082a66;
  --esv-accent:#e63946;
  --esv-bg:#f7f8fa;
  --esv-text:#1f2937;
  --esv-muted:#6b7280;
  --esv-border:#e5e7eb;
  --radius:10px;
  --shadow:0 4px 14px rgba(0,0,0,.08);
  --max-width:1140px;
}
html{scroll-behavior:smooth}
body{
  font-family:'Inter','Segoe UI',Roboto,'Helvetica Neue',Arial,sans-serif;
  color:var(--esv-text);
  background:var(--esv-bg);
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
a{color:var(--esv-primary);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.container{max-width:var(--max-width);margin:0 auto;padding:0 1.25rem}

/* Header */
.site-header{background:#fff;border-bottom:1px solid var(--esv-border);
  position:sticky;top:0;z-index:100}
.site-header .bar{display:flex;align-items:center;justify-content:space-between;padding:.9rem 0}
.brand{display:flex;align-items:center;gap:.75rem;font-weight:700;color:var(--esv-primary)}
.brand-logo{width:44px;height:44px;border-radius:50%;background:var(--esv-primary);
  color:#fff;display:grid;place-items:center;font-weight:700}
.nav a{margin-left:1.25rem;color:var(--esv-text);font-weight:500}
.nav a.active,.nav a:hover{color:var(--esv-primary)}
.nav-toggle{display:none;background:none;border:0;font-size:1.6rem;cursor:pointer}
@media(max-width:820px){
  .nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;
       border-bottom:1px solid var(--esv-border);flex-direction:column;padding:1rem}
  .nav.open{display:flex}
  .nav a{margin:.4rem 0}
  .nav-toggle{display:block}
}

/* Page head */
.page-head{background:linear-gradient(135deg,var(--esv-primary),var(--esv-primary-dark));
  color:#fff;padding:3rem 0 2.5rem;text-align:center}
.page-head h1{font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:.5rem}
.page-head p{opacity:.9}

/* Content */
main{padding:2.5rem 0 3.5rem}
.card{background:#fff;border:1px solid var(--esv-border);border-radius:var(--radius);
  box-shadow:var(--shadow);padding:2rem;margin-bottom:1.5rem}
.card h2{color:var(--esv-primary);margin-bottom:.75rem;font-size:1.35rem}
.card h3{margin:1.25rem 0 .4rem;font-size:1.05rem;color:var(--esv-primary-dark)}
.card p,.card li{margin-bottom:.5rem}
.card ul{padding-left:1.25rem}

/* Buttons */
.btn{display:inline-block;padding:.75rem 1.4rem;border-radius:var(--radius);
  background:var(--esv-accent);color:#fff;font-weight:600;border:0;cursor:pointer;
  transition:transform .15s;margin-right:.5rem;margin-top:.5rem}
.btn:hover{transform:translateY(-2px);text-decoration:none;color:#fff}
.btn.secondary{background:var(--esv-primary)}

/* Formulare */
.form-row{display:flex;flex-direction:column;margin-bottom:1rem}
.form-row label{font-weight:600;margin-bottom:.25rem}
.form-row input,.form-row textarea,.form-row select{
  padding:.7rem .9rem;border:1px solid var(--esv-border);border-radius:8px;font:inherit}
.form-row input:focus,.form-row textarea:focus{
  outline:2px solid var(--esv-primary);border-color:var(--esv-primary)}

/* Consent-Box fuer Google Maps */
.consent-box{background:#eef2ff;border:1px dashed var(--esv-primary);
  border-radius:var(--radius);padding:1.5rem;text-align:center}
.consent-box p{margin-bottom:1rem}

/* Footer */
.site-footer{background:#0f172a;color:#cbd5e1;padding:2.5rem 0 1rem;margin-top:3rem}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}
.site-footer h4{color:#fff;margin-bottom:.75rem;font-size:1rem}
.site-footer a{color:#cbd5e1}
.site-footer a:hover{color:#fff}
.footer-bottom{border-top:1px solid #1e293b;margin-top:1.5rem;padding-top:1rem;
  text-align:center;font-size:.875rem;color:#94a3b8}
