<?php
declare(strict_types=1);
mb_internal_encoding('UTF-8');
date_default_timezone_set('Europe/Berlin');

$now   = new DateTime('now');
$day   = (int)$now->format('N');
$isOpen = false;

if ($day >= 1 && $day <= 6) {
    $start = (clone $now)->setTime(11, 0, 0);
    $end   = (clone $now)->setTime(21, 30, 0);
    $isOpen = ($now >= $start && $now < $end);
} elseif ($day === 7) {
    $start = (clone $now)->setTime(11, 0, 0);
    $end   = (clone $now)->setTime(21, 0, 0);
    $isOpen = ($now >= $start && $now < $end);
}

$statusText  = $isOpen ? 'aktuell geöffnet' : 'aktuell geschlossen';
$statusClass = $isOpen ? 'status-open' : 'status-closed';

$menuData = [];
$menuJsonPath = __DIR__ . '/speisekarte.json';
if (is_readable($menuJsonPath)) {
    $json = file_get_contents($menuJsonPath);
    if ($json !== false) {
        $decoded = json_decode($json, true);
        if (is_array($decoded)) {
            $menuData = $decoded;
        }
    }
}

$pideItems = [];
foreach ($menuData as $catTmp) {
    if (
        isset($catTmp['category']) &&
        $catTmp['category'] === 'Pide' &&
        isset($catTmp['items']) &&
        is_array($catTmp['items'])
    ) {
        $pideItems = $catTmp['items'];
        break;
    }
}
?>

<div id="xmas-popup-overlay">
  <div id="xmas-popup">
    <button id="xmas-popup-close" aria-label="Schließen">×</button>
    <iframe id="xmas-popup-frame" src="https://mr.shak-mak.de/weihnachten/" loading="lazy"></iframe>
  </div>
</div>

<style>
#xmas-popup-overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.8);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
}
#xmas-popup {
  position: relative;
  max-width: 900px;
  width: 90vw;
  height: 80vh;
  background: #000;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 0 40px rgba(0,0,0,0.9);
}
#xmas-popup-frame {
  width: 100%;
  height: 100%;
  border: none;
}
#xmas-popup-close {
  position: absolute;
  top: 8px;
  right: 12px;
  font-size: 48px;
  line-height: 1;
  border: none;
  background: transparent;
  color: #ffffff;
  cursor: pointer;
  padding: 0;
  z-index: 100000;
}
#xmas-popup-close:hover {
  transform: scale(1.1);
}
@media (max-width: 600px) {
  #xmas-popup {
    width: 95vw;
    height: 85vh;
  }
  #xmas-popup-close {
    font-size: 40px;
  }
}
</style>

<script>
(function () {
  var now = new Date();
  var start = new Date(2025, 11, 16, 0, 0, 0);
  var end = new Date(2026, 0, 4, 23, 59, 59);
  if (now >= start && now <= end) {
    var overlay = document.getElementById("xmas-popup-overlay");
    var closeBtn = document.getElementById("xmas-popup-close");
    if (overlay && closeBtn) {
      overlay.style.display = "flex";
      closeBtn.addEventListener("click", function () {
        overlay.style.display = "none";
      });
    }
  }
})();
</script>

<!DOCTYPE html>
<html lang="de">
<head>
  <meta name="robots" content="index, follow">
  <link rel="canonical" href="https://www.mr-shak-mak.de/">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <title>Mr. Shak Mak</title>
  <meta charset="utf-8">
  <meta name="description" content="MR. SHAK MAK in Weiden – türkisches Restaurant & Imbiss mit Steak Döner, Pute Döner, Yaprak, Iskender, Adana, Kebap, Tellergerichten, Kindermenüs, Fingerfood, Ayran und Softdrinks. Pizza. Mo–Sa 11:00–22:00, Sonntag geschlossen. Nur Barzahlung.">
  <meta name="keywords" content="Mr. Shak Mak, Steak Döner Weiden, Döner Weiden, Yaprak Döner, türkisches Restaurant Weiden, Imbiss Weiden, Iskender Weiden, Adana Kebap, Köfte, Tavuk Şiş, Süt Dana Şiş, Dönerbox, Lahmacun, Dürüm, Döner Teller, Kindermenü Döner, Fingerfood, Baklava, türkischer Imbiss, Döner Lieferservice Weiden, Döner zum Mitnehmen Weiden, Pizza Weiden, türkische Pizza, Bahnhofstraße 39 Weiden">
  <meta name="robots" content="index,follow">
  <link rel="canonical" href="https://mr.shak-mak.de/weiden">
  <meta property="og:type" content="restaurant">
  <meta property="og:site_name" content="MR. SHAK MAK">
  <meta property="og:title" content="MR. SHAK MAK – Steak Döner & türkische Spezialitäten in Weiden">
  <meta property="og:description" content="Steak Döner, Pute Döner, Yaprak, Iskender, Adana, Tellergerichte, Kindermenüs, Fingerfood und Getränke – Pizza. Mo–Sa 11:00–22:00 in der Bahnhofstraße 39 in Weiden. Nur Barzahlung.">
  <meta property="og:url" content="https://mr.shak-mak.de/weiden">
  <meta property="og:locale" content="de_DE">
  <meta name="twitter:card" content="summary">
  <meta name="twitter:title" content="MR. SHAK MAK – Steak Döner in Weiden">
  <meta name="twitter:description" content="Türkischer Imbiss in Weiden: Steak Döner, Pute Döner, Yaprak, Iskender, Adana, Tellergerichte, Kindermenüs, Fingerfood, Baklava und Softdrinks. Pizza.">
  <meta property="article:tag" content="Döner">
  <meta property="article:tag" content="Steak Döner">
  <meta property="article:tag" content="Yaprak">
  <meta property="article:tag" content="Pute Döner">
  <meta property="article:tag" content="Iskender">
  <meta property="article:tag" content="Adana Kebap">
  <meta property="article:tag" content="Köfte">
  <meta property="article:tag" content="türkisches Restaurant Weiden">
  <meta property="article:tag" content="Pizza Weiden">
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','GTM-MM2SSXGV');</script>
<!-- End Google Tag Manager -->
  <script type="application/ld+json">
  {
    "@context": "https://schema.org",
    "@type": ["Restaurant", "FastFoodRestaurant"],
    "name": "MR. SHAK MAK",
    "url": "https://mr.shak-mak.de/weiden",
    "image": "https://mr.shak-mak.de/weiden/logo.png",
    "telephone": "+49-961-39881868",
    "address": {
      "@type": "PostalAddress",
      "streetAddress": "Bahnhofstraße 39",
      "addressLocality": "Weiden in der Oberpfalz",
      "postalCode": "92637",
      "addressCountry": "DE"
    },
    "servesCuisine": [
      "Türkische Küche",
      "Döner",
      "Fast Food",
      "Grill",
      "Pizza"
    ],
    "priceRange": "€",
    "paymentAccepted": "Cash",
    "openingHoursSpecification": [
      {
        "@type": "OpeningHoursSpecification",
        "dayOfWeek": [
          "Monday",
          "Tuesday",
          "Wednesday",
          "Thursday",
          "Friday",
          "Saturday"
        ],
        "opens": "11:00",
        "closes": "22:00"
      }
    ],
    "description": "MR. SHAK MAK in Weiden – türkischer Imbiss mit Steak Döner, Pute Döner, Yaprak, Iskender, Adana, Köfte, Tavuk Şiş, Süt Dana Şiş, Dönerboxen, Lahmacun, Dürüm, Tellergerichten, Kindermenüs, Fingerfood, Baklava und Softdrinks. Nur Barzahlung. Pizza.",
    "menu": "https://mr.shak-mak.de/weiden",
    "hasMenuSection": [
      {
        "@type": "MenuSection",
        "name": "Yaprak / Steak Döner",
        "description": "Steak Döner, Steak Dönerbox, Lahmacun Steak Döner, Steak Dönerteller mit Salat, Pommes oder Reis, auf Wunsch mit gegrillten Tomaten und milder Peperoni."
      },
      {
        "@type": "MenuSection",
        "name": "Special Döner",
        "description": "Burger Style Döner Menü, Burger Style Kindermenü, Ekmek Arası Döner, Chili Cheese Döner, Mix Döner (Steak/Pute) mit Salat und Soße."
      },
      {
        "@type": "MenuSection",
        "name": "Pute Döner",
        "description": "Döner Pute, Dönerbox Pute, Lahmacun Pute, Dönerteller Pute mit Salat, Pommes oder Reis, auf Wunsch mit gegrillten Tomaten und milder Peperoni."
      },
      {
        "@type": "MenuSection",
        "name": "Dürüm / Wrap",
        "description": "Dürüm Steak Döner, Dürüm Pute, Dürüm Adana mit scharfer Hackfleischfüllung nach Adana-Art, auf Wunsch mit gegrillten Tomaten und milder Peperoni."
      },
      {
        "@type": "MenuSection",
        "name": "Tellergerichte",
        "description": "Iskender, Adana Şiş, Köfte, Beyti/Kebap, Tavuk Şiş, Süt Dana Şiş, jeweils mit Fladen, Reis oder Pommes, gegrillten Tomaten, Peperoni und Salat."
      },
      {
        "@type": "MenuSection",
        "name": "Finger Food",
        "description": "Pommes Frites, Mozzarella Sticks, Gözleme, Chili Cheese, Chicken Nuggets, Baklava und Imperatore Soße."
      },
      {
        "@type": "MenuSection",
        "name": "Getränke",
        "description": "Coca Cola, Fanta, Mezzo Mix, Uludağ Gazoz, Wasser, Ayran und weitere Softdrinks."
      },
      {
        "@type": "MenuSection",
        "name": "Pizza",
        "description": "Auswahl an Pizzen mit klassischen und türkisch inspirierten Belägen."
      }
    ]
  }
  </script>
  <meta name="keywords" content="Döner, Doner, Kebab, Kebap, Yaprak, Steak, Shak Mak, çakmak, Pizza, Cakmak, Marco, Mr. Shak Mak, Shak, Mak, Bayern, Leberkäse, Weißwurst, Leberkäs, Weißwurst, Bratwurst, Foodtruck, Weiden, Tirschenreuth, Regensburg, München, Berlin, Nürnberg, Frankfurt, Truck, Mobil, Adana Kebap, Ege Kebab, Mee Döner, Mustis Kebab, Saray Kebab, City Kebab, Döner Test, Onetz, Yaprak Döner, Yaprak Et, Grillfleisch, Dönerstag, Dönerbox, Dürüm, Lahmacun, Pide, Ayran, Türk mutfagi, Türkische Küche, Traditional Döner, Steak Döner, Original Döner, Best Döner, Top Kebab, Döner Ranking, Bestes Fleisch, Handmade, Street Food, Halal, Halāl, Hamburg, Stuttgart, Köln, Leipzig, Essen, Dortmund, Fast Food, Grill, Grillteller, Turkish BBQ, Turkish Streetfood, Döner near me, Best Döner Germany, Lunch, Abendessen, Mitnehmen, Schnellrestaurant, Foodporn, Kebapçı, Dönerci, Et Döner, Chicken Döner, Kalbfleisch, Döner Teller, Rollo, Knoblauchsoße, Scharfe Soße, Family Business, Traditionsbetrieb, Döner Erfinder, Beef Wrap, German Kebap, Anatolisch, Anatolian Food, Orient, Orientalisch, Mr. Shak Mak Weiden, Dönerteller, Mega Döner, Streetfood Festival, Dürüm Weiden, Tirschenreuth Döner, Beste Sauce, Frischer Salat, Foodlove, Meatlover, Gemüse Döner, Vegan Döner, Hausdöner, Dönerwagen, Lieferdienst, Dönerservice, Turkish Wrap, Kalbfleischspieß, Original Rezept, Kebab Shop, Turkish Restaurant, Shisha Lounge, Grillhaus, Handmade Sauce, Mr. Shak Mak Weiden, Döner Imperium, Kebap Empire, Best Döner 2025, Food Trend, TikTok Döner, Insta Kebab, Halal Meat, Frische Zutaten, Dönersalat, Brotzeit, Essenswagen, Testsieger 2025, 1. Platz Döner, Top bewertet, Lokal Weiden, Bahnhofstraße 39, Originalrezept, Steakspieß, Mittagsangebot, Snack, Premium Döner, Grillmeister">
  <link href="https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;600;800&display=swap" rel="stylesheet">
  <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css" integrity="sha512-pEcS6g3t3lHgrq+fC41j6svw/l2lfHJo+Ql4G+WCZhiP2qWwL5xlO1Bj8cxI4gFhPvLo5Rtk6LqKtC+xYJPsZA==" crossorigin="anonymous" referrerpolicy="no-referrer"/>
  <script async src="https://www.googletagmanager.com/gtag/js?id=G-9XJ1E98GLN"></script>
  <script>
    window.dataLayer = window.dataLayer || [];
    function gtag(){dataLayer.push(arguments);}
    gtag('js', new Date());
    gtag('config', 'G-9XJ1E98GLN');
  </script>
  <style>
    :root{
      --bg:#111;
      --text:#eee;
      --accent:#e7b63c;
      --accent-hover:#f5cf4b;
      --border:#444;
      --black:#000;
      --white:#fff;
      --danger:#c62828;
      --ok:#1b5e20
    }
    [data-theme="light"]{
      --bg:#fff;
      --text:#333;
      --border:#ddd
    }
    *{
      margin:0;
      padding:0;
      box-sizing:border-box
    }
    body{
      font-family:'Poppins',sans-serif;
      background:var(--bg);
      color:var(--text);
      line-height:1.6
    }

    .shimmer{
      display:inline-block;
      background:linear-gradient(90deg,var(--accent),#fff,var(--accent));
      background-size:200% 200%;
      -webkit-background-clip:text;
      background-clip:text;
      -webkit-text-fill-color:transparent;
      animation:shimmer 2.8s infinite linear;
      font-weight:600
    }
    @keyframes shimmer{
      0%{background-position:200% 0}
      100%{background-position:-200% 0}
    }
    .shimmer-bg{
      display:inline-block;
      background:#000;
      padding:.1em .35em;
      border-radius:2px;
      line-height:1
    }

    .label-bg{
      display:inline-block;
      background:#000;
      color:#fff;
      padding:.1em .35em;
      border-radius:2px;
      line-height:1;
      font-weight:600
    }
    .price-bg{
      background:#fff;
      color:#000;
      padding:.1em .4em;
      border-radius:3px;
      font-weight:600;
      font-size:.75em
    }
    .fullrow{
      display:block!important
    }

    .invert-anim-wrapper{
      display:inline-block;
      line-height:1;
      border-radius:2px;
      position:relative
    }
    .invert-anim-bg{
      display:block;
      padding:.1em .35em;
      border-radius:2px;
      animation:invbg 2.8s infinite linear
    }
    .invert-anim-text{
      display:block;
      font-weight:600;
      text-align:left;
      animation:invtext 2.8s infinite linear
    }
    @keyframes invbg{
      0%{background:#000}
      50%{background:#fff}
      100%{background:#000}
    }
    @keyframes invtext{
      0%{color:#fff}
      50%{color:#000}
      100%{color:#fff}
    }

    .bayern-block{
      background:var(--black);
      color:var(--white);
      border:1px solid rgba(255,255,255,.14);
      border-radius:6px;
      padding:.9rem .9rem .6rem;
      margin-top:.5rem
    }
    .bayern-list{
      list-style:none;
      margin:0;
      padding:0
    }
    .bayern-list li{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:.5rem;
      margin-bottom:.55rem;
      align-items:start
    }
    .bayern-list li > span:first-child{
      min-width:0;
      overflow-wrap:anywhere;
      display:flex;
      flex-wrap:wrap;
      align-items:center;
      gap:.3rem
    }
    .bayern-list li small{
      grid-column:1 / -1;
      font-size:.75em;
      color:rgba(255,255,255,.8);
      line-height:1.3;
      margin-top:.2rem
    }
    .badge-unavail{
      background:var(--danger);
      color:#fff;
      font-weight:800;
      font-size:.72rem;
      line-height:1.2;
      padding:.12rem .4rem;
      border-radius:3px;
      text-transform:uppercase;
      display:inline-block;
      white-space:normal
    }

    .subcat{
      font-size:1.2rem;
      font-weight:800;
      text-transform:uppercase;
      border-bottom:2px solid #111;
      padding-bottom:.3rem;
      margin:1rem 0 .8rem;
      color:inherit
    }
    .menu-grid{
      display:flex;
      flex-wrap:wrap;
      gap:3rem;
      max-width:1400px;
      width:100%;
      margin:auto;
      padding:0 1rem
    }
    @media(min-width:769px){
      .menu-col{
        flex:0 0 calc((100% - 15rem)/6);
        min-width:250px
      }
    }
    .menu-col{
      flex:1
    }
    .menu-col h3{
      font-size:1.2rem;
      font-weight:800;
      text-transform:uppercase;
      border-bottom:2px solid #111;
      padding-bottom:.3rem;
      margin-bottom:1rem
    }
    .menu-col ul{
      list-style:none
    }
    .menu-col ul li{
      display:grid;
      grid-template-columns:minmax(0,1fr) auto;
      gap:.5rem;
      margin-bottom:.75rem;
      font-weight:400;
      align-items:center
    }
    .menu-col ul li>span:first-child,
    .menu-col ul li>.invert-anim-wrapper:first-child{
      min-width:0;
      justify-self:start;
      align-self:center;
      display:flex;
      align-items:center
    }
    .menu-col ul li span:last-child{
      text-align:right;
      white-space:nowrap;
      align-self:center;
      display:flex;
      align-items:center
    }
    #speisekarte .menu-col ul li small{
      font-size:.75em;
      color:#000;
      display:block;
      margin-top:.25rem;
      line-height:1.3;
      grid-column:1 / -1
    }
    .bayern-list li small{
      color:#fff!important
    }
    .menu-col.getraenke{
      margin:0 auto
    }

    a{
      color:inherit;
      text-decoration:none;
      transition:color .3s ease;
      display:flex;
      flex-direction:column;
      align-items:center;
      text-align:center
    }
    a img.icon{
      width:16px;
      height:16px;
      border:0 solid var(--accent);
      transition:filter .3s ease
    }
    a:hover img.icon{
      filter:brightness(1.2)
    }
    a span{
      margin-top:.5rem;
      font-size:.9rem
    }
    a img.qr{
      width:64px;
      height:64px;
      border:.5px solid var(--accent);
      margin-top:.5rem
    }

    header,nav,section,footer{
      max-width:1400px;
      margin:auto
    }
    header{
      position:relative;
      text-align:center;
      padding:3rem 1rem 1rem
    }
    #theme-toggle{
      position:absolute;
      top:1rem;
      left:1rem;
      background:none;
      border:none;
      color:var(--text);
      font-weight:600;
      cursor:pointer;
      font-size:1rem
    }
    .city-list{
      position:absolute;
      top:1rem;
      right:1rem;
      font-size:1rem;
      font-weight:600;
      color:var(--text);
      white-space:nowrap
    }

    nav{
      display:flex;
      justify-content:center;
      flex-wrap:wrap;
      gap:1.5rem;
      padding:1rem 0;
      border-top:1px solid var(--border);
      border-bottom:1px solid var(--border);
      background:var(--bg)
    }
    nav a:hover{
      color:var(--accent)
    }

    #speisekarte{
      background:var(--accent);
      color:#111;
      padding:3rem 1rem
    }
    #speisekarte .menu-title{
      text-align:center;
      font-size:2.5rem;
      font-weight:800;
      margin-bottom:.5rem;
      color:#fff
    }
    #speisekarte .preorder{
      border:2px solid #000;
      padding:.5rem 1rem;
      display:block;
      width:max-content;
      margin:0 auto 2rem;
      font-weight:600;
      color:#111
    }

    .payment-banner{
      border:2px solid #000;
      background:var(--bg);
      color:var(--text);
      padding:.5rem 1rem;
      margin:1rem auto 1.5rem;
      width:max-content;
      text-align:center;
      border-radius:4px
    }
    .payment-icons{
      display:flex;
      justify-content:center;
      gap:1rem;
      margin-top:.5rem
    }
    .payment-icons .icon{
      position:relative;
      width:32px;
      height:32px
    }
    .payment-icons .icon img,
    .payment-icons .icon i{
      width:100%;
      height:100%;
      font-size:32px
    }
    .payment-icons .icon.disabled img,
    .payment-icons .icon.disabled i{
      opacity:.6;
      filter:grayscale(100%) brightness(180%)
    }
    .payment-icons .icon.disabled::after{
      content:'';
      position:absolute;
      top:50%;
      left:0;
      width:100%;
      height:2px;
      background:var(--accent);
      transform:rotate(-45deg)
    }

    section:not(#speisekarte){
      padding:2rem 1rem;
      border-top:1px solid var(--border);
      text-align:center
    }
    section:nth-of-type(even):not(#speisekarte){
      background:var(--bg)
    }
    section:not(#speisekarte) h2{
      font-size:2rem;
      font-weight:600;
      color:var(--accent);
      margin-bottom:1rem
    }

    #fleisch .image-gallery,
    #kundenbilder .image-gallery{
      display:flex;
      flex-wrap:wrap;
      gap:1rem;
      justify-content:center;
      margin-top:1rem
    }
    #fleisch .image-gallery img,
    #kundenbilder .image-gallery img{
      border:.5px solid var(--accent);
      max-width:200px;
      width:100%;
      object-fit:cover
    }
    #kundenbilder .image-gallery img{
      cursor:zoom-in
    }

    .open-status{
      display:inline-block;
      margin-top:.5rem;
      font-weight:800;
      padding:.25rem .5rem;
      border-radius:4px
    }
    .status-open{
      background:var(--ok);
      color:#fff
    }
    .status-closed{
      background:var(--danger);
      color:#fff
    }

    #standort small{
      display:block;
      margin-top:.5rem
    }
    
    /* NEUER STYLE FÜR DEN BUTTON */
    .measure-btn {
      margin-top: 1rem;
      cursor: pointer;
      background: var(--accent);
      color: #111;
      border: none;
      padding: 0.5rem 1rem;
      border-radius: 4px;
      font-weight: 700;
      font-family: inherit;
      transition: filter 0.3s;
      display: inline-block;
    }
    .measure-btn:hover {
      filter: brightness(1.15);
    }
    
    #kontakt p{
      display:flex;
      flex-wrap:wrap;
      justify-content:center;
      gap:2rem
    }

    footer{
      text-align:center;
      padding:2rem 1rem;
      color:var(--text);
      font-size:1rem
    }
    footer small{
      display:block;
      font-size:.6rem;
      margin-top:.5rem;
      color:rgba(238,238,238,0.7)
    }

    .lightbox{
      position:fixed;
      inset:0;
      background:rgba(0,0,0,.85);
      display:none;
      align-items:center;
      justify-content:center;
      padding:2rem;
      z-index:1000
    }
    .lightbox.open{
      display:flex
    }
    .lightbox img{
      max-width:90vw;
      max-height:85vh
    }
    .lightbox .close{
      position:absolute;
      top:1rem;
      right:1rem;
      background:transparent;
      border:0;
      color:#fff;
      font-size:2rem;
      line-height:1;
      cursor:pointer
    }

    @media(min-width:1024px){
      .bayern-list li > span:first-child{
        flex-direction:column;
        align-items:flex-start;
        gap:.25rem
      }
      .badge-unavail{
        margin-top:.15rem
      }
    }
    @media(max-width:768px){
      header h1{
        font-size:2.5rem
      }
      nav{
        flex-direction:column;
        gap:1rem;
        align-items:center
      }
      .menu-grid{
        flex-direction:column;
        align-items:center
      }
      .menu-col{
        width:100%;
        max-width:400px;
        text-align:left
      }
      .city-list{
        position:relative;
        top:auto;
        right:auto;
        margin-top:1rem
      }
    }
  </style>
</head>
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-MM2SSXGV"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
<body data-theme="dark">

<script>
(function () {
    var now = new Date();
    if (now.getMonth() !== 11) return;

    var canvas = document.createElement('canvas');
    var ctx = canvas.getContext('2d');
    var flakes = [];
    var flakeCount = 150;

    canvas.id = 'snow-canvas';
    canvas.style.position = 'fixed';
    canvas.style.top = 0;
    canvas.style.left = 0;
    canvas.style.width = '100vw';
    canvas.style.height = '100vh';
    canvas.style.pointerEvents = 'none';
    canvas.style.zIndex = '999999';
    document.body.appendChild(canvas);

    function resize() {
        canvas.width = window.innerWidth;
        canvas.height = window.innerHeight;
    }

    function createFlakes() {
        flakes = [];
        for (var i = 0; i < flakeCount; i++) {
            flakes.push({
                x: Math.random() * canvas.width,
                y: Math.random() * canvas.height,
                r: 1 + Math.random() * 3,
                vx: -0.5 + Math.random(),
                vy: 0.7 + Math.random() * 1.2,
                alpha: 0.4 + Math.random() * 0.6
            });
        }
    }

    function update() {
        for (var i = 0; i < flakes.length; i++) {
            var f = flakes[i];
            f.y += f.vy;
            f.x += f.vx;

            if (f.y > canvas.height) {
                f.y = -5;
                f.x = Math.random() * canvas.width;
            }

            if (f.x > canvas.width) f.x = 0;
            if (f.x < 0) f.x = canvas.width;
        }
    }

    function draw() {
        ctx.clearRect(0, 0, canvas.width, canvas.height);
        ctx.fillStyle = '#fff';
        for (var i = 0; i < flakes.length; i++) {
            var f = flakes[i];
            ctx.globalAlpha = f.alpha;
            ctx.beginPath();
            ctx.arc(f.x, f.y, f.r, 0, Math.PI * 2);
            ctx.fill();
        }
        ctx.globalAlpha = 1;
    }

    function loop() {
        update();
        draw();
        requestAnimationFrame(loop);
    }

    window.addEventListener('resize', resize);

    resize();
    createFlakes();
    loop();
})();
</script>

  <header>
    <img src="https://mr.shak-mak.de/images/logo.png?=<?= time(); ?>" width="50%" alt="Logo">
    <div class="city-list">
      <a href="https://mr.shak-mak.de/weiden?=<?= time(); ?>">Weiden</a>
    </div>
  </header>

  <nav>
    <a href="#speisekarte">Speisekarte</a>
    <a href="#zeiten">Öffnungszeiten</a>
    <a href="#fleisch">Unsere Qualität</a>
    <a href="#standort">Standort</a>
    <a href="#kontakt">Kontakt</a>
    <a href="https://mr.shak-mak.de/herstellung/?=<?= time(); ?>">Herstellung</a>
    <a href="https://mr.shak-mak.de/impressum/?=<?= time(); ?>">Impressum</a>
  </nav>

  <section id="speisekarte">
   <div class="menu-title">SPEISEKARTE</div>
    <div class="preorder">
     <big><big> Telefonische Vorbestellung:
      <a href="tel://004996139881868">0961-39881868</a></big></big>
    </div>

    <div class="menu-grid">
      <?php foreach ($menuData as $category): ?>
        <?php
          $categoryName = isset($category['category']) ? (string)$category['category'] : '';
          $items = isset($category['items']) && is_array($category['items']) ? $category['items'] : [];

          if ($categoryName === 'Pide') {
              continue;
          }

          $colClass = 'menu-col';
          if ($categoryName === 'Getränke') {
              $colClass .= ' getraenke';
          }
        ?>
        <div class="<?= htmlspecialchars($colClass, ENT_QUOTES) ?>">
          <?php if ($categoryName === 'Döner Burger'): ?>
            <h3><?= htmlspecialchars($categoryName, ENT_QUOTES) ?></h3>
            <ul>
              <?php foreach ($items as $item): ?>
                <?php
                  $label = isset($item['label']) ? (string)$item['label'] : '';
                  $price = isset($item['price']) ? (string)$item['price'] : '';
                  $description = isset($item['description']) ? (string)$item['description'] : '';
                  $style = isset($item['style']) ? (string)$item['style'] : 'label-bg';

                  $isExtraLine = false;
                  $labelTrim = ltrim(mb_strtolower($label));
                  if (mb_stripos($labelTrim, 'nach wunsch') === 0) {
                      $isExtraLine = true;
                  }
                ?>
                <li>
                  <?php if ($isExtraLine): ?>
                    <span><small><?= htmlspecialchars($label, ENT_QUOTES) ?></small></span>
                  <?php else: ?>
                    <?php if ($style === 'shimmer'): ?>
                      <span class="shimmer-bg"><span class="shimmer"><?= htmlspecialchars($label, ENT_QUOTES) ?></span></span>
                    <?php else: ?>
                      <span class="label-bg"><?= htmlspecialchars($label, ENT_QUOTES) ?></span>
                    <?php endif; ?>
                  <?php endif; ?>

                  <?php if ($price !== ''): ?>
                    <span class="price-bg"><?= htmlspecialchars($price, ENT_QUOTES) ?></span>
                  <?php else: ?>
                    <span></span>
                  <?php endif; ?>

                  <?php if ($description !== '' && !$isExtraLine): ?>
                    <small><?= htmlspecialchars($description, ENT_QUOTES) ?></small>
                  <?php endif; ?>
                </li>
              <?php endforeach; ?>
            </ul>

            <?php if (!empty($pideItems)): ?>
              <h3 style="margin-top:1.8rem;">Pide</h3>
              <ul>
                <?php foreach ($pideItems as $item): ?>
                  <?php
                    $label = isset($item['label']) ? (string)$item['label'] : '';
                    $price = isset($item['price']) ? (string)$item['price'] : '';
                    $description = isset($item['description']) ? (string)$item['description'] : '';
                    $style = isset($item['style']) ? (string)$item['style'] : 'label-bg';

                    $isExtraLine = false;
                    $labelTrim = ltrim(mb_strtolower($label));
                    if (mb_stripos($labelTrim, 'nach wunsch') === 0) {
                        $isExtraLine = true;
                    }
                  ?>
                  <li>
                    <?php if ($isExtraLine): ?>
                      <span><small><?= htmlspecialchars($label, ENT_QUOTES) ?></small></span>
                    <?php else: ?>
                      <?php if ($style === 'shimmer'): ?>
                        <span class="shimmer-bg"><span class="shimmer"><?= htmlspecialchars($label, ENT_QUOTES) ?></span></span>
                      <?php else: ?>
                        <span class="label-bg"><?= htmlspecialchars($label, ENT_QUOTES) ?></span>
                      <?php endif; ?>
                    <?php endif; ?>

                    <?php if ($price !== ''): ?>
                      <span class="price-bg"><?= htmlspecialchars($price, ENT_QUOTES) ?></span>
                    <?php else: ?>
                      <span></span>
                    <?php endif; ?>

                    <?php if ($description !== '' && !$isExtraLine): ?>
                      <small><?= htmlspecialchars($description, ENT_QUOTES) ?></small>
                    <?php endif; ?>
                  </li>
                <?php endforeach; ?>
              </ul>
            <?php endif; ?>

          <?php else: ?>
            <h3><?= htmlspecialchars($categoryName, ENT_QUOTES) ?></h3>
            <ul>
              <?php foreach ($items as $item): ?>
                <?php
                  $label = isset($item['label']) ? (string)$item['label'] : '';
                  $price = isset($item['price']) ? (string)$item['price'] : '';
                  $description = isset($item['description']) ? (string)$item['description'] : '';
                  $style = isset($item['style']) ? (string)$item['style'] : 'label-bg';

                  $isExtraLine = false;
                  $labelTrim = ltrim(mb_strtolower($label));
                  if (mb_stripos($labelTrim, 'nach wunsch') === 0) {
                      $isExtraLine = true;
                  }
                ?>
                <li>
                  <?php if ($isExtraLine): ?>
                    <span><small><?= htmlspecialchars($label, ENT_QUOTES) ?></small></span>
                  <?php else: ?>
                    <?php if ($style === 'shimmer'): ?>
                      <span class="shimmer-bg"><span class="shimmer"><?= htmlspecialchars($label, ENT_QUOTES) ?></span></span>
                    <?php else: ?>
                      <span class="label-bg"><?= htmlspecialchars($label, ENT_QUOTES) ?></span>
                    <?php endif; ?>
                  <?php endif; ?>

                  <?php if ($price !== ''): ?>
                    <span class="price-bg"><?= htmlspecialchars($price, ENT_QUOTES) ?></span>
                  <?php else: ?>
                    <span></span>
                  <?php endif; ?>

                  <?php if ($description !== '' && !$isExtraLine): ?>
                    <small><?= htmlspecialchars($description, ENT_QUOTES) ?></small>
                  <?php endif; ?>
                </li>
              <?php endforeach; ?>
            </ul>
          <?php endif; ?>
        </div>
      <?php endforeach; ?>
    </div>

    <p><br></p>
    <div class="payment-banner">
      <p><b>nur Barzahlung möglich</b></p>
      <div class="payment-icons">
        <div class="icon"><img src="https://cdn.simpleicons.org/cashapp/e7b63c" alt="Cash"></div>
        <div class="icon disabled"><img src="https://cdn.simpleicons.org/googlepay/e7b63c" alt="Google Pay"></div>
        <div class="icon disabled"><img src="https://cdn.simpleicons.org/applepay/e7b63c" alt="Apple Pay"></div>
        <div class="icon disabled"><img src="https://cdn.simpleicons.org/mastercard/e7b63c" alt="MasterCard"></div>
        <div class="icon disabled"><img src="https://cdn.simpleicons.org/visa/e7b63c" alt="Visa"></div>
      </div>
    </div>
  </section>

  <section id="zeiten">
    <h2>Öffnungszeiten</h2>
    <p>Montag – Samstag: 11:00 – 21:30<br>Sonntag: 11:00 - 21:00<br>Feiertag: 11:00 - 21:30</p>
    <div class="open-status <?= htmlspecialchars($statusClass, ENT_QUOTES) ?>"><?= htmlspecialchars($statusText, ENT_QUOTES) ?></div>
  </section>

  <section id="fleisch">
    <h2>Unsere Qualität</h2>
    <p>Selbst gespießt. Purer Geschmack. <strong><a href="https://mr.shak-mak.de/herstellung/?=<?= time(); ?>"><u>>> Infos zur Herstellung <<</u></a></strong></p>
    <div class="image-gallery">
      <img src="https://mr.shak-mak.de/images/marco.jpg" alt="Marco">
    </div>
  </section>

  <section id="standort">
    <h2>Standort</h2>
    <p>
      Bahnhofstraße 39<br>
      92637 Weiden in der Oberpfalz<br>
      <a href="https://maps.app.goo.gl/Bv9xDQCgYNo2stxn6" target="_blank"><small>(in Google Maps öffnen)</small></a>
      <br>
      <button id="btn-measure" class="measure-btn" data-lat="49.67663" data-lon="12.16439">📍 Entfernung messen</button>
    </p>
  </section>

  <section id="kontakt">
    <h2>Kontakt</h2>
    <p>
      <a href="mailto:mr.shakmak@gmail.com">
        <img class="icon" src="https://cdn.simpleicons.org/gmail/e7b63c" alt="E-Mail">
        <span>mr.shakmak@gmail.com</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=mailto:mr.shakmak@gmail.com" alt="QR E-Mail">
      </a>
      <a href="https://instagram.com/_mr.shakmak_" target="_blank">
        <img class="icon" src="https://cdn.simpleicons.org/instagram/e7b63c" alt="Instagram">
        <span>_mr.shakmak_</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=https://instagram.com/_mr.shak-mak_" alt="QR Instagram">
      </a>
      <a href="https://tiktok.com/@marco.cakmak.baye" target="_blank">
        <img class="icon" src="https://cdn.simpleicons.org/tiktok/e7b63c" alt="TikTok">
        <span>@marco.cakmak.baye</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=https://tiktok.com/@marco.cakmak.baye" alt="QR TikTok">
      </a>
      <a href="tel://004996139881868">
        <img class="icon" src="https://cdn.simpleicons.org/whatsapp/e7b63c" alt="WhatsApp">
        <span>0961-39881868</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=tel://004996139881868" alt="QR Telefon">
      </a>
      <a href="https://g.page/r/CaXvr7DzbFeFEAE/review" target="_blank">
        <img class="icon" src="https://cdn.simpleicons.org/googlemaps/e7b63c" alt="GoogleMaps">
        <span>auf Google bewerten</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=https://search.google.com/local/writereview?placeid=ChIJR8SRJAA5oEcRpe-vsPNsV4U" alt="QR Google Maps">
      </a>
      <a href="https://www.tripadvisor.de/ClientLink?value=WldiXy9Vc2VyUmV2aWV3RWRpdC1nNDI4MzY5MS1kMzMyNzg3NzUtTXJfU2hha19NYWstRXNjaGVuYW5hdGlvbmF0ZV9CYXZhcmlh" target="_blank">
        <img class="icon" src="https://cdn.simpleicons.org/tripadvisor/e7b63c" alt="TripAdvisor">
        <span>auf TripAdvisor bewerten</span>
        <img class="qr" src="https://api.qrserver.com/v1/create-qr-code/?size=100x100&data=https://www.tripadvisor.de/ClientLink?value=WldiXy9Vc2VyUmV2aWV3RWRpdC1nNDI4MzY5MS1kMzMyNzg3NzUtTXJfU2hha19NYWstRXNjaGVuYW5hdGlvbmF0ZV9CYXZhcmlh" alt="QR TripAdvisor">
      </a>
    </p>
  </section>

  <footer>
    © <?= date('Y') ?> Mr. Shak Mak – Alle Rechte vorbehalten.
    <small><a href="https://instagram.com/h1rule/">made by @h1rule</a></small>
  </footer>

  <div id="lightbox" class="lightbox" aria-modal="true" role="dialog" aria-label="Bildanzeige">
    <button class="close" aria-label="Schließen">×</button>
    <img alt="Großansicht">
  </div>

  <script>
    const btn = document.getElementById('theme-toggle');
    const root = document.documentElement;
    if (btn) {
      btn.addEventListener('click', () => {
        const next = root.getAttribute('data-theme') === 'dark' ? 'light' : 'dark';
        root.setAttribute('data-theme', next);
        btn.textContent = next === 'light' ? 'DUNKEL' : 'HELL';
        localStorage.setItem('theme', next);
      });
      if (localStorage.getItem('theme') === 'light') {
        root.setAttribute('data-theme', 'light');
        btn.textContent = 'DUNKEL';
      }
    }

    const lb = document.getElementById('lightbox');
    const lbImg = lb.querySelector('img');
    const lbClose = lb.querySelector('button.close');
    function openLightbox(src, alt) {
      lbImg.src = src;
      lbImg.alt = alt || 'Bild';
      lb.classList.add('open');
    }
    function closeLightbox() {
      lb.classList.remove('open');
      lbImg.src = '';
    }
    lbClose.addEventListener('click', closeLightbox);
    lb.addEventListener('click', (e)=>{
      if(e.target===lb) closeLightbox();
    });
    document.addEventListener('keydown', (e)=>{
      if(e.key==='Escape' && lb.classList.contains('open')) closeLightbox();
    });

    // === ENTFERNUNG MESSEN LOGIK ===
    function deg2rad(deg) { return deg * (Math.PI/180); }
    function calcDist(lat1, lon1, lat2, lon2) {
      var R = 6371; 
      var dLat = deg2rad(lat2-lat1);
      var dLon = deg2rad(lon2-lon1);
      var a = Math.sin(dLat/2) * Math.sin(dLat/2) +
              Math.cos(deg2rad(lat1)) * Math.cos(deg2rad(lat2)) *
              Math.sin(dLon/2) * Math.sin(dLon/2);
      var c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1-a));
      return R * c;
    }

    const mBtn = document.getElementById('btn-measure');
    if(mBtn) {
      mBtn.addEventListener('click', function() {
        if(!navigator.geolocation) {
          mBtn.innerText = "GPS nicht unterstützt";
          return;
        }
        const originalText = mBtn.innerText;
        mBtn.innerText = "Standort wird gesucht...";
        
        const targetLat = parseFloat(mBtn.dataset.lat);
        const targetLon = parseFloat(mBtn.dataset.lon);

        navigator.geolocation.getCurrentPosition(function(pos) {
          const dist = calcDist(pos.coords.latitude, pos.coords.longitude, targetLat, targetLon);
          mBtn.innerText = "📍 " + dist.toFixed(1) + " km";
        }, function(err) {
          console.error(err);
          mBtn.innerText = "Standortfehler (GPS an?)";
          setTimeout(()=> mBtn.innerText = originalText, 3000);
        }, { enableHighAccuracy: true, timeout: 5000 });
      });
    }
  </script>

</body>
</html>
