:root{
  --ink:#14213d;--paper:#f2f4f9;--card:#fff;--yellow:#ffc21a;--red:#d62839;--muted:#5b6478;--line:#d5dae6;
  --dark:#1a0f08;
}

/* Admin bleibt hell und schlicht (Standardwerte oben). Oeffentliche Seiten bekommen unten ihr eigenes, dunkleres Comic-Theme. */
body.public{
  --paper:#15213d;--paper2:#213761;--card:#223c6c;--ink:#edf1fb;--muted:#a9b6dc;--line:rgba(255,255,255,.16);
  --yellow:#ffc22d;--yellow-deep:#e8a400;--red:#e63b47;--red-deep:#8c1f1a;--dark:#0e1526;
  --paper-light:#f4ecdc;--ink-on-light:#2a1608;
}

*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif}
body.public{
  background:
    radial-gradient(ellipse at 20% -10%, rgba(255,194,45,.14), transparent 55%),
    repeating-linear-gradient(135deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px),
    linear-gradient(160deg, var(--paper2), var(--paper) 55%);
  background-attachment:fixed;
}
a{color:var(--red)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid var(--yellow);outline-offset:2px}

/* ---------- Header ---------- */
.top{background:#14213d;border-bottom:6px solid var(--yellow);padding:.8rem clamp(1rem,4vw,3rem)}
body.public .top{
  background:
    repeating-linear-gradient(135deg, rgba(255,255,255,.05) 0 2px, transparent 2px 14px),
    linear-gradient(100deg, #1f3157, #0e1526 70%);
  box-shadow:0 4px 18px rgba(0,0,0,.4);
}
.top-inner{display:flex;flex-wrap:wrap;gap:.8rem 2rem;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto}
.logo{display:flex;align-items:baseline;gap:.7rem;font:900 2rem/1 Impact,"Arial Black",sans-serif;color:#fff;text-decoration:none;letter-spacing:.02em;transform:skew(-6deg)}
.logo b{color:var(--yellow);font-size:1.25em}
.logo .tagline{font:400 .72rem/1 system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--muted);transform:skew(4deg);white-space:nowrap}
@media (max-width:640px){.logo .tagline{display:none}}
.mini-search{display:flex;gap:.5rem;transform:skew(-2deg)}
.mini-search input{font:.9rem/1.3 system-ui,sans-serif;padding:.5rem .8rem;border:2px solid var(--yellow);border-radius:3px;background:rgba(0,0,0,.35);color:#fff;width:12rem;max-width:40vw}
.mini-search input::placeholder{color:#cbb79a}
.mini-search button{font:.85rem/1 system-ui,sans-serif;font-weight:700;padding:.5rem .9rem;border:2px solid var(--yellow);border-radius:3px;background:var(--yellow);color:var(--dark);cursor:pointer}
.mini-search button:hover{background:#fff}
.top nav{display:flex;flex-wrap:wrap;gap:1.25rem;max-width:1200px;margin:.6rem auto 0}
.top nav a{color:#fff;text-decoration:none;padding:.25rem 0;border-bottom:3px solid transparent;font-weight:600}
.top nav a:hover,.top nav a[aria-current]{border-color:var(--yellow)}

main{max-width:1100px;margin:0 auto;padding:1.5rem clamp(1rem,4vw,2rem) 3rem}
h1,h2,h3{font-family:Impact,"Arial Black",sans-serif;font-weight:400;line-height:1.15;letter-spacing:.01em}
h1{font-size:clamp(1.8rem,5vw,3rem);margin:.2em 0}h2{font-size:1.5rem;margin:1.5rem 0 .6rem}h3{font-size:1.25rem;margin:.2rem 0}

/* ---------- Featured banner (Homepage) ---------- */
.feature{position:relative;margin:1rem 0 2rem;border-radius:8px;overflow:hidden;min-height:260px;display:flex;align-items:flex-end;
  background:linear-gradient(180deg, rgba(0,0,0,.08), rgba(0,0,0,.6)), #0e1526;
  border:4px solid var(--yellow);
  box-shadow:0 0 0 2px var(--dark), 0 10px 30px rgba(0,0,0,.45)}
.feature-img{position:absolute;inset:0;z-index:0}
.feature-img img{width:100%;height:100%;object-fit:cover;object-position:top center;opacity:.9}
.feature.noimg{background:
  radial-gradient(circle,rgba(255,255,255,.07) 1.4px,transparent 1.6px) 0 0/14px 14px,
  linear-gradient(135deg,var(--red-deep),#0e1526)}
.ribbon-vert{position:absolute;top:0;left:1.4rem;z-index:2;background:var(--yellow);color:var(--dark);font:900 .85rem/1 Impact,"Arial Black",sans-serif;
  letter-spacing:.08em;text-transform:uppercase;padding:.6rem .5rem 1.6rem;writing-mode:vertical-rl;transform:rotate(180deg);
  box-shadow:3px 3px 0 rgba(0,0,0,.4);border-radius:0 0 4px 4px}
.feature-caption{position:relative;z-index:2;margin:1.4rem;max-width:22rem}
.bubble{background:var(--paper-light);color:var(--ink-on-light);border-radius:8px;padding:1.1rem 1.3rem;box-shadow:0 8px 20px rgba(0,0,0,.45)}
.feature-caption.bubble{display:flex;flex-direction:column;gap:.25rem}
.feature-caption .kicker{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:var(--red-deep);font-weight:700}
.feature-caption strong{font:400 1.4rem Impact,"Arial Black",sans-serif}
.feature-caption .btn{align-self:flex-start;margin-top:.5rem}

.tagline-strip{color:var(--muted);margin:0 0 1.8rem}
.tagline-strip a{color:var(--yellow);font-weight:600;text-decoration:none}
.tagline-strip a:hover{text-decoration:underline}

/* ---------- Search box ---------- */
.searchbox{display:flex;gap:.5rem;max-width:36rem;margin:1rem 0 1.5rem}
.searchbox input{flex:1;min-width:0;font:inherit;padding:.75rem .9rem;border:3px solid var(--yellow);border-radius:4px;background:var(--card);color:var(--ink)}
.searchbox button{font:inherit;font-weight:700;padding:.75rem 1.3rem;border:3px solid var(--yellow);border-radius:4px;background:var(--yellow);color:var(--dark);cursor:pointer}
.searchbox button:hover{background:#fff}

.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:2rem}
@media (max-width:760px){.split{grid-template-columns:1fr}}

/* ---------- News ---------- */
.news.bubble{margin-bottom:1.3rem;position:relative;border-top-left-radius:2px}
.news.bubble::after{content:"";position:absolute;left:1.6rem;bottom:-10px;border-width:10px 10px 0 0;border-style:solid;border-color:var(--paper-light) transparent transparent transparent}
.news time{color:var(--red-deep);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.news h3{margin:.2rem 0 .4rem}

/* ---------- Comic cards ---------- */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:1.2rem;margin:1rem 0}
.card{display:flex;flex-direction:column;background:var(--card);border-radius:6px;overflow:hidden;text-decoration:none;color:inherit;
  box-shadow:0 3px 10px rgba(0,0,0,.35);transition:transform .15s,box-shadow .15s}
.card:hover{transform:translateY(-4px);box-shadow:0 10px 22px rgba(0,0,0,.5)}
.cover{position:relative;aspect-ratio:2/3;background:repeating-linear-gradient(45deg,var(--line) 0 6px,transparent 6px 12px);display:block}
.cover img{width:100%;height:100%;object-fit:cover;display:block}
.cover .tag{position:absolute;top:.5rem;right:.5rem;background:var(--red);color:#fff;font:700 .7rem/1 system-ui,sans-serif;
  padding:.3rem .55rem;border-radius:3px;box-shadow:0 2px 6px rgba(0,0,0,.4);transform:rotate(3deg)}
.ribbon{display:flex;flex-direction:column;gap:.1rem;background:var(--yellow);color:var(--dark);padding:.5rem .65rem;font-size:.9rem;line-height:1.3}
.ribbon strong{font:400 1rem Impact,"Arial Black",sans-serif}
.issue-no{padding:.35rem .65rem;font-size:.78rem;color:var(--muted);background:var(--card)}
.one .card{max-width:190px}

/* ---------- Sidebar widgets ---------- */
.widget{background:var(--card);border-radius:6px;padding:1.1rem 1.2rem;margin-bottom:1.3rem;box-shadow:0 3px 10px rgba(0,0,0,.3)}
.widget-title{margin:0 0 .8rem;font-size:1.05rem;color:var(--yellow);border-bottom:2px solid var(--line);padding-bottom:.5rem}
.widget-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.1rem}
.widget-list a{display:flex;justify-content:space-between;gap:.6rem;color:var(--ink);text-decoration:none;padding:.55rem .3rem;border-bottom:1px solid var(--line)}
.widget-list a:hover{color:var(--yellow);padding-left:.6rem}
.widget-list .count{color:var(--muted);font-size:.85rem}

.pager{display:flex;gap:1rem;align-items:center;margin:1.5rem 0}
.pager a{padding:.4rem .9rem;border:2px solid var(--yellow);border-radius:4px;color:var(--ink);text-decoration:none;font-weight:600}
.pager a:hover{background:var(--yellow);color:var(--dark)}
.hint{color:var(--muted)}

/* ---------- Detail page ---------- */
.detail{display:grid;grid-template-columns:240px minmax(0,1fr);gap:2.2rem;align-items:start}
@media (max-width:640px){.detail{grid-template-columns:1fr}.detail-cover{max-width:240px;margin:0 auto}}
.bigcover{position:relative;display:block;border-radius:6px;overflow:hidden;aspect-ratio:2/3;box-shadow:0 10px 24px rgba(0,0,0,.5);
  background:repeating-linear-gradient(45deg,var(--line) 0 6px,transparent 6px 12px)}
.bigcover img{width:100%;height:100%;object-fit:cover;display:block}
.bigcover.noimg{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.85rem}
.price-tag{position:absolute;bottom:.6rem;right:-.4rem;background:var(--red);color:#fff;font:700 .8rem/1 system-ui,sans-serif;
  padding:.4rem .7rem;border-radius:3px 0 0 3px;box-shadow:0 3px 8px rgba(0,0,0,.5);transform:rotate(-2deg)}
.pill{display:inline-block;margin-top:.7rem;background:var(--yellow);color:var(--dark);font:700 .78rem/1 system-ui,sans-serif;
  padding:.4rem .8rem;border-radius:99px;letter-spacing:.03em}
.detail-info .kicker{display:block;font:700 .8rem system-ui,sans-serif;text-transform:uppercase;letter-spacing:.06em;color:var(--yellow)}
dl{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.4rem;margin:1rem 0 0;background:var(--card);border-radius:6px;padding:1.1rem 1.3rem}
dt{color:var(--muted)}dd{margin:0;overflow-wrap:anywhere}

footer{text-align:center;color:var(--muted);font-size:.85rem;padding:2rem 1rem;border-top:1px solid var(--line)}
@media (prefers-reduced-motion:reduce){.card{transition:none}}

/* ---------- Admin ---------- */
.top small{font:400 .8rem system-ui,sans-serif;color:var(--yellow);margin-left:.4rem;letter-spacing:.05em}
body.admin main{max-width:960px}
.narrow{max-width:28rem}
h1{margin-bottom:1.2rem}

/* Formulare: grosszuegiger Abstand, groessere Felder, zweispaltig auf breiten Bildschirmen */
.form{display:grid;gap:1.4rem;max-width:34rem}
.form.wide{max-width:56rem;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;column-gap:1.6rem;row-gap:1.4rem}
.form.wide .span2{grid-column:1 / -1}
@media (max-width:640px){.form.wide{grid-template-columns:1fr}}

.form label{display:grid;gap:.5rem;font-weight:600;font-size:.95rem}
.form input,.form select,.form textarea{
  font:1rem/1.5 system-ui,sans-serif;font-weight:400;
  padding:.75rem .9rem;border:2px solid var(--ink);border-radius:4px;
  background:var(--card);color:var(--ink);width:100%;min-height:3rem;
}
.form textarea{min-height:5.5rem;line-height:1.5;resize:vertical}
.form select{min-height:3rem}
.form input:focus,.form select:focus,.form textarea:focus{border-color:var(--red)}
.form small{display:block;font-weight:400;color:var(--muted);margin-top:.1rem;line-height:1.4}
.form .check{display:flex;gap:.7rem;align-items:center;font-weight:400}.form .check input{width:auto;min-height:auto}

.actions{grid-column:1 / -1;display:flex;gap:1.4rem;align-items:center;margin-top:.6rem;padding-top:1.2rem;border-top:1px solid var(--line)}

.btn{display:inline-block;font:1rem system-ui,sans-serif;font-weight:700;padding:.8rem 1.6rem;border-radius:4px;
  border:3px solid var(--dark);background:var(--yellow);color:var(--dark);cursor:pointer;text-decoration:none}
.btn:hover{background:var(--dark);color:#fff}
.btn.small{font-size:.9rem;padding:.4rem 1rem;margin-left:.8rem;vertical-align:middle}
.btn.danger{background:var(--red);color:#fff;border-color:var(--red)}

.notice{padding:.9rem 1.2rem;border-left:6px solid var(--yellow);background:var(--card);border-radius:0 4px 4px 0;margin-bottom:1.4rem}
.notice.err{border-color:var(--red)}
.inline{display:inline;margin:0}
.link{background:none;border:0;padding:0;font:inherit;color:#fff;cursor:pointer;text-decoration:underline}
main .link{color:var(--red)}.danger{color:var(--red)}

.tablewrap{overflow-x:auto;margin:1.2rem 0}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:.85rem 1rem;border-bottom:1px solid var(--line);vertical-align:middle}
th{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted)}
.act{white-space:nowrap;display:flex;gap:1.2rem;align-items:center}
.thumb{width:48px;height:72px;object-fit:cover;background:var(--line);display:block;border-radius:3px}
.thumb.big{width:130px;height:auto;border-radius:4px;margin-bottom:.5rem}

.tiles{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1.2rem}
.tile{display:block;padding:1.6rem;border:3px solid var(--ink);border-radius:6px;background:var(--card);color:inherit;text-decoration:none}
.tile:hover{box-shadow:5px 5px 0 var(--yellow)}
.tile strong{display:block;font:400 2.4rem Impact,"Arial Black",sans-serif;margin-bottom:.3rem}

/* ---------- Lists (lookups) ---------- */
.tabs{display:flex;flex-wrap:wrap;gap:.9rem 1.1rem;margin:1.4rem 0 1.8rem}
.tabs a{padding:.6rem 1.3rem;border:2px solid var(--ink);border-radius:4px;text-decoration:none;color:inherit;font-weight:600}
.tabs a.active{background:var(--yellow)}
.tabs a:hover{background:var(--line)}
.inlineform{display:flex;gap:.8rem;max-width:28rem;margin:1rem 0}
.inlineform input{flex:1;min-height:2.8rem}
.tablewrap td .inlineform{margin:0;max-width:none}

/* ---------- Export / print ---------- */
.print-page{max-width:1000px}
.print-bar{display:flex;gap:1.2rem;align-items:center;margin-bottom:1.5rem}
.print-table{border-collapse:collapse;width:100%;font-size:.9rem}
.print-table th,.print-table td{border:1px solid var(--line);padding:.5rem .7rem;text-align:left}
.print-table th{background:var(--card)}
@media print{
  .top,.print-bar,footer{display:none !important}
  body{background:#fff;color:#000}
  main{max-width:none;padding:0}
  .print-table th{background:#eee}
}

.filtergrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem}
