
  * { box-sizing: border-box; margin: 0; padding: 0; }
  :root { --ink:#171717; --paper:#fff; --soft:#F5F3EE; --rot:#FF3B1F; --gelb:#F7E017; }
  body { font-family:"Helvetica Neue",Helvetica,Arial,sans-serif; background:var(--paper); color:var(--ink); }
  .wrap { width:100%; padding:0 3vw; }
  .ticker { background:#000; color:#fff; overflow:hidden; white-space:nowrap;
            font-size:13px; font-weight:700; letter-spacing:.14em; padding:9px 0; }
  .ticker span { display:inline-block; animation:tick 38s linear infinite; }
  .ticker b { color:var(--rot); font-weight:900; }
  @keyframes tick { from { transform:translateX(0) } to { transform:translateX(-50%) } }
  header.site { display:flex; align-items:flex-end; justify-content:space-between; padding:20px 0 16px; }
  header.site .logo { width:76px; height:76px; transition:transform .25s; }
  header.site a:hover .logo { transform:rotate(-4deg) scale(1.05); }
  .claim { text-align:right; }
  .claim h1 { font-size:clamp(22px,3.2vw,40px); font-weight:900; letter-spacing:-.02em;
              line-height:1; text-transform:uppercase; }
  .claim h1 em { font-style:normal; color:var(--rot); }
  .claim p { font-size:13px; color:#555; margin-top:6px; font-weight:700;
             letter-spacing:.1em; text-transform:uppercase; }
  /* GZ-Konzept: Tab-Leiste + Suche direkt über der Kachelwand */
  .nav-tabs { position:sticky; top:0; z-index:20; background:var(--paper);
              border-top:3px solid #000; border-bottom:3px solid #000;
              display:flex; flex-wrap:wrap; align-items:stretch; }
  .tab { font-family:inherit; font-size:14px; font-weight:700; letter-spacing:.08em;
         text-transform:uppercase; padding:15px 20px; background:none; border:none;
         border-right:1px solid #000; cursor:pointer; }
  .tab:hover { background:var(--gelb); }
  .tab.on { background:#000; color:#fff; }
  .tab.on:hover { background:var(--rot); }
  .such { flex:1 1 180px; display:flex; }
  .such input { flex:1; border:none; font-family:inherit; font-size:14px; padding:0 18px;
                background:var(--soft); min-width:120px; }
  .such input:focus { outline:3px solid var(--gelb); outline-offset:-3px; }
  .count { font-size:12px; font-weight:700; color:#555; padding:16px 0 0; letter-spacing:.1em; }
  .grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(430px,1fr)); gap:0;
          border-top:1px dashed #999; border-left:1px dashed #999; margin:20px 0 70px; }
  .sec { grid-column:1/-1; background:#000; color:#fff; padding:18px 20px;
         font-size:clamp(20px,2.4vw,30px); font-weight:900; text-transform:uppercase;
         letter-spacing:-.01em; border-right:1px dashed #999; border-bottom:1px dashed #999;
         display:flex; justify-content:space-between; align-items:center; }
  .sec em { font-style:normal; color:var(--gelb); }
  .sec .dot { color:var(--rot); font-size:.8em; }
  .sec[data-hide] { display:none; }
  .tile { display:block; text-decoration:none; color:inherit;
          border-right:1px dashed #999; border-bottom:1px dashed #999;
          padding-bottom:22px; position:relative; }
  .tile[data-hide] { display:none; }
  div.tile .frame { opacity:.92; }
  .frame { position:relative; display:block; overflow:hidden; background:var(--soft); }
  .tile img { width:100%; aspect-ratio:4/3; object-fit:cover; display:block; transition:transform .35s ease; }
  @keyframes puls { 0%,100% { transform:scale(1); } 50% { transform:scale(1.045); } }
  @keyframes sticker-puls { 0%,100% { transform:scale(1) rotate(-2deg); } 50% { transform:scale(1.12) rotate(2deg); } }
  a.tile:hover { z-index:5; }
  a.tile:hover .frame { animation:puls 1.1s ease-in-out infinite; }
  a.tile:hover img { transform:scale(1.04); }
  a.tile:hover .sticker { animation:sticker-puls 1.1s ease-in-out infinite; }
  .sticker { position:absolute; left:14px; bottom:14px; background:var(--rot); color:#fff;
             font-size:21px; font-weight:900; padding:9px 15px; }
  .label { position:absolute; top:14px; right:14px; background:#000; color:#fff;
           font-size:11px; font-weight:700; letter-spacing:.16em; padding:6px 10px; }
  .label.bald { background:var(--gelb); color:#000; transform:rotate(3deg); }
  .neu-star { position:absolute; top:8px; right:8px; z-index:4;
             display:inline-flex; align-items:center; justify-content:center;
             width:76px; height:76px; background:var(--gelb); color:#000;
             font-weight:900; font-size:16px; letter-spacing:.04em;
             transform:rotate(-12deg); animation:neustar 2.4s ease-in-out infinite;
             clip-path:polygon(50% 0%,57.5% 12%,68% 4%,70% 18%,83% 13%,80% 27%,94% 27%,86% 39%,100% 43%,88% 52%,98% 62%,84% 63%,89% 77%,75% 73%,74% 88%,62% 79%,56% 93%,48% 80%,38% 91%,35% 76%,21% 82%,24% 67%,10% 68%,18% 56%,4% 50%,16% 42%,6% 31%,20% 30%,15% 16%,29% 20%,30% 5%,41% 14%); }
  @keyframes neustar { 0%,100% { transform:rotate(-12deg) scale(1); } 50% { transform:rotate(-8deg) scale(1.07); } }
  .neu-star { position:absolute; top:10px; left:10px; z-index:3; width:52px; height:52px;
             display:inline-flex; align-items:center; justify-content:center; background:var(--gelb);
             color:#000; font-weight:900; font-size:12px; letter-spacing:.02em;
             transform:rotate(-12deg); animation:neustar 2.4s ease-in-out infinite;
             clip-path:polygon(50% 0%,57.5% 12%,68% 4%,70% 18%,83% 13%,80% 27%,94% 27%,86% 39%,100% 43%,88% 52%,98% 62%,84% 63%,89% 77%,75% 73%,74% 88%,62% 79%,56% 93%,48% 80%,38% 91%,35% 76%,21% 82%,24% 67%,10% 68%,18% 56%,4% 50%,16% 42%,6% 31%,20% 30%,15% 16%,29% 20%,30% 5%,41% 14%); }
  @keyframes neustar { 0%,100% { transform:rotate(-12deg) scale(1); } 50% { transform:rotate(-6deg) scale(1.1); } }
  /* Vintage-Gummistempel (Verkauft/Reserviert) – kräftige Tinte mit dezenter Abnutzung */
  .stamp { --ink:#e00c14; display:inline-block; color:var(--ink);
           font:900 clamp(24px,4vw,40px)/1 "Helvetica Neue",Helvetica,Arial,sans-serif;
           text-transform:uppercase; letter-spacing:.05em; white-space:nowrap;
           padding:.14em .36em; border:.14em solid var(--ink); border-radius:9px;
           box-shadow:inset 0 0 0 .05em var(--ink); transform:rotate(-8deg); opacity:1;
           -webkit-mask:url(/v2/assets/stamp-grunge.png?v=2) center/cover no-repeat;
                   mask:url(/v2/assets/stamp-grunge.png?v=2) center/cover no-repeat; }
  .stamp-reserviert { --ink:#e35b00; }
  .frame .stamp { position:absolute; top:50%; left:50%;
                  transform:translate(-50%,-50%) rotate(-8deg); z-index:6;
                  opacity:1; pointer-events:none;
                  filter:drop-shadow(0 2px 3px rgba(0,0,0,.55)); }
  .t-name { display:block; font-size:clamp(21px,1.9vw,26px); font-weight:900; text-transform:uppercase;
            letter-spacing:-.01em; margin:14px 16px 0; line-height:1.08; }
  a.tile:hover .t-name { color:var(--rot); }
  .t-witz { display:block; font-size:16px; color:#555; margin:6px 16px 0; }
  .wa-badge { position:fixed; right:26px; bottom:148px; width:64px; height:64px;
             border-radius:50%; background:#25D366; display:flex; align-items:center;
             justify-content:center; z-index:30; transition:transform .2s; transform:rotate(-6deg); }
  .wa-badge:hover { transform:rotate(0) scale(1.08); }
  .wa-badge svg { width:34px; height:34px; fill:#fff; }
  .badge { position:fixed; right:26px; bottom:26px; width:110px; height:110px; border-radius:50%;
           background:var(--gelb); display:flex; align-items:center; justify-content:center;
           text-align:center; font-size:13px; font-weight:900; text-transform:uppercase;
           line-height:1.15; transform:rotate(8deg); text-decoration:none; color:#000;
           box-shadow:none; z-index:30; transition:transform .2s; }
  .badge svg { width:20px; height:20px; fill:#000; display:block; margin:0 auto 4px; }
  .badge:hover { transform:rotate(0deg) scale(1.06); background:var(--rot); color:#fff; }
  .badge:hover svg { fill:#fff; }
  footer { border-top:3px solid #000; padding:22px 0 60px; }
  footer .wrap { display:flex; justify-content:space-between; gap:10px; flex-wrap:wrap;
                 font-size:13px; color:#555; align-items:center; }
  @media (max-width:1000px) { .grid { grid-template-columns:1fr 1fr; } }
  @media (max-width:560px) { .grid { grid-template-columns:1fr; }
    .claim h1 { font-size:18px; } .tab { padding:12px 12px; font-size:12px; } }
