/* Copied from the Apps Script page (Portal_Buchung.html, 08.10.2026): same look. */
  :root{--navy:#1a3a5c;--gold:#c8a84b;--ink:#222;--mut:#6b7280;--line:#e3e6ea;--bg:#f4f5f7;--ok:#2e7d32;--warn:#b45309;--red:#c62828}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);font:15px/1.45 -apple-system,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}
  .page{max-width:560px;margin:0 auto;background:#fff;min-height:100vh}
  .top{background:var(--navy);color:#fff;padding:14px 18px}
  .top b{letter-spacing:1px}.top small{display:block;color:var(--gold);font-size:11px;letter-spacing:2px;text-transform:uppercase}
  .pad{padding:16px 18px 28px}
  h1{font-size:20px;margin:4px 0 6px}
  h2{font-size:13px;text-transform:uppercase;letter-spacing:1px;color:var(--mut);margin:22px 0 8px}
  .cat h2{color:var(--navy);margin:18px 0 6px}
  .mut{color:var(--mut);font-size:13px}
  .lead{color:#444;font-size:14px;margin:4px 0 6px}
  .row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:8px;padding:11px 12px;margin-bottom:8px;cursor:pointer;background:#fff}
  .row:hover{border-color:#b9c3cf}
  .row .t{font-weight:600}.row .s{font-size:13px;color:var(--mut)}.row .d{font-size:12px;color:#555;margin-top:2px}
  .badge{font-size:12px;padding:2px 8px;border-radius:10px;white-space:nowrap}
  .free{background:#e8f5e9;color:var(--ok)}.few{background:#fff4e5;color:var(--warn)}.full{background:#fdecea;color:var(--red)}.none{background:#eee;color:#777}
  .tag{display:inline-block;font-size:12px;background:#eef2f7;color:var(--navy);border-radius:4px;padding:1px 6px}
  .back{color:var(--mut);cursor:pointer;display:inline-block;margin-bottom:6px}
  .hero{width:100%;border-radius:8px;margin:8px 0}
  .slot{display:flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer}
  .slot.sel{border-color:var(--navy);box-shadow:0 0 0 1px var(--navy) inset}
  .slot .grow{flex:1}
  label.f{display:block;font-size:13px;font-weight:600;margin:12px 0 4px}
  .opt{color:#9aa0a6;font-weight:400}
  input[type=text],input[type=email],input[type=tel],select{width:100%;padding:10px 11px;border:1px solid #cfd4da;border-radius:7px;font:inherit;background:#fff}
  .two{display:flex;gap:10px}.two>div{flex:1}
  .seg{display:flex;border:1px solid #cfd4da;border-radius:7px;overflow:hidden}
  .seg button{flex:1;padding:9px 0;border:0;background:#fff;font:inherit;cursor:pointer}
  .seg button.on{background:var(--navy);color:#fff}
  .comp{border:1px solid var(--line);border-radius:8px;padding:2px 12px 12px;margin-top:10px;background:#fafbfc}
  .btn{display:block;width:100%;text-align:center;padding:13px;border-radius:8px;border:0;font:inherit;font-weight:600;background:var(--navy);color:#fff;margin-top:18px;cursor:pointer}
  .btn:disabled{opacity:.6;cursor:default}
  .note{font-size:12px;color:var(--mut);margin-top:8px}
  .msg{padding:10px 12px;border-radius:7px;margin-top:12px;font-size:14px}
  .msg.err{background:#fdecea;color:var(--red)}.msg.ok{background:#e8f5e9;color:var(--ok)}.msg.wait{background:#eef2f7;color:var(--navy)}
  .box{border:1px solid var(--line);border-radius:8px;padding:12px;background:#fafbfc;margin-top:10px}
  .msg.ok b{font-weight:700}
  a{color:var(--navy)}

  /* 09.10.2026 (Frank): black top bar with the logo, categories in RAL 5011
   * (Stahlblau; on screen about #1A2B3C), the overview in 1–3 columns. */
  .topbar{background:#000;color:#fff;display:flex;align-items:center;gap:14px;padding:12px 18px}
  .topbar img{width:34px;height:34px;display:block}
  .topbar span{font-weight:700;letter-spacing:2px;font-size:15px}
  body.wide .page{max-width:1240px}
  .grid{display:grid;gap:22px;align-items:start}
  .grid.g1{grid-template-columns:minmax(0,1fr)}
  .grid.g2{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.g3{grid-template-columns:repeat(3,minmax(0,1fr))}
  .cat2{margin-bottom:14px}
  .ch{display:flex;justify-content:space-between;align-items:center;gap:10px;background:#1A2B3C;color:#fff;border-radius:8px;padding:10px 12px;margin-bottom:8px;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:1px;text-transform:uppercase;user-select:none}
  .ch .cn{font-weight:400;text-transform:none;letter-spacing:0;color:rgba(255,255,255,.75);white-space:nowrap}
  .ch .cn b{color:#fff;margin-left:6px}
