/* aktives-treffen.de – Forum-Look (Maßstab aktives-hoeren.de) */
:root{
  --blue:#02388d; --blue-bar:#20549b; --blue-h:#46507f; --red:#b10202;
  --panel:#ebebf6; --panel-b:#d9d9ee; --ink:#141414; --muted:#5b5b5b;
  --line:#c6c6c6; --page:#ffffff; --field:#ffffff; --ok:#1c6b2f; --okbg:#e6f3ea;
}
*{box-sizing:border-box;margin:0;padding:0}
body{font-family:"Roboto Flex","REM",Verdana,Arial,Helvetica,sans-serif;font-size:16px;
  line-height:1.5;color:var(--ink);background:#e4e4e4;-webkit-font-smoothing:antialiased}
img{max-width:100%;height:auto}
a{color:var(--blue);text-decoration:none}
a:hover{color:var(--red)}
.wrap{max-width:1080px;margin:0 auto;padding:0 16px}

.preview-banner{background:var(--red);color:#fff;text-align:center;padding:7px 16px;font-size:14px}
header.site{background:#e4e4e4}
.site-head{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:96px;padding:10px 0}
.site-head .banner{height:76px;width:auto;display:block;flex:0 0 auto}
.site-head .claim{color:#3a3a3a;font-size:15px;text-align:right;line-height:1.35;
  text-shadow:0 1px 0 rgba(255,255,255,.6)}
.site-head .claim b{color:var(--red);font-weight:600;font-size:18px}

nav.main{background:var(--blue-bar)}
nav.main ul{list-style:none;display:flex;flex-wrap:wrap;max-width:1080px;margin:0 auto;padding:0 8px}
nav.main a{display:block;color:#fff;padding:11px 15px;font-size:16px}
nav.main a:hover,nav.main a.active{background:rgba(255,255,255,.14);color:#fff}
nav.main li.acct{margin-left:auto}
nav.main li.acct a{color:#dbe4f5}
.nav-burger{display:none;width:100%;text-align:left;background:transparent;border:0;color:#fff;font-size:17px;font-weight:600;padding:12px 16px;cursor:pointer}

/* Burger-Menü: Smartphones + Tablets im Hochformat */
@media(max-width:1024px){
  nav.main .nav-burger{display:block}
  nav.main ul{display:none;flex-direction:column;flex-wrap:nowrap;max-width:none;padding:0 0 6px}
  nav.main ul.open{display:flex}
  nav.main li.acct{margin-left:0}
  nav.main a{padding:11px 16px;border-top:1px solid rgba(255,255,255,.14)}
}

.panel{background:var(--panel);border:1px solid var(--panel-b);border-radius:5px;margin:22px 0;overflow:hidden}
.panel > h2{background:var(--blue-bar);color:#fff;font-size:20px;font-weight:500;padding:9px 14px;line-height:1.35;
  background-image:linear-gradient(to bottom,rgba(255,255,255,.18),rgba(255,255,255,0));box-shadow:0 5px 5px -5px rgba(0,0,0,.2)}
.panel > h2 .date{font-weight:300;opacity:.9;font-size:16px}
.panel .body{padding:16px 18px;background:#fff}
.panel.cards > .body{background:#c1bcbb}
.panel.cards > .body .lead{color:#333}
.panel .body > p{margin:0 0 12px}
.panel .body > p:last-child{margin-bottom:0}
.lead{color:var(--muted)}

.intro-cta{display:flex;flex-wrap:wrap;align-items:center;gap:14px;margin-top:20px}
.counter{display:inline-block;background:var(--panel);border:1px solid var(--panel-b);color:var(--blue-h);
  border-radius:4px;padding:7px 14px;font-weight:600}

.btn{display:inline-block;border:1px solid var(--blue);background:var(--blue);color:#fff;border-radius:4px;
  padding:9px 18px;font-size:16px;font-family:inherit;cursor:pointer;text-align:center;transition:.12s;
  background-image:linear-gradient(to bottom,rgba(255,255,255,.2),rgba(255,255,255,0))}
.btn:hover{background:var(--red);border-color:var(--red);color:#fff}
.btn.sec{background:#f6f6f6;border-color:#a8a8a8;color:var(--ink);background-image:none}
.btn.sec:hover{color:var(--red);border-color:#bd3133;background:#fff}
.btn.sm{padding:5px 12px;font-size:14px}
.btn.danger{background:var(--red);border-color:var(--red)}
.btn.danger:hover{background:#7f0000;border-color:#7f0000}
.btn[disabled],.btn.off{background:#e4e4ee;border-color:var(--panel-b);color:var(--muted);cursor:default;background-image:none}

.form-row{margin-bottom:14px}
label{display:block;font-weight:600;font-size:14px;margin-bottom:5px;color:var(--ink)}
input[type=text],input[type=email],input[type=password],input[type=number],input[type=date],input[type=time],textarea,select{
  width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:3px;font-size:15px;font-family:inherit;background:var(--field);color:var(--ink)}
input:focus,textarea:focus,select:focus{outline:none;border-color:var(--blue);box-shadow:0 0 0 2px rgba(2,56,141,.12)}
.hp{position:absolute;left:-9999px}
.check{display:flex;align-items:center;gap:9px}
.check input{width:auto}

.subpanel{margin-top:18px;border-top:1px solid var(--panel-b);padding-top:16px}
.subpanel h3{font-size:16px;color:var(--blue-h);margin-bottom:8px}

.day{margin-bottom:16px}
.day > h3{background:#fff;color:var(--blue-h);font-size:16px;font-weight:600;padding:8px 12px;border:0;border-radius:4px;margin-bottom:8px}
.day .empty{padding:12px;color:#555;font-style:italic;border:0;border-radius:4px;background:#fff}
.evt{display:flex;gap:14px;align-items:center;padding:12px;border:0;border-radius:4px;margin-bottom:8px;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.evt:last-child{margin-bottom:0}
.evt .time{flex:0 0 62px;font-weight:600;color:var(--blue)}
.evt .info{flex:1}
.evt .info h4{font-size:16px;color:var(--ink);margin-bottom:2px}
.evt .info .meta{font-size:13px;color:var(--muted)}
.evt .act{flex:0 0 auto;text-align:right}
.cap{font-size:13px;color:var(--muted)}
.cap.full{color:var(--red);font-weight:600}

/* Timeline (persönlich) – Linie + Punkt exakt zentriert über eine eigene Schiene */
.timeline{margin-top:8px}
.tl-day{font-weight:600;color:var(--blue-h);margin:18px 0 2px;font-size:16px;padding-left:88px}
.tl-day:first-child{margin-top:4px}
.tl-item{display:flex;align-items:stretch}
.tl-item .tl-time{flex:0 0 60px;text-align:right;padding:8px 0;font-weight:600;color:var(--blue);font-size:14px}
.tl-rail{flex:0 0 28px;position:relative}
.tl-rail::before{content:"";position:absolute;left:13px;top:0;bottom:0;width:2px;background:var(--panel-b)}
.tl-dot{position:absolute;left:8px;top:12px;width:12px;height:12px;border-radius:50%;background:#fff;
  border:2px solid var(--blue);box-sizing:border-box;z-index:1}
.tl-body{flex:1;padding:8px 0 14px 10px}
.tl-body b{color:var(--ink)}
.tl-body .tl-loc{color:var(--muted);font-size:13px}
.tl-body .meta{font-size:13px;color:var(--muted);margin-top:2px}

.empty-box{padding:16px;color:var(--muted);font-style:italic;text-align:center}
table.list{width:100%;border-collapse:collapse;background:#fff}
table.list th,table.list td{padding:9px 12px;text-align:left;border-bottom:1px solid var(--panel-b);font-size:15px}
table.list th{background:var(--panel);color:var(--blue-h);font-weight:600}

.addr{background:#fff;border:0;border-radius:4px;padding:14px;margin-bottom:12px;box-shadow:0 1px 3px rgba(0,0,0,.10)}
.frame{background:#fff;border:0;border-radius:5px;padding:16px 18px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.frame > :last-child{margin-bottom:0}
.addr h3{color:var(--blue-h);font-size:17px;margin-bottom:6px}
.addr .meta{color:var(--muted);font-size:14px;line-height:1.6}
.cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}

/* WYSIWYG-Editor (Admin) */
.rte{border:1px solid var(--line);border-radius:3px;background:#fff}
.rte-bar{border-bottom:1px solid var(--panel-b);padding:5px;display:flex;gap:5px;background:var(--soft)}
.rte-bar button{border:1px solid var(--panel-b);background:#fff;border-radius:3px;padding:3px 11px;cursor:pointer;font-size:15px;line-height:1.2;color:var(--ink)}
.rte-bar button:hover{border-color:var(--blue);color:var(--blue)}
.rte-ed{min-height:160px;padding:10px 12px;font-size:15px;line-height:1.6;outline:none}
.rte-ed:focus{box-shadow:inset 0 0 0 2px rgba(2,56,141,.12)}
.rte-ed p{margin:0 0 10px}

/* Event-Detailtext */
.event-text{margin-top:8px;color:#333}
.event-text h3{color:var(--blue-h);font-size:18px;margin:14px 0 6px}
.event-text h6{color:var(--muted);font-weight:600;font-size:14px;margin:2px 0 8px}
.event-text p{margin:0 0 10px;line-height:1.6}
.event-text ul,.event-text ol{margin:0 0 10px 20px}

/* Testimonials */
.tcards{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:2px}
.tcard{background:#fff;border:0;border-radius:5px;padding:16px 18px;box-shadow:0 1px 4px rgba(0,0,0,.12)}
.tcard .tq{font-family:Georgia,"Times New Roman",serif;font-size:38px;line-height:.6;color:#b8b8c8;height:22px}
.tcard .tname{color:var(--red);font-weight:600;font-size:18px;margin:4px 0 8px}
.tcard p{color:#444;font-size:14px;line-height:1.55;margin:0}
@media(max-width:760px){.tcards{grid-template-columns:1fr}}

.flash{padding:10px 14px;border-radius:4px;margin:16px 0;font-size:15px}
.flash.ok{background:var(--okbg);border:1px solid #b7ddc2;color:var(--ok)}
.flash.err{background:#f7e4e4;border:1px solid #e3b6b6;color:var(--red)}

footer.site{background:#2a2f45;color:#c8d0e4;margin-top:30px;padding:24px 0;font-size:14px;text-align:center}
footer.site a{color:#fff}

/* Admin */
.admin-bar{background:#2a2f45;color:#fff;padding:8px 0}
.admin-bar .wrap{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.admin-bar a{color:#cdd8e6;margin-right:14px}
.admin-bar a:hover{color:#fff}
.admin-bar a.active{color:#fff;font-weight:600}
.mini{font-size:13px;color:var(--muted)}
.row-actions a{margin-right:10px;font-size:14px}
.stat{display:inline-block;background:var(--panel);border:1px solid var(--panel-b);border-radius:5px;padding:14px 18px;margin:0 10px 10px 0;min-width:130px}
.stat b{display:block;font-size:26px;color:var(--blue-h)}

@media(max-width:760px){
  .cols{grid-template-columns:1fr}
  .site-head .claim{display:none}
  .site-head .banner{height:52px}
  .evt{flex-wrap:wrap}
}
