/* Froschteich – gemeinsames Layout für Rechtsseiten
   Schrift wird lokal geladen (keine Verbindung zu Google). */
@font-face{
  font-family:"Inter";
  src:url("../fonts/inter.woff2") format("woff2");
  font-weight:100 900;
  font-style:normal;
  font-display:swap;
}

:root{
  --panel2:rgba(255,255,255,0.04);
  --border:rgba(255,255,255,0.12);
  --text:rgba(255,255,255,0.92);
  --muted:rgba(255,255,255,0.74);
  --muted2:rgba(255,255,255,0.58);
  --accent:#2ee58f;
  --accent2:#15b86d;
  --shadow:0 18px 50px rgba(0,0,0,0.45);
  --radius:18px;
  --radius2:14px;
  --max:980px;
}

*{box-sizing:border-box}
html,body{min-height:100%}
body{
  margin:0;
  font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;
  color:var(--text);
  background-color:#0b0f0d;
  background:
    radial-gradient(900px 600px at 15% 10%, rgba(46,229,143,0.12), transparent 55%),
    radial-gradient(700px 520px at 90% 0%, rgba(46,229,143,0.08), transparent 55%),
    radial-gradient(700px 520px at 70% 90%, rgba(46,229,143,0.05), transparent 60%),
    linear-gradient(180deg, #070a08 0%, #0b0f0d 35%, #070a08 100%);
  background-attachment:fixed;
  overflow-x:hidden;
}

a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
a:focus-visible,button:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:6px}

.wrap{max-width:var(--max);margin:0 auto;padding:42px 18px 60px}

/* Kopfzeile */
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px;flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:12px;min-width:220px}
.logo{
  width:44px;height:44px;border-radius:14px;flex:0 0 auto;
  background:
    radial-gradient(18px 18px at 30% 30%, rgba(255,255,255,0.35), transparent 60%),
    linear-gradient(135deg, rgba(46,229,143,0.9), rgba(21,184,109,0.75));
  box-shadow:0 10px 28px rgba(46,229,143,0.18);
  border:1px solid rgba(255,255,255,0.10);
  position:relative;overflow:hidden;
}
.logo:after{
  content:"";position:absolute;inset:-40%;
  background:conic-gradient(from 220deg, rgba(255,255,255,0), rgba(255,255,255,0.28), rgba(255,255,255,0));
  animation:spin 6.5s linear infinite;
}
@keyframes spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion: reduce){ .logo:after{animation:none} }

.titlebox h1{margin:0;font-size:clamp(22px,3vw,30px);letter-spacing:-0.02em}
.titlebox p{margin:6px 0 0;color:var(--muted);font-size:13.5px;line-height:1.35}

.actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap;justify-content:flex-end}

.btn{
  appearance:none;border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,0.09), rgba(255,255,255,0.05));
  color:var(--text);
  padding:10px 12px;border-radius:999px;
  font:inherit;font-weight:600;font-size:13px;cursor:pointer;
  display:inline-flex;align-items:center;gap:8px;
  box-shadow:0 10px 28px rgba(0,0,0,0.22);
  transition:transform .12s ease,border-color .12s ease,background .12s ease;
  user-select:none;text-decoration:none;
}
.btn:hover{
  transform:translateY(-1px);
  border-color:rgba(46,229,143,0.35);
  background:linear-gradient(180deg, rgba(46,229,143,0.12), rgba(255,255,255,0.04));
  text-decoration:none;
}
.btn:active{transform:translateY(0) scale(0.99)}
.btn .dot{width:9px;height:9px;border-radius:99px;background:var(--accent);box-shadow:0 0 0 6px rgba(46,229,143,0.12)}
.btn[aria-current="page"]{border-color:rgba(46,229,143,0.45)}

/* Inhaltsbox */
.hero{
  border:1px solid var(--border);
  background:linear-gradient(180deg, rgba(255,255,255,0.07), rgba(255,255,255,0.03));
  border-radius:var(--radius);
  padding:22px;
  box-shadow:var(--shadow);
  position:relative;overflow:hidden;
}
.hero:before{
  content:"";position:absolute;inset:-2px;pointer-events:none;
  background:
    radial-gradient(420px 180px at 30% 0%, rgba(46,229,143,0.14), transparent 70%),
    radial-gradient(360px 160px at 90% 10%, rgba(46,229,143,0.10), transparent 68%);
}
.content{position:relative;z-index:1}
@media (max-width:520px){ .hero{padding:14px} }

.hero-logo{display:flex;justify-content:center;margin-bottom:18px}
.hero-logo img{
  max-width:140px;width:100%;height:auto;border-radius:16px;padding:12px;
  background:
    radial-gradient(120px 60px at 30% 20%, rgba(255,255,255,0.35), transparent 60%),
    linear-gradient(135deg, var(--accent), var(--accent2));
  box-shadow:0 14px 40px rgba(46,229,143,0.35), inset 0 0 0 1px rgba(255,255,255,0.35);
}

.grid{display:grid;gap:14px;grid-template-columns:1fr}
@media (min-width:860px){ .grid{grid-template-columns:1.15fr 0.85fr} }
.grid > *{min-width:0}

.card{
  border:1px solid var(--border);
  background:rgba(0,0,0,0.20);
  border-radius:var(--radius2);
  padding:18px;
  box-shadow:0 14px 34px rgba(0,0,0,0.28);
}
.stack{display:flex;flex-direction:column;gap:12px}
aside.card{align-self:start}
@media (min-width:860px){ aside.card{position:sticky;top:18px} }

h2{margin:0 0 12px;font-size:16px;letter-spacing:-0.01em;display:flex;align-items:center;gap:10px;flex-wrap:wrap}
h2 .pill{
  font-size:11px;font-weight:700;color:rgba(0,0,0,0.78);
  background:linear-gradient(135deg, var(--accent), var(--accent2));
  padding:6px 10px;border-radius:999px;
}
h3{margin:22px 0 8px;font-size:14.5px;color:rgba(255,255,255,0.92)}
h4{margin:14px 0 6px;font-size:13.5px;color:rgba(255,255,255,0.86)}

.muted,p{color:var(--muted);font-size:13.5px;line-height:1.65}
p{margin:0 0 10px}
ul,ol{margin:6px 0 10px 18px;padding:0;color:var(--muted);font-size:13.5px;line-height:1.65}
li{margin:2px 0}
strong,b{color:var(--text)}
code{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,"Liberation Mono",monospace;font-size:12.5px;color:rgba(255,255,255,0.9)}

/* Schlüssel/Wert-Zeilen (Impressum) */
.kv{display:grid;gap:10px;margin-top:8px}
.row{
  display:grid;grid-template-columns:140px 1fr;gap:12px;
  padding:10px 12px;border-radius:14px;
  background:var(--panel2);border:1px solid rgba(255,255,255,0.08);
}
@media (max-width:520px){ .row{grid-template-columns:1fr;gap:4px} }
.k{color:var(--muted2);font-size:12.5px;font-weight:600}
.v{font-size:13.5px;color:var(--text);line-height:1.45;word-break:break-word}

/* Hinweisboxen */
.notice{
  margin-top:14px;padding:12px;border-radius:14px;
  border:1px dashed rgba(46,229,143,0.35);background:rgba(46,229,143,0.06);
  color:var(--muted);font-size:12.8px;line-height:1.5;
}
.callout{
  margin:12px 0;padding:14px;border-radius:14px;
  border:1px solid rgba(46,229,143,0.45);background:rgba(46,229,143,0.08);
}
.callout h3{margin-top:0}
.form-box{
  margin-top:10px;padding:14px;border-radius:14px;
  border:1px solid rgba(255,255,255,0.14);background:rgba(255,255,255,0.03);
}
.form-box p{margin:6px 0}

address{font-style:normal}

/* Fußzeile */
.footer{margin-top:18px;color:var(--muted2);font-size:12px;text-align:center}
.footer-links{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-bottom:10px}
.footer-link{
  color:rgba(255,255,255,0.78);font-size:12.5px;text-decoration:none;
  padding:6px 12px;border-radius:999px;border:1px solid rgba(255,255,255,0.12);
  background:rgba(255,255,255,0.04);transition:all .15s ease;
}
.footer-link:hover{color:#0b0f0d;background:linear-gradient(135deg, var(--accent), var(--accent2));border-color:transparent;text-decoration:none}

@media print{
  body{background:#fff;color:#000}
  .hero,.card{box-shadow:none;background:#fff;border-color:#ccc}
  .muted,p,ul,ol,.v,.k,h2,h3,h4,strong,b{color:#000}
  .actions,.footer-links,.logo{display:none}
  a{color:#000}
}
