:root{
  --bg:#f6f7fb;
  --card:#ffffff;
  --text:#0f172a;
  --muted:#475569;
  --line:rgba(15,23,42,.10);

  --brand:#c1121f;
  --brand-dark:#8a0d14;

  --shadow:0 14px 34px rgba(15,23,42,.08);
  --radius:18px;
  --radius-big:26px;
  --max:1040px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}

body{
  margin:0;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  color:var(--text);
  background:
    linear-gradient(0deg, rgba(246,247,251,.94), rgba(246,247,251,.94)),
    url("background.png");
  background-size: cover;
  background-position: center;
  background-attachment: fixed;
  line-height:1.55;
}

a{color:inherit;text-decoration:none}
.wrap{max-width:var(--max);margin:0 auto;padding:0 18px}

/* ================= HEADER ================= */

.topbar{
  position:sticky;
  top:0;
  z-index:1000;
  backdrop-filter: blur(10px);
  background: rgba(255,255,255,.78);
  border-bottom:1px solid var(--line);
}

/* optional: wenn du die rote Linie als Element nutzt */
.accentbar{
  height:4px;
  background: var(--brand);
  box-shadow: 0 8px 22px rgba(193,18,31,.18);
}

.topbar-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:12px 0;
  gap:14px;
}

/* Logo alleine links (falls du es irgendwo wieder nutzt) */
.brand{
  display:flex;
  align-items:center;
  flex:0 0 auto;
}

.brand .logo-only{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 12px;
  border-radius:14px;
  border:1px solid rgba(193,18,31,.20);
  background: rgba(193,18,31,.06);

  max-width: 280px;
  max-height: 86px;
  overflow:hidden;
}

.brand .logo-only img{
  display:block;
  max-width: 100%;
  max-height: 70px;
  width:auto;
  height:auto;
  object-fit: contain;
}

@media (max-width: 720px){
  .brand .logo-only{max-width: 210px; max-height: 76px;}
  .brand .logo-only img{max-height: 58px;}
}

/* Navigation */
nav{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:flex-end;
}

.pill{
  padding:9px 12px;
  border-radius:999px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.75);
  font-size:13px;
}

.pill:hover{background: rgba(255,255,255,.95);}

.pill.cta{
  border-color: rgba(193,18,31,.35);
  background: rgba(193,18,31,.10);
  color: var(--brand);
  font-weight:900;
}

/* ================= SECTIONS ================= */

section{padding:26px 0}

.hero{padding:42px 0 12px}

.hero-card{
  background: rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius: var(--radius-big);
  box-shadow: var(--shadow);
  padding:22px;
}

h1{
  margin:0 0 10px;
  font-size:clamp(26px,3vw,40px);
  line-height:1.15;
}

.lead{
  margin:0;
  color:var(--muted);
  max-width:70ch;
}

.actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:14px;
}

.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:11px 14px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.80);
  font-weight:900;
}

.btn:hover{background: rgba(255,255,255,.96);}

.btn.primary{
  border-color: rgba(193,18,31,.35);
  background: rgba(193,18,31,.10);
  color: var(--brand);
}

/* Headings */
.head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:12px;
}

.head h2{
  margin:0;
  font-size:clamp(18px,2vw,26px);
}

.head p{
  margin:0;
  color:var(--muted);
  max-width:70ch;
}

/* Cards */
.grid3{
  display:grid;
  gap:12px;
  grid-template-columns:repeat(3,1fr);
}

.card{
  background: rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
  padding:16px;
}

.card h3{
  margin:0 0 6px;
  font-size:16px;
}

.card p{
  margin:0;
  color:var(--muted);
  font-size:14px;
}

/* ================= ÜBER UNS ================= */

.about{
  display:grid;
  gap:12px;
  grid-template-columns:180px 1fr;
  align-items:start;
}

.photo{
  width:180px;
  height:220px;
  object-fit:cover;
  border-radius:18px;
  border:1px solid var(--line);
  box-shadow: var(--shadow);
  background:#fff;
}

/* Logo2 neben Text */
.logo2-inline{
  display:flex;
  align-items:center;
  gap:12px;
  flex-wrap:wrap;
  margin-bottom:10px;
}

.logo2-inline img{
  height:180px;
  width:auto;
  display:block;
}

/* ================= NEWS ================= */

.newslist{display:grid;gap:10px}

.newsitem{
  background: rgba(255,255,255,.88);
  border:1px solid var(--line);
  border-radius:16px;
  box-shadow: var(--shadow);
  padding:12px 14px;
}

.newsitem strong{display:block}

.newsmeta{
  font-size:12px;
  color:var(--muted);
  margin-top:4px;
}

/* ================= FORM ================= */

.form{
  background: rgba(255,255,255,.92);
  border:1px solid var(--line);
  border-radius: var(--radius-big);
  box-shadow: var(--shadow);
  padding:16px;
}

.row{
  display:grid;
  gap:10px;
  grid-template-columns:1fr 1fr;
}

label{
  display:block;
  font-size:13px;
  color:var(--muted);
  margin-bottom:6px;
}

input, textarea, select{
  width:100%;
  padding:12px;
  border-radius:14px;
  border:1px solid rgba(15,23,42,.12);
  background: rgba(255,255,255,.96);
  color:var(--text);
}

textarea{
  min-height:120px;
  resize:vertical;
}

.help{
  font-size:12px;
  color:var(--muted);
  margin-top:6px;
}

.alert{
  border:1px solid var(--line);
  background: rgba(255,255,255,.88);
  border-radius:14px;
  padding:12px;
  margin-bottom:10px;
  font-size:14px;
}

.alert.ok{
  border-color: rgba(22,163,74,.30);
  background: rgba(22,163,74,.06);
}

.alert.bad{
  border-color: rgba(220,38,38,.30);
  background: rgba(220,38,38,.06);
}

/* ================= FOOTER ================= */

footer{
  border-top:1px solid var(--line);
  background: rgba(255,255,255,.75);
  padding:18px 0 26px;
  color:var(--muted);
  font-size:13px;
}

.footer-inner{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}

.footer-logo{
  display:flex;
  align-items:center;
  gap:10px;
}

.footer-logo img{
  height:30px;
  width:auto;
  display:block;
}

@media (max-width: 720px){
  .footer-inner{justify-content:center;text-align:center;}
  .footer-logo{justify-content:center;width:100%;}
}

/* ================= RED ACCENT CARDS ================= */
/* Leicht leuchtender roter Rand für alle Karten */
.card,
.hero-card,
.form,
.newsitem{
  border:1px solid rgba(193,18,31,.22);
  box-shadow:
    0 0 0 1px rgba(193,18,31,.08),
    0 10px 28px rgba(15,23,42,.08),
    0 0 22px rgba(193,18,31,.10);
}

.card:hover,
.newsitem:hover{
  border-color: rgba(193,18,31,.35);
  box-shadow:
    0 0 0 1px rgba(193,18,31,.14),
    0 14px 36px rgba(15,23,42,.10),
    0 0 28px rgba(193,18,31,.16);
}

/* ================= RESPONSIVE ================= */

@media (max-width:900px){
  .grid3{grid-template-columns:1fr}
  .row{grid-template-columns:1fr}
  .about{grid-template-columns:1fr}
  .photo{width:100%;height:280px}
}

@media (prefers-reduced-motion:reduce){
  *{scroll-behavior:auto;transition:none}
  body{background-attachment:scroll}
}
