
:root{--bg:#0c0d0d;--panel:#151717;--panel2:#1c1e1e;--text:#f7f2ea;--muted:#c9c5bd;--red:#ed2727;--green:#19d44b;--line:#333838;--max:1220px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;line-height:1.55}a{color:inherit;text-decoration:none}img{max-width:100%;display:block}
.container{width:min(92%,var(--max));margin:auto}.topbar{position:sticky;top:0;z-index:50;background:rgba(10,11,11,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}
.nav{min-height:86px;display:flex;align-items:center;gap:26px}.brand img{width:170px;max-height:72px;object-fit:contain}.navlinks{display:flex;align-items:center;gap:25px;margin-left:auto}.navlinks a{font-weight:700;font-size:15px}.navlinks a:hover{color:#ff4949}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 20px;border-radius:28px;border:1px solid #ddd;font-weight:800;transition:.2s}.btn:hover{transform:translateY(-1px)}.btn.red{background:var(--red);border-color:var(--red)}.menu-toggle{display:none;background:none;border:1px solid var(--line);color:#fff;padding:8px 11px;border-radius:8px}
.hero{position:relative;min-height:620px;display:flex;align-items:center;overflow:hidden;background:#111 url('hero-pizza.jpg') center/cover no-repeat}.hero:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(8,8,8,.98) 0%,rgba(8,8,8,.84) 42%,rgba(8,8,8,.18) 100%)}.hero-inner{position:relative;z-index:1;padding:75px 0;max-width:700px}.kicker{font-family:cursive;font-size:35px;color:#f0ddc5}.hero h1{font-family:Georgia,serif;font-size:clamp(42px,6vw,76px);line-height:1;margin:5px 0 12px}.hero h2{font-family:Georgia,serif;font-size:clamp(23px,3vw,36px);margin:0 0 10px}.hero p{font-size:18px;color:var(--muted)}.actions{display:flex;gap:12px;flex-wrap:wrap;margin:28px 0}.features{display:flex;gap:25px;flex-wrap:wrap;color:#eee}.feature{display:flex;gap:8px;align-items:center}.feature i{color:var(--green)}
section{padding:72px 0}.title{font-family:Georgia,serif;font-size:42px;margin:0 0 10px}.subtitle{color:var(--muted);max-width:760px}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:30px}.card{background:linear-gradient(145deg,#202222,#131414);border:1px solid var(--line);border-radius:18px;padding:27px;min-height:200px}.card h3{font-family:Georgia,serif;font-size:31px;margin:0 0 7px}.card p{color:var(--muted)}.grid2{display:grid;grid-template-columns:1fr 1fr;gap:20px}.panel{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:28px}.hours{width:100%;border-collapse:collapse}.hours td{padding:7px 0;border-bottom:1px solid var(--line)}.menu{display:grid;grid-template-columns:1fr 1fr;gap:15px}.menu-item{display:flex;justify-content:space-between;gap:15px;background:var(--panel);border:1px solid var(--line);padding:18px;border-radius:13px}.menu-item h3{margin:0;font-family:Georgia,serif}.menu-item p{margin:4px 0 0;color:var(--muted);font-size:14px}.price{font-weight:900;white-space:nowrap}.notice{border-left:4px solid var(--red);background:#261516;padding:15px 18px;border-radius:8px;margin:15px 0}
footer{border-top:1px solid var(--line);padding:38px 0;color:var(--muted)}.foot{display:flex;justify-content:space-between;gap:25px;flex-wrap:wrap}
form{display:grid;gap:14px}label{font-weight:700;font-size:14px}input,textarea,select{width:100%;background:#0d0e0e;color:#fff;border:1px solid #454a4a;border-radius:9px;padding:11px;font:inherit}textarea{min-height:150px}.check{display:flex;gap:8px;font-weight:400}.check input{width:auto;margin-top:4px}
@media(max-width:850px){.nav{min-height:72px}.brand img{width:135px;max-height:62px}.menu-toggle{display:block;margin-left:auto}.navlinks{display:none;position:absolute;top:72px;left:0;right:0;background:#0c0d0d;border-bottom:1px solid var(--line);padding:18px;flex-direction:column;align-items:stretch}.navlinks.open{display:flex}.hero{min-height:650px}.hero:before{background:linear-gradient(90deg,rgba(8,8,8,.96),rgba(8,8,8,.78))}.cards,.grid2,.menu{grid-template-columns:1fr}.title{font-size:35px}}

/* Druckansicht Speisekarte – ausschließlich beim Drucken aktiv */
.print-header{display:none}
@media print{
  @page{size:A4 portrait;margin:7mm 8mm 7mm}
  html,body{width:auto!important;min-width:0!important;background:#fff!important;color:#111!important;font-size:8pt!important;line-height:1.12!important}
  body{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  .topbar,header,nav,footer,.actions,.menu-toggle,.btn{display:none!important}
  .print-header{display:flex!important;align-items:center;justify-content:center;gap:5mm;width:100%!important;height:22mm!important;margin:0 0 3mm!important;padding:0 0 2.5mm!important;border-bottom:.6pt solid #555!important;box-sizing:border-box!important}
  .print-header img{display:block!important;width:28mm!important;height:18mm!important;max-width:28mm!important;max-height:18mm!important;object-fit:contain!important;flex:0 0 28mm!important}
  .print-header-text{text-align:center!important;font-size:7.5pt!important;line-height:1.25!important;color:#222!important}
  .print-title{font-family:Georgia,serif!important;font-size:16pt!important;font-weight:700!important;letter-spacing:1pt!important;margin:0 0 1mm!important}
  main,main section,.container{width:100%!important;max-width:none!important;margin:0!important;padding:0!important}
  .title{font-family:Georgia,serif!important;font-size:13pt!important;line-height:1!important;margin:2mm 0 1mm!important;color:#111!important}
  /* Die normalen Inline-Abstände der Kategorieüberschriften werden beim Druck ebenfalls überschrieben. */
  h2.title{margin-top:3mm!important;margin-bottom:1.5mm!important}
  .subtitle{font-size:7.5pt!important;line-height:1.2!important;margin:0 0 2mm!important;color:#333!important}
  .menu{display:grid!important;grid-template-columns:1fr 1fr!important;column-gap:4mm!important;row-gap:1.8mm!important;width:100%!important}
  .menu-item{display:flex!important;align-items:flex-start!important;justify-content:space-between!important;gap:2mm!important;padding:1.7mm 2mm!important;margin:0!important;min-height:0!important;background:#fff!important;color:#111!important;border:.5pt solid #999!important;border-radius:1.2mm!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .menu-item h3{font-family:Arial,Helvetica,sans-serif!important;font-size:8.2pt!important;line-height:1.05!important;margin:0!important;color:#111!important}
  .menu-item p{font-size:6.5pt!important;line-height:1.05!important;margin:.6mm 0 0!important;color:#444!important}
  .price{font-size:8pt!important;line-height:1!important;font-weight:800!important;white-space:nowrap!important;color:#111!important}
  .panel{padding:2mm 2.5mm!important;margin:1mm 0 0!important;border:.5pt solid #999!important;border-radius:1.2mm!important;background:#fff!important;color:#111!important;break-inside:avoid!important;page-break-inside:avoid!important}
  .panel p{font-size:6.7pt!important;line-height:1.05!important;margin:.5mm 0!important;color:#222!important}
  .panel h3{font-size:8pt!important;line-height:1!important;margin:.8mm 0 0!important;color:#111!important}
  a{color:#111!important;text-decoration:none!important}
  main:after{content:"Bestellen · Abholen · Genießen";display:block!important;text-align:center!important;font-size:6.5pt!important;margin-top:2mm!important;padding-top:1mm!important;border-top:.4pt solid #777!important;color:#222!important}
}
