<!DOCTYPE html>
<html lang="de">

<head>
    <meta charset="UTF-8">
    <meta name="robots" content="noindex">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="keywords" content="edp-services ag, demoshop, demo, luzern, kriens, zeitung">
    <meta name="description" content="Demoshop von edp-services ag dient als Demo für Kunden.">
    <meta name="referrer" content="unsafe-url">
    <!-- Favicon -->
    <link rel="Shortcut icon" type="image/x-icon" href="https://www.edp.ch/favicon.ico">
    <link rel="icon" type="image/ico" href="/images/Edi_Maskottchen.ico">

    <!-- Bootstrap Core CSS -->
    <link href="/css/bootstrap.css" rel="stylesheet">
    <link href="/css/jquery/jquery-ui.min.css" rel="stylesheet">

    <!-- Custom CSS -->
    <link rel="stylesheet" href="css/funkyradio.css">
    <link rel="stylesheet" href="css/shop-classes.css">

    <!-- Jquery -->
    <script src="/js/jquery.min.js"></script>

    <!-- Datepicker -->
    <link href="/datepicker/datepicker.css" rel="stylesheet">
    <script src="/datepicker/datepicker.js"></script>

    <!-- DataTable -->
    <link rel="stylesheet" href="https://cdn.datatables.net/1.11.5/css/jquery.dataTables.min.css">
    <script src="https://cdn.datatables.net/1.11.5/js/jquery.dataTables.min.js"></script>

    <!-- Google Fonts -->
    <link href="https://fonts.googleapis.com/css2?family=Miriam+Libre&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto&display=swap" rel="stylesheet">
    <link href="https://fonts.googleapis.com/css2?family=Roboto:wght@400;700&display=swap" rel="stylesheet">
    <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css">

    <!-- Custom javascript -->
    <script src="/js/bootstrapjs/popper.min.js"></script>
    <script src="/js/bootstrapjs/bootstrap.min.js"></script>
    <script src="/js/script.js"></script>
    <script src="/js/pageManager/yearChangeFooter.js"></script>
    <script src="/js/pageManager/umleitungActive.js"></script>
</head>

<body id="body" onresize="bodyResize()">

    <nav class="navbar navbar-expand-lg navbar-dark bg-header-footer fixed-top mb-5">
        <div class="container d-flex flex-column">
            <div class="w-100">
                <div class="container d-flex p-0" id="navbar">
                    <a href="/?homepage" class="ms-lg-0">
                        <img src="images/edp_logo_weiss.png" alt="edp-logo" width="100">
                    </a>
                    <button class="navbar-toggler ms-auto" id="hamburger_button" type="button" data-bs-toggle="offcanvas" data-bs-target="#navigation_canvas" aria-controls="navbarContent" aria-expanded="false" aria-label="Toggle navigation">
                        <span class="navbar-toggler-icon"></span>
                    </button>
                    <div class="ms-auto d-none d-lg-flex">
                        <br>
                        
                            <a href="#" class="nav-link text-light ps-1 pe-1" aria-label="Profile/Login" data-bs-toggle="offcanvas" data-bs-target="#login_register">
                                <span class="glyphicon glyphicon-user"></span>
                                <span class="line-height">
                                <i class="bi bi-person-fill h4 mb-3"></i>
                                <span class="d-none d-md-inline">Cockpit</span>
                            </span></a>
                        
                        <span><!-- Ungültiges Tag. Fehler: System.NullReferenceException: Object reference not set to an instance of an object.
   at Shop_Lib.GetEditRechnungsadresses() in c:\inetpub\demoshop.faros.ch\App_Code\Libraries\Shop_Lib.cs:line 1084
   at CMSParser.ParseHTML(String inputHTML, String arguments) in c:\inetpub\demoshop.faros.ch\App_Code\Libraries\CMSParser.cs:line 890--></span>
                        <br>
                        <a href="#" class="nav-link text-light ps-1 basketIcon" aria-label="Warenkorb" data-bs-toggle="offcanvas" data-bs-target="#basket">
                            
                                <span rel="tooltip" title="0 Artikel im Warenkorb" class="fs-nav text-white">
                                    <span class="btn-link bg-header-footer text-light text-decoration-none border-0 position-relative">
                                        <i class="bi bi-cart4 text-light h4 mb-3"></i>
                                        <span class="d-none d-md-inline">Warenkorb</span>
                                    
                                    
                                    
                                    </span>
                                </span>
                            
                        </a>
                    </div>
                </div>
            </div>
            <div class="d-flex p-0 w-100">
                <div class="collapse navbar-collapse" id="navbarContent">
                    <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                        <li class="nav-item">
                            <a class="nav-link text-light ps-0" href="/?home">
                                Abo
                            </a>
                        </li>
                        
                            <li class="nav-item dropdown">
                                <a class="nav-link dropdown-toggle text-light" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                                    <span>Bücher</span>
                                </a>
                                <ul class="dropdown-menu">
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=BUCH&praessub=BUCH">Publikationen</a>
                                        </li>
                                    
                                </ul>
                            </li>
                        
                            <li class="nav-item dropdown">
                                <a class="nav-link dropdown-toggle text-light" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                                    <span>Merchandise</span>
                                </a>
                                <ul class="dropdown-menu">
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=VERSCH&praessub=VERSCH">EDP-Artikel</a>
                                        </li>
                                    
                                </ul>
                            </li>
                        
                            <li class="nav-item dropdown">
                                <a class="nav-link dropdown-toggle text-light" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                                    <span>Spezial</span>
                                </a>
                                <ul class="dropdown-menu">
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=GUTSCH&praessub=GUTSCH">Gutscheine</a>
                                        </li>
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=AUSFLUG&praessub=AUSFLUG">Ausflüge</a>
                                        </li>
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=STM&praessub=STM">Online Stellenmarktplatz</a>
                                        </li>
                                    
                                </ul>
                            </li>
                        
                            <li class="nav-item dropdown">
                                <a class="nav-link dropdown-toggle text-light" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
                                    <span>Aus-/Weiterbildung</span>
                                </a>
                                <ul class="dropdown-menu">
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=KURS&praessub=KURS">Kurse</a>
                                        </li>
                                    
                                        <li>
                                            <a class="dropdown-item" data-target="subnav-key2" href="/?artikelliste&praesgrp=WB&praessub=WB">Weiterbildung</a>
                                        </li>
                                    
                                </ul>
                            </li>
                        
                    </ul>
                    <div class="ms-auto me-1 mb-1 d-none d-lg-flex">
                        <a href="https://demo-inserat.faros.ch/default?createnew=true" target="_blank" class="border rounded p-1 text-decoration-none text-white">Inserat aufgeben</a>
                    </div>
                </div>
            </div>
        </div>
    </nav>

    <div class="justify-content-center align-items-center d-none" id="loading_artikelseite" style="position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: rgba(0, 0, 0, 0.5); z-index: 99999999; display: flex;">
        <div class="card" style="z-index: 9999; display: flex;">
            <div class="card-body text-center">
                <div class="justify-content-center align-items-center" style="position: fixed; left: 0; right: 0; z-index: 999; display: flex;">
                    <div class="spinner-border text-primary" role="status">
                        <span class="visually-hidden">Loading...</span>
                    </div>
                </div>
                <br><br>Daten werden geladen…<br>Wir bereiten alles für Sie vor.<br>
            </div>
        </div>
    </div>

    <!-- include-Content -->
    <main class="mb-5 pt-lg-5">
        <div class="mt-5 pt-5 mb-5 container">
            <div>

<!-- Fonts -->
<link rel="preconnect" href="https://fonts.googleapis.com">
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@300;400;600;700&display=swap" rel="stylesheet">

<style>
  :root{
    --accent: rgb(201,7,10);
    --muted:#6b7280;
    --card:#ffffff;
    --bg:#fbfbfb;
    --radius:12px;
    --container:1100px;
  }
  *{box-sizing:border-box}
  body{font-family:Inter,system-ui,Segoe UI,Arial; margin:0; background:var(--bg); color:#111;}
  .wrap{max-width:var(--container); margin:0 auto; padding:28px;}
  header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px 0;}
  .brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:inherit}
  .brand-logo{
    width:64px;height:64px;border-radius:12px;background:var(--accent);
    display:inline-grid;place-items:center;box-shadow:0 8px 28px rgba(0,0,0,.08);overflow:hidden;
  }
  .brand-logo img{width:68%;height:auto;display:block;filter:brightness(1.05) contrast(1.05)}
  nav{display:flex;align-items:center;}
  nav a{margin-left:14px;color:var(--muted);text-decoration:none;font-weight:600}
  .user-menu{
    display:flex;
    align-items:center;
    gap:14px;
    margin-left:20px;
    padding-left:20px;
    border-left:1px solid #eee;
  }
  .welcome-text{
    color:var(--accent);
    font-weight:600;
  }
  .profile-link, .logout-link{
    color:var(--muted);
    text-decoration:none;
    font-weight:600;
  }
  .profile-link:hover, .logout-link:hover{
    color:var(--accent);
  }

  /* NEW: full width hero slider */
  .top-hero { position:relative; width:100%; overflow:hidden; }
  .top-hero .slides { display:flex; transition:transform .6s ease; will-change:transform; }
  .top-hero .slide {
    min-width:100%;
    height:64vh;             /* big visual; adjusts with viewport */
    min-height:420px;
    background-size:cover;
    background-position:center;
    position:relative;
    display:flex;
    align-items:flex-end;
  }
  @media (max-width:900px){ .top-hero .slide{ height:52vh; min-height:320px } }
  .top-hero .slide::after{
    /* subtle bottom gradient to make overlay text readable */
    content:""; position:absolute; left:0; right:0; bottom:0; height:50%;
    background:linear-gradient(180deg, rgba(0,0,0,0.0) 0%, rgba(0,0,0,0.55) 100%);
    pointer-events:none;
  }
  .top-hero .overlay {
    position:relative; z-index:2; color:#fff; padding:28px; max-width:1100px; width:100%;
    margin:0 auto 32px; display:flex; align-items:flex-end;
  }
  .top-hero .teaser {
    background:linear-gradient(90deg, rgba(0,0,0,0.18), rgba(0,0,0,0.22));
    padding:20px 22px; border-radius:10px; backdrop-filter: blur(2px);
  }
  .top-hero .teaser .kicker { display:inline-block;padding:6px 10px;background:rgba(255,255,255,0.08);color:#fff;border-radius:999px;font-weight:700;font-size:.8rem; margin-bottom:8px; }
  .top-hero .teaser h2{ margin:0 0 8px; font-size:2.4rem; line-height:1.05; }
  @media (max-width:900px){ .top-hero .teaser h2{ font-size:1.4rem } }
  .top-hero .teaser p{ margin:0;color:rgba(255,255,255,0.9); max-width:60ch }
  .top-hero .controls {
    position:absolute; z-index:5; right:18px; top:50%; transform:translateY(-50%); display:flex; gap:8px;
  }
  .top-hero .btn-hero {
    background:rgba(0,0,0,0.45); color:#fff; border:0; width:44px;height:44px;border-radius:8px; display:grid; place-items:center; cursor:pointer;
  }
  .top-hero .dots { position:absolute; left:50%; transform:translateX(-50%); bottom:12px; z-index:6; display:flex; gap:8px; }
  .top-hero .dot { width:10px;height:10px;border-radius:999px;background:rgba(255,255,255,0.45); cursor:pointer; }
  .top-hero .dot.active { background:#fff; box-shadow:0 2px 6px rgba(0,0,0,0.25) }

  /* overlay logo/navigation on hero */
  .hero-topbar { position:absolute; left:0; right:0; top:12px; z-index:8; display:flex; align-items:center; justify-content:space-between; padding:0 18px; }
  .hero-topbar .logo {
    display:flex; align-items:center; gap:12px; text-decoration:none; color:#fff;
    background:linear-gradient(90deg, rgba(0,0,0,0.18), rgba(0,0,0,0.08)); padding:8px 12px; border-radius:10px;
  }
  /* keep the previous navigation visual style (muted links, weight) on hero */
  .hero-topbar nav a{
    color:var(--muted);
    margin-left:14px;
    text-decoration:none;
    font-weight:600;
    background: rgba(255,255,255,0.06);
    padding:6px 10px;
    border-radius:8px;
  }
  .hero-topbar nav a:hover{ color:var(--accent); background: rgba(255,255,255,0.12); }

  .hero-topbar .user-mini { display:flex; gap:12px; align-items:center; color:#fff; font-weight:600; }

  /* NEW: full-width category bar overlaying hero (spans viewport, spaced) */
  .hero-categories {
    position:absolute;
    left:0;
    right:0;
    top:84px; /* sits below the topbar */
    z-index:7;
    display:flex;
    justify-content:space-between;
    gap:20px;
    padding:10px 22px;
    box-sizing:border-box;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    background:linear-gradient(180deg, rgba(0,0,0,0.06), rgba(0,0,0,0.00));
  }
  .hero-categories a {
    color:var(--muted);
    text-decoration:none;
    font-weight:700;
    white-space:nowrap;
    padding:8px 12px;
    border-radius:8px;
    flex: 0 0 auto;
  }
  .hero-categories a:hover{ color:var(--accent); background: rgba(255,255,255,0.06); }

  @media (max-width:1100px){
    .hero-categories { padding:8px 12px; gap:12px; top:72px; }
    .hero-topbar { top:8px; padding:0 12px; }
  }
  @media (max-width:700px){
    .hero-categories { gap:10px; top:64px; }
    .hero-categories a { padding:7px 10px; font-size:.95rem; }
  }

  /* keep existing content styles */
  .hero{display:grid;grid-template-columns:1fr;gap:22px;align-items:start;margin:10px 0 22px;padding:36px;border-radius:var(--radius);background:linear-gradient(180deg,#fff 0%, #fff7f6 100%);box-shadow:0 6px 30px rgba(8,20,24,.04)}
  .hero-left h1{font-size:2.2rem;margin:0 0 10px}
  .kicker{display:inline-block;padding:6px 10px;background:rgba(201,7,10,.08);color:var(--accent);border-radius:999px;font-weight:700;font-size:.75rem;letter-spacing:.08em}
  .lead{color:var(--muted);margin:0 0 18px}
  .hero-cta{display:flex;gap:12px}
  .btn{display:inline-block;padding:10px 14px;border-radius:10px;border:0;cursor:pointer}
  .btn-plain{background:#fff;border:1px solid #eee;color:#111}
  .btn-accent{background:var(--accent);color:#fff}
  .promo{padding:16px;border-radius:10px;background:linear-gradient(90deg,#fff5f5,#ffffff);border:1px solid rgba(201,7,10,.06)}
  .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:18px}
  @media (max-width:960px){.grid{grid-template-columns:repeat(2,1fr)}.hero{grid-template-columns:1fr}}
  @media (max-width:600px){.grid{grid-template-columns:1fr}.hero{padding:20px}}
  .card{background:var(--card);padding:14px;border-radius:12px;box-shadow:0 6px 18px rgba(15,20,24,.04);display:flex;flex-direction:column;gap:8px}
  .card img{width:100%;height:160px;object-fit:cover;border-radius:8px}
  .meta{color:var(--muted);font-size:.85rem}
  .pill{display:inline-block;padding:6px 10px;border-radius:999px;background:rgba(0,0,0,.04);font-weight:600}
  .byline{font-size:.92rem;color:var(--muted)}
  .article-links{margin-top:auto;display:flex;justify-content:space-between;align-items:center}
  .form-row{display:flex;gap:8px}
  input[type=email]{padding:10px;border-radius:10px;border:1px solid #eaeaea;flex:1}
  .muted-note{font-size:.85rem;color:var(--muted);margin-top:8px}
  .scroll-to-top {
    position: fixed;
    bottom: 25px;
    right: 25px;
    background: var(--accent);
    width: 50px;
    height: 50px;
    border-radius: 50%;
    display: none;
    align-items: center;
    justify-content: center;
    color: white;
    cursor: pointer;
    box-shadow: 0 2px 10px rgba(0,0,0,0.1);
    transition: all 0.3s ease;
    z-index: 1000;
  }
  .scroll-to-top:hover {
    background: #d41013;
    transform: translateY(-3px);
  }
  .scroll-to-top.visible {
    display: flex;
  }
  /* Add: newspaper-style expandable panels (quick access) */
  .quick-panels {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 14px;
    margin: 22px 0;
    align-items: start;
  }
  @media (max-width:1100px){ .quick-panels{grid-template-columns:repeat(2,1fr)} }
  @media (max-width:700px){ .quick-panels{grid-template-columns:1fr} }

  .panel {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 6px 18px rgba(15,20,24,.04);
    overflow: hidden;
    display:flex;
    flex-direction:column;
    transition: transform .15s ease, box-shadow .15s ease;
  }
  .panel:hover { transform: translateY(-4px); box-shadow: 0 10px 26px rgba(15,20,24,.06); }

  .panel-header {
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px 14px;
    cursor: pointer;
    user-select: none;
    border-bottom: 1px solid #f2f4f6;
  }
  .panel-header .icon {
    width:44px;
    height:44px;
    flex:0 0 44px;
    border-radius:8px;
    display:grid;
    place-items:center;
    background: linear-gradient(180deg, rgba(201,7,10,0.12), rgba(201,7,10,0.06));
    color: var(--accent);
    font-weight:700;
    font-size:18px;
  }
  .panel-header .title {
    font-weight:700;
    color:#111;
    font-size:1rem;
  }
  .panel-header .meta {
    margin-left:auto;
    color:var(--muted);
    font-size:.9rem;
    font-weight:600;
  }

  .panel-body {
    max-height:0;
    overflow:hidden;
    transition: max-height .32s cubic-bezier(.2,.9,.2,1);
    padding:0 14px;
    background:linear-gradient(180deg,#fff,#fff);
  }
  .panel-body.open {
    padding:12px 14px 16px;
  }

  .panel-list { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:10px; }
  .panel-list a {
    display:flex; gap:10px; text-decoration:none; color:inherit; align-items:flex-start;
    padding:6px;border-radius:8px;
  }
  .panel-list a:hover { background:rgba(0,0,0,0.02); }
  .panel-list img { width:76px; height:56px; object-fit:cover; border-radius:6px; flex:0 0 76px; }
  .panel-list .p-title { font-weight:700; font-size:.97rem; margin:0 0 4px; }
  .panel-list .p-excerpt { color:var(--muted); font-size:.9rem; margin:0; }

  /* small toggle chevron */
  .chev { width:18px; height:18px; transform:rotate(0); transition:transform .22s ease; color:var(--muted); }
  .panel[aria-expanded="true"] .chev { transform:rotate(-180deg); color:var(--accent); }

  /* visually emphasise first panel (lead story) */
  .panel.lead { grid-column: span 2; min-height:180px; }
  @media (max-width:1100px){ .panel.lead{ grid-column: span 2 } }
  @media (max-width:700px){ .panel.lead{ grid-column: span 1 } }

  /* small newspaper feel: separators & small caps */
  .panel .kicker { font-size:.75rem; font-weight:700; color:var(--muted); letter-spacing:.06em; text-transform:uppercase; }


  .nav-collapsible { display:flex; gap:8px; align-items:center; width:100%; flex-wrap:wrap; }
  .nav-collapsible .nav-item { position:relative; margin:0 6px; }
  .nav-collapsible a, .nav-collapsible .nav-toggle-btn {
    color: #fff;
    text-decoration:none;
    font-weight:700;
    background:transparent;
    border:0;
    padding:8px 10px;
    border-radius:6px;
    cursor:pointer;
  }
  .nav-collapsible a:hover, .nav-collapsible .nav-toggle-btn:hover { background: rgba(255,255,255,0.06); color: var(--accent); }

  /* dropdown panel */
  .collapse-panel {
    position:absolute;
    top:calc(100% + 8px);
    left:0;
    min-width:220px;
    background: rgba(6,10,12,0.95); /* dark panel to match header */
    color: #fff;
    border-radius:10px;
    box-shadow: 0 10px 30px rgba(0,0,0,0.35);
    overflow:hidden;
    max-height:0;
    transition: max-height .28s ease, opacity .18s ease;
    opacity:0;
    z-index:1200;
    padding:0;
  }
  .collapse-panel.open { opacity:1; padding:8px; }
  .collapse-panel a {
    display:block;
    color:#fff;
    padding:8px 10px;
    text-decoration:none;
    border-radius:6px;
    font-weight:600;
  }
  .collapse-panel a:hover { background: rgba(255,255,255,0.04); color:var(--accent); }

  /* caret */
  .nav-toggle-btn .caret { margin-left:8px; transition: transform .2s ease; display:inline-block; }
  .nav-toggle-btn[aria-expanded="true"] .caret { transform: rotate(-180deg); color:var(--accent); }

  /* mobile / narrow layout: panels become full width stack */
  @media (max-width:800px){
    .collapse-panel { position:static; width:100%; max-width:100%; box-shadow:none; background:linear-gradient(180deg,#1b1b1b,#111); border-radius:8px; margin-top:6px; }
    .nav-collapsible { gap:6px; padding:6px 12px; }
    .nav-collapsible .nav-item { width:100%; }
    .nav-collapsible a, .nav-collapsible .nav-toggle-btn { display:flex; justify-content:space-between; align-items:center; width:100%; }
  }
  /* Updated hero teaser (left-side box) + controls placement */
  .top-hero .slide {
    min-width:100%;
    height:64vh;
    min-height:420px;
    background-size:cover;
    background-position:center;
    position:relative;
    display:flex;
    align-items:flex-end;
  }

  /* remove the old overlay centering — use a boxed teaser on the left */
  .top-hero .teaser-box {
    position:absolute;
    left:6%;
    bottom:8%;
    z-index:6;
    max-width:44%;
    background: linear-gradient(90deg, rgba(0,0,0,0.44), rgba(0,0,0,0.20));
    padding:22px;
    border-radius:12px;
    color:#fff;
    backdrop-filter: blur(4px);
    box-shadow:0 18px 48px rgba(0,0,0,0.45);
    pointer-events:auto;
  }
  .top-hero .teaser-box .kicker { display:inline-block;padding:6px 10px;background:rgba(255,255,255,0.08);color:#fff;border-radius:999px;font-weight:700;font-size:.8rem; margin-bottom:10px; }
  .top-hero .teaser-box h2 { margin:6px 0 10px; font-size:2.2rem; line-height:1.03; }
  @media (max-width:900px){ .top-hero .teaser-box h2{ font-size:1.4rem } }

  .top-hero .teaser-box p { margin:0;color:rgba(255,255,255,0.92); max-width:60ch; font-size:1rem; }

  /* controls moved to bottom-left and bottom-right */
  .top-hero .controls { position:absolute; left:0; right:0; bottom:18px; z-index:8; pointer-events:none; }
  .top-hero .btn-hero { pointer-events:auto; background:rgba(0,0,0,0.45); color:#fff; border:0; width:50px;height:50px;border-radius:10px; display:grid; place-items:center; cursor:pointer; box-shadow:0 6px 18px rgba(0,0,0,0.24); }
  #prevSlide { position:absolute; left:18px; bottom:18px; }
  #nextSlide { position:absolute; right:18px; bottom:18px; }

  /* dots sit centered above controls */
  .top-hero .dots { position:absolute; left:50%; transform:translateX(-50%); bottom:72px; z-index:7; display:flex; gap:8px; }
  @media (max-width:700px){ 
    .top-hero .teaser-box { left:50%; transform:translateX(-50%); max-width:92%; bottom:6%; }
    .top-hero .dots { bottom:110px; } /* ensure dots don't collide with teaser on small screens */
    #prevSlide, #nextSlide { bottom:12px; width:44px; height:44px; }
  }

  /* ensure slide click still works but teaser links receive pointer events */
  .top-hero .slide { cursor: pointer; }
  .top-hero .slide * { cursor: default; } /* avoid nested pointer surprises inside teaser */
</style>
<br><br>
  <nav class="bg-header-footer py-3 px-0" aria-label="Kategorien">
    <hr>
    <div class="container">
      <div class="nav-collapsible d-flex justify-content-start" role="menubar" aria-label="Top Kategorien">
        <div class="nav-item ms-0" role="none"><a role="menuitem" href="/?homepage" class="ms-0 ps-0 text-white">Home</a></div>
        <div class="nav-item" role="none"><a role="menuitem" href="#" class="text-white">Lokal</a></div>

        <div class="nav-item has-submenu" role="none">
          <button class="nav-toggle-btn text-white" aria-expanded="false" aria-controls="submenu-wirtschaft" role="menuitem">
            Wirtschaft <span class="caret">▾</span>
          </button>
          <div id="submenu-wirtschaft" class="collapse-panel" role="menu" aria-hidden="true">
            <a role="menuitem" href="#">Unternehmen</a>
            <a role="menuitem" href="#">Startups</a>
            <a role="menuitem" href="#">Branchen</a>
            <a role="menuitem" href="#">Finanzen</a>
          </div>
        </div>

        <div class="nav-item has-submenu" role="none">
          <button class="nav-toggle-btn text-white" aria-expanded="false" aria-controls="submenu-kultur" role="menuitem">
            Kultur <span class="caret">▾</span>
          </button>
          <div id="submenu-kultur" class="collapse-panel" role="menu" aria-hidden="true">
            <a role="menuitem" href="#">Musik</a>
            <a role="menuitem" href="#">Theater</a>
            <a role="menuitem" href="#">Ausstellungen</a>
            <a role="menuitem" href="#">Film</a>
          </div>
        </div>

        <div class="nav-item has-submenu" role="none">
          <button class="nav-toggle-btn text-white" aria-expanded="false" aria-controls="submenu-bildung" role="menuitem">
            Bildung <span class="caret">▾</span>
          </button>
          <div id="submenu-bildung" class="collapse-panel" role="menu" aria-hidden="true">
            <a role="menuitem" href="#">Schulen</a>
            <a role="menuitem" href="#">Forschung</a>
            <a role="menuitem" href="#">Weiterbildung</a>
          </div>
        </div>

        <div class="nav-item" role="none"><a role="menuitem" href="#" class="text-white">Sport</a></div>
        <div class="nav-item" role="none"><a role="menuitem" href="#" class="text-white">Lifestyle</a></div>

        <div class="nav-item has-submenu" role="none">
          <button class="nav-toggle-btn text-white" aria-expanded="false" aria-controls="submenu-meinung" role="menuitem">
            Meinung <span class="caret">▾</span>
          </button>
          <div id="submenu-meinung" class="collapse-panel" role="menu" aria-hidden="true">
            <a role="menuitem" href="#">Kommentare</a>
            <a role="menuitem" href="#">Leitartikel</a>
            <a role="menuitem" href="#">Kolumnen</a>
          </div>
        </div>

        <div class="nav-item" role="none"><a role="menuitem" href="#" class="text-white me-0 pe-0">Reisen</a></div>

      </div>
    </div>
  </nav>

<section class="top-hero" aria-label="Top stories slider">
<!-- Replace the slides block with this (keeps same ids for JS) -->
<div class="slides" id="heroSlides" role="region" aria-roledescription="carousel" aria-label="Top stories">
  <!-- slide 1 -->
  <article class="slide" style="background-image:url('/images/home/market.png');" data-title="Markt in Luzern belebt: Händler melden Rekordumsatz" data-kicker="Reportage" data-teaser="Die Herbstwoche sorgte für volle Gassen und steigende Umsätze — Stimmen aus Handel und Politik." data-href="#" role="group" aria-roledescription="slide" aria-label="Markt in Luzern">
    <div class="teaser-box" role="group" aria-label="Teaser Markt in Luzern">
      <div class="kicker">Reportage · Luzern</div>
      <h2>Markt in Luzern belebt: Händler melden Rekordumsatz</h2>
      <p>Die Herbstwoche sorgte für volle Gassen und steigende Umsätze — Stimmen aus Handel und Politik.
        <a href="#" style="color:#fff;text-decoration:underline;margin-left:8px">Weiterlesen →</a>
      </p>
    </div>
  </article>

  <!-- slide 2 -->
  <article class="slide" style="background-image:url('/images/home/startup.png');" data-title="Zuger Startups wachsen trotz Marktunsicherheit" data-kicker="Wirtschaft" data-teaser="Gründer berichten von Anpassungsstrategien und neuen Finanzierungswegen." data-href="#" role="group" aria-roledescription="slide" aria-label="Zuger Startups">
    <div class="teaser-box" role="group" aria-label="Teaser Zuger Startups">
      <div class="kicker">Wirtschaft · Zug</div>
      <h2>Zuger Startups wachsen trotz Marktunsicherheit</h2>
      <p>Gründer berichten von Anpassungsstrategien und neuen Finanzierungswegen.
        <a href="#" style="color:#fff;text-decoration:underline;margin-left:8px">Weiterlesen →</a>
      </p>
    </div>
  </article>

  <!-- slide 3 -->
  <article class="slide" style="background-image:url('/images/home/festival.png');" data-title="Festival-Highlights im Winterprogramm" data-kicker="Kultur" data-teaser="Auswahl an Konzerten, Theater und besonderen Formaten für die kalte Jahreszeit." data-href="#" role="group" aria-roledescription="slide" aria-label="Festival Highlights">
    <div class="teaser-box" role="group" aria-label="Teaser Festival Highlights">
      <div class="kicker">Kultur · Luzern</div>
      <h2>Festival-Highlights im Winterprogramm</h2>
      <p>Auswahl an Konzerten, Theater und besonderen Formaten für die kalte Jahreszeit.
        <a href="#" style="color:#fff;text-decoration:underline;margin-left:8px">Weiterlesen →</a>
      </p>
    </div>
  </article>
</div>

<div class="controls" aria-hidden="false">
  <button class="btn-hero" id="prevSlide" aria-label="Vorheriger Artikel">‹</button>
  <button class="btn-hero" id="nextSlide" aria-label="Nächster Artikel">›</button>
</div>

<div class="dots" id="heroDots" role="tablist" aria-label="Slides navigation">
  <button class="dot" data-index="0" aria-label="Slide 1"></button>
  <button class="dot" data-index="1" aria-label="Slide 2"></button>
  <button class="dot" data-index="2" aria-label="Slide 3"></button>
</div>
</section>



<!-- ...existing code... -->
<div class="container mt-5">

  <main>



      <section id="aktuell" aria-label="Aktuelle Artikel">
        <h2 style="margin:0 0 8px">Aktuell aus der Zentralschweiz</h2>
        <div class="grid">
          <article class="card" role="article">
            <img src="/images/home/market.png" alt="Luzern Markt">
            <div>
              <div class="meta">Luzern · 23.10.2025 · von Jana Müller</div>
              <h3 style="margin:6px 0 8px">Markt in Luzern belebt: Händler melden Rekordumsatz</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Die Herbstwoche sorgte für volle Gassen und steigende Umsätze — Stimmen aus Handel und Politik.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Reportage</span></div>
            </div>
          </article>

          <article class="card">
            <img src="/images/home/startup.png" alt="Zug Startup">
            <div>
              <div class="meta">Zug · 21.10.2025</div>
              <h3 style="margin:6px 0 8px">Zuger Startups wachsen trotz Marktunsicherheit</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Gründer berichten von Anpassungsstrategien und neuen Finanzierungswegen.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Wirtschaft</span></div>
            </div>
          </article>

          <article class="card">
            <img src="/images/home/hiking.png" alt="Uri Tourismus">
            <div>
              <div class="meta">Uri · 20.10.2025</div>
              <h3 style="margin:6px 0 8px">Neue Wanderwege in Uri: Nachhaltig unterwegs</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Interview mit dem Tourismusdirektor über die Strategie für sanften Tourismus.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Reise</span></div>
            </div>
          </article>

          <article class="card">
            <img src="/images/home/school.png" alt="Nidwalden Schule">
            <div>
              <div class="meta">Nidwalden · 19.10.2025</div>
              <h3 style="margin:6px 0 8px">Schulen testen neues Lernkonzept</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Projektbasiertes Lernen sorgt für neue Dynamik — erste Bilanz nach Monaten.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Bildung</span></div>
            </div>
          </article>

          <article class="card">
            <img src="/images/home/agriculture.png" alt="Obwalden Landwirtschaft">
            <div>
              <div class="meta">Obwalden · 18.10.2025</div>
              <h3 style="margin:6px 0 8px">Bauern zwischen Tradition & Innovation</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Hofbetriebe bauen Direktverkauf aus und probieren neue Vermarktungswege.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Reportage</span></div>
            </div>
          </article>

          <article class="card">
            <img src="/images/home/festival.png" alt="Luzern Kultur">
            <div>
              <div class="meta">Luzern · 17.10.2025</div>
              <h3 style="margin:6px 0 8px">Festival-Highlights im Winterprogramm</h3>
              <p style="margin:0 0 10px;color:var(--muted)">Auswahl an Konzerten, Theater und besonderen Formaten für die kalte Jahreszeit.</p>
              <div class="article-links"><a href="#">Weiterlesen</a><span class="pill">Kultur</span></div>
            </div>
          </article>
        </div>
      </section>

<br><br>

        <section class="quick-access" aria-label="Schnellzugriff">
      <div style="margin:0 auto;">
        <h2 style="margin:0 0 12px">Top Themen & Schnellzugriff</h2>

        <div class="quick-panels" role="list">
          <article class="panel lead" role="listitem" aria-expanded="false" tabindex="0">
            <div class="panel-header" role="button" aria-controls="panel-1" aria-expanded="false">
              <div class="icon" aria-hidden="true">
                <!-- newspaper icon -->
                <svg width="22" height="22" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6">
                  <path d="M4 6h16M4 10h9M4 14h16M4 18h16"></path>
                </svg>
              </div>
              <div>
                <div class="title">Lokal & Reportagen</div>
                <div class="kicker">Heute in Ihrer Region</div>
              </div>
              <div class="meta">2 Beiträge</div>
              <svg class="chev" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" style="margin-left:8px;">
                <path d="M6 15l6-6 6 6"></path>
              </svg>
            </div>
            <div id="panel-1" class="panel-body" aria-hidden="true">
              <ul class="panel-list">
                <li>
                  <a href="#">
                    <img src="/images/home/market.png" alt="">
                    <div>
                      <div class="p-title">Markt in Luzern belebt: Händler melden Rekordumsatz</div>
                      <p class="p-excerpt">Die Herbstwoche sorgte für volle Gassen — Stimmen aus Handel und Politik.</p>
                    </div>
                  </a>
                </li>
                <li>
                  <a href="#">
                    <img src="/images/home/hiking.png" alt="">
                    <div>
                      <div class="p-title">Neue Wanderwege in Uri</div>
                      <p class="p-excerpt">Nachhaltig unterwegs: Strategie für sanften Tourismus.</p>
                    </div>
                  </a>
                </li>
              </ul>
            </div>
          </article>

          <article class="panel" role="listitem" aria-expanded="false" tabindex="0">
            <div class="panel-header" role="button" aria-controls="panel-2" aria-expanded="false">
              <div class="icon" aria-hidden="true">
                <!-- chart icon -->
                <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6">
                  <path d="M3 3v18h18"></path>
                  <path d="M7 13v-6M12 17v-10M17 11v-4"></path>
                </svg>
              </div>
              <div>
                <div class="title">Wirtschaft</div>
                <div class="kicker">Unternehmen & Startups</div>
              </div>
              <div class="meta">3 Beiträge</div>
              <svg class="chev" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                <path d="M6 15l6-6 6 6"></path>
              </svg>
            </div>
            <div id="panel-2" class="panel-body" aria-hidden="true">
              <ul class="panel-list">
                <li>
                  <a href="#">
                    <img src="/images/home/startup.png" alt="">
                    <div>
                      <div class="p-title">Zuger Startups wachsen trotz Marktunsicherheit</div>
                      <p class="p-excerpt">Gründer berichten von neuen Finanzierungswegen.</p>
                    </div>
                  </a>
                </li>
                <li>
                  <a href="#">
                    <img src="/images/home/agriculture.png" alt="">
                    <div>
                      <div class="p-title">Bauern zwischen Tradition & Innovation</div>
                      <p class="p-excerpt">Direktverkauf und neue Vermarktungswege.</p>
                    </div>
                  </a>
                </li>
              </ul>
            </div>
          </article>

          <article class="panel" role="listitem" aria-expanded="false" tabindex="0">
            <div class="panel-header" role="button" aria-controls="panel-3" aria-expanded="false">
              <div class="icon" aria-hidden="true">
                <!-- theatre / culture icon -->
                <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6">
                  <path d="M2 7h20M2 17h20M6 7v10M18 7v10"></path>
                </svg>
              </div>
              <div>
                <div class="title">Kultur & Event</div>
                <div class="kicker">Konzerte & Festivals</div>
              </div>
              <div class="meta">4 Beiträge</div>
              <svg class="chev" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                <path d="M6 15l6-6 6 6"></path>
              </svg>
            </div>
            <div id="panel-3" class="panel-body" aria-hidden="true">
              <ul class="panel-list">
                <li>
                  <a href="#">
                    <img src="/images/home/festival.png" alt="">
                    <div>
                      <div class="p-title">Festival-Highlights im Winterprogramm</div>
                      <p class="p-excerpt">Auswahl an Konzerten und Theaterformaten.</p>
                    </div>
                  </a>
                </li>
                <li>
                  <a href="#">
                    <img src="/images/home/event.png" alt="">
                    <div>
                      <div class="p-title">Regionale Events im Fokus</div>
                      <p class="p-excerpt">Neuigkeiten aus Spielstätten und Programmen.</p>
                    </div>
                  </a>
                </li>
              </ul>
            </div>
          </article>

          <article class="panel" role="listitem" aria-expanded="false" tabindex="0">
            <div class="panel-header" role="button" aria-controls="panel-4" aria-expanded="false">
              <div class="icon" aria-hidden="true">
                <!-- education icon -->
                <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="1.6">
                  <path d="M12 2l9 4-9 4-9-4 9-4z"></path>
                  <path d="M3 10.5v6a2 2 0 0 0 2 2h11"></path>
                </svg>
              </div>
              <div>
                <div class="title">Bildung</div>
                <div class="kicker">Schulen & Forschung</div>
              </div>
              <div class="meta">2 Beiträge</div>
              <svg class="chev" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
                <path d="M6 15l6-6 6 6"></path>
              </svg>
            </div>
            <div id="panel-4" class="panel-body" aria-hidden="true">
              <ul class="panel-list">
                <li>
                  <a href="#">
                    <img src="/images/home/school.png" alt="">
                    <div>
                      <div class="p-title">Schulen testen neues Lernkonzept</div>
                      <p class="p-excerpt">Projektbasiertes Lernen — erste Bilanz.</p>
                    </div>
                  </a>
                </li>
                <li>
                  <a href="#">
                    <img src="/images/home/research.png" alt="">
                    <div>
                      <div class="p-title">Forschung aus der Zentralschweiz</div>
                      <p class="p-excerpt">Neueste Studien und lokale Forschungsteams.</p>
                    </div>
                  </a>
                </li>
              </ul>
            </div>
          </article>
        </div>
      </div>
    </section>

<br><br>
    </main>
  </div>

  <script>
  (function(){
    const toggles = Array.from(document.querySelectorAll('.nav-toggle-btn'));
    function closeAll(except){
      document.querySelectorAll('.collapse-panel.open').forEach(p => {
        if(p !== except){
          p.style.maxHeight = '0';
          p.classList.remove('open');
          p.setAttribute('aria-hidden','true');
          const btn = document.querySelector(`[aria-controls="${p.id}"]`);
          if(btn) btn.setAttribute('aria-expanded','false');
        }
      });
    }

    toggles.forEach(btn => {
      const panel = document.getElementById(btn.getAttribute('aria-controls'));
      if(!panel) return;

      btn.addEventListener('click', (e) => {
        const open = btn.getAttribute('aria-expanded') === 'true';
        if(!open){
          // open this, close others
          closeAll(panel);
          panel.classList.add('open');
          panel.setAttribute('aria-hidden','false');
          panel.style.maxHeight = panel.scrollHeight + 20 + 'px';
          btn.setAttribute('aria-expanded','true');
        } else {
          panel.style.maxHeight = '0';
          panel.classList.remove('open');
          panel.setAttribute('aria-hidden','true');
          btn.setAttribute('aria-expanded','false');
        }
      });

      // keyboard support
      btn.addEventListener('keydown', (e) => {
        if(e.key === 'ArrowDown'){ e.preventDefault(); btn.click(); const first = panel.querySelector('a'); if(first) first.focus(); }
        if(e.key === 'Escape'){ e.preventDefault(); btn.click(); btn.focus(); }
      });

      // trap focus – close on focusout if moving outside panel
      panel.addEventListener('focusout', (e) => {
        // small delay to let focus move
        setTimeout(()=> {
          if(!panel.contains(document.activeElement) && document.activeElement !== btn){
            panel.style.maxHeight = '0';
            panel.classList.remove('open');
            panel.setAttribute('aria-hidden','true');
            btn.setAttribute('aria-expanded','false');
          }
        }, 10);
      });
    });

    // close panels on outside click
    document.addEventListener('click', (e) => {
      if(!e.target.closest('.nav-collapsible')){
        closeAll();
      }
    });

    // close on escape globally
    document.addEventListener('keydown', (e) => {
      if(e.key === 'Escape') closeAll();
    });

    // ensure panels recalc on resize
    window.addEventListener('resize', () => {
      document.querySelectorAll('.collapse-panel.open').forEach(p => {
        p.style.maxHeight = p.scrollHeight + 20 + 'px';
      });
    });
  })();
(function(){
    const panels = Array.from(document.querySelectorAll('.panel'));
    function setPanelState(panel, open){
      const header = panel.querySelector('.panel-header');
      const body = panel.querySelector('.panel-body');
      const id = body?.id;
      panel.setAttribute('aria-expanded', open ? 'true' : 'false');
      header.setAttribute('aria-expanded', open ? 'true' : 'false');
      if(open){
        body.classList.add('open');
        body.setAttribute('aria-hidden','false');
        // smooth expand: set max-height to scrollHeight
        body.style.maxHeight = body.scrollHeight + 20 + 'px';
      } else {
        body.classList.remove('open');
        body.setAttribute('aria-hidden','true');
        body.style.maxHeight = '0';
      }
    }

    panels.forEach(panel => {
      const header = panel.querySelector('.panel-header');
      const body = panel.querySelector('.panel-body');

      // toggle on click
      header?.addEventListener('click', (e) => {
        const isOpen = panel.getAttribute('aria-expanded') === 'true';
        // allow multiple open; if you want single-open, close others here
        setPanelState(panel, !isOpen);
      });

      // keyboard: Enter / Space toggles, Arrow keys navigate
      header?.addEventListener('keydown', (e) => {
        if(e.key === 'Enter' || e.key === ' '){
          e.preventDefault();
          header.click();
        }
        if(e.key === 'ArrowDown'){
          e.preventDefault();
          panel.nextElementSibling?.focus();
        }
        if(e.key === 'ArrowUp'){
          e.preventDefault();
          panel.previousElementSibling?.focus();
        }
      });

      // set initial collapsed state
      setPanelState(panel, false);

      // make whole panel focusable for accessibility
      panel.addEventListener('keydown', (e) => {
        if(e.key === 'Enter' || e.key === ' '){
          e.preventDefault();
          header.click();
        }
      });
    });

    // Optional: open first panel on large screens
    if(window.innerWidth > 1100){
      const first = panels[0];
      if(first) setPanelState(first, true);
    }

    // Keep max-height updated on resize (for open panels)
    window.addEventListener('resize', () => {
      panels.forEach(p => {
        const body = p.querySelector('.panel-body');
        if(p.getAttribute('aria-expanded') === 'true' && body){
          body.style.maxHeight = body.scrollHeight + 20 + 'px';
        }
      });
    });
  })();

 (function(){
    // HERO SLIDER
    const slidesEl = document.getElementById('heroSlides');
    const slides = slidesEl ? Array.from(slidesEl.querySelectorAll('.slide')) : [];
    const dots = Array.from(document.querySelectorAll('.dot'));
    const prevBtn = document.getElementById('prevSlide');
    const nextBtn = document.getElementById('nextSlide');
    let index = 0;
    let interval = null;
    const AUTOPLAY_MS = 6000;

    function goTo(i, animate = true){
      if(!slidesEl) return;
      index = (i + slides.length) % slides.length;
      if(!animate) slidesEl.style.transition = 'none';
      slidesEl.style.transform = `translateX(-${index * 100}%)`;
      setTimeout(()=> slidesEl.style.transition = '', 20);
      dots.forEach(d => d.classList.remove('active'));
      if(dots[index]) dots[index].classList.add('active');
      // update ARIA
      slides.forEach((s, si) => s.setAttribute('aria-hidden', si !== index));
    }

    function next(){ goTo(index + 1); }
    function prev(){ goTo(index - 1); }

    function startAuto(){ stopAuto(); interval = setInterval(next, AUTOPLAY_MS); }
    function stopAuto(){ if(interval){ clearInterval(interval); interval = null; } }

    // init
    if(slides.length){
      goTo(0, false);
      startAuto();

      // click dots
      dots.forEach(d => d.addEventListener('click', (e) => {
        goTo(Number(d.dataset.index));
        startAuto();
      }));

      nextBtn?.addEventListener('click', () => { next(); startAuto(); });
      prevBtn?.addEventListener('click', () => { prev(); startAuto(); });

      // click whole slide to open article
      slides.forEach(s => s.addEventListener('click', (e) => {
        const href = s.dataset.href;
        if(href) window.location.href = href;
      }));

      // pause on hover / focus
      slidesEl.addEventListener('mouseenter', stopAuto);
      slidesEl.addEventListener('mouseleave', startAuto);
      slidesEl.addEventListener('focusin', stopAuto);
      slidesEl.addEventListener('focusout', startAuto);

      // keyboard
      document.addEventListener('keydown', (e) => {
        if(e.key === 'ArrowRight') { next(); startAuto(); }
        if(e.key === 'ArrowLeft') { prev(); startAuto(); }
      });

      // touch swipe
      let startX = 0;
      slidesEl.addEventListener('touchstart', (e) => { startX = e.touches[0].clientX; stopAuto(); }, {passive:true});
      slidesEl.addEventListener('touchend', (e) => {
        const endX = e.changedTouches[0].clientX;
        const diff = endX - startX;
        if(Math.abs(diff) > 40){
          if(diff < 0) next(); else prev();
        }
        startAuto();
      });
    }

    // existing page scripts (scroll to top, small helpers)
    document.addEventListener("DOMContentLoaded", function() {
      const scrollButton = document.querySelector('.scroll-to-top');

      if(scrollButton){
        window.addEventListener('scroll', () => {
          if (window.pageYOffset > 300) {
            scrollButton.classList.add('visible');
          } else {
            scrollButton.classList.remove('visible');
          }
        });

        scrollButton.addEventListener('click', () => {
          window.scrollTo({ top: 0, behavior: 'smooth' });
        });
      }

      // keep these jQuery tweaks if site uses jQuery; guard with $
      try {
        if (window.jQuery) {
          $('.footer_icons').remove();
          $('.basketIcon').attr('href', '/?home');
          $('.basketIcon').removeAttr('data-bs-toggle');
          $('.basketIcon span.d-none.d-md-inline').html('Shop');
          $('nav div.d-flex.p-0.w-100').remove();
          $('main').removeClass();
          $('div.mt-5.pt-5.mb-5.container').removeClass();
        }
      } catch(e){}
    });

    // keep modal helpers if present (no changes)
    (function(){
      const modal = document.getElementById('edpModal');
      if(!modal) return;
      const openIds = ['openSubscribe','openSubscribe2','openSubscribe3','openSubscribeTop'];
      const open = () => { modal.classList.add('show'); modal.setAttribute('aria-hidden','false'); modal.querySelector('input[type=email]')?.focus(); };
      const close = () => { modal.classList.remove('show'); modal.setAttribute('aria-hidden','true'); };
      openIds.forEach(id => document.getElementById(id)?.addEventListener('click', open));
      document.getElementById('closeModal')?.addEventListener('click', close);
      modal.addEventListener('click', (e) => { if (e.target === modal) close(); });
      document.addEventListener('keydown', (e)=>{ if (e.key === 'Escape') close(); });

      window.startTrial = function(ev){
        if (ev) {
          const btn = ev.target.querySelector('button[type="submit"]');
          if (btn) { btn.disabled = true; btn.textContent = 'Sende…'; setTimeout(()=>btn.disabled=false,3000); }
        }
      };
    })();

  })();
  </script>

<button class="scroll-to-top" aria-label="Scroll to top">
  <svg width="20" height="20" viewbox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2">
    <path d="M12 19V5M5 12l7-7 7 7"></path>
  </svg>
</button></div>
        </div>
    </main>

    <!-- Footer -->
    <footer class="text-lg-start bg-header-footer text-light p-1">
        <div class="d-sm-flex d-block column footer_icons container my-4">
            <div class="me-auto">
                <div>
                    <p class="py-2 h5">
                        <b>Versand</b>
                    </p>
                </div>
                <div>
                    <img src="images/post/Schweizerische_Post_Logo.svg" alt="ch-post" class="pe-3">
                </div>
            </div>
            <div class="my-auto ms-auto">
                <div>
                    <p class="py-2 h5">
                        <b>Bezahlungsmöglichkeiten</b>
                    </p>
                </div>
                <div class="payment_img">
                    <img src="images/payment_options/card_twint.svg" alt="twint">
                    <img src="images/payment_options/card_postfinance.svg" alt="postfinance">
                    <img src="images/payment_options/card_efinance.svg" alt="post_efinance">
                    <img src="images/payment_options/card_visa.svg" alt="visa">
                    <img src="images/payment_options/card_mastercard.svg" alt="mastercard">
                    <img src="images/payment_options/card_paypal.svg" alt="paypal">
                    <img src="images/payment_options/card_dinersclub.svg" alt="dinersclub">
                    <img src="images/payment_options/card_amex.svg" alt="amex">
                    <img src="images/payment_options/card_rechnung.png" alt="rechnung">
                </div>
            </div>
        </div>
        <hr>
        <div>
            <div class="container text-start mt-5">
                <div class="d-flex flex-wrap mt-3">
                    <div class="col-2 mx-auto mb-4 d-none d-md-block">
                        <img src="/images/Edi_Maskottchen_rgb.png" alt="EDP-Logo" height="100">
                    </div>

                    <div class="col-12 col-sm-2 mx-auto mb-4 pb-4 pb-sm-0 text-light text-decoration-none">
                        <p class="h5 text-uppercase fw-bold mb-4">
                            Links
                        </p>
                        <div class="d-block">
                            <a href="/?home" class="text-light">Home</a><br>
                            <a href="/?hilfe" class="text-light">Hilfe</a><br>
                            <a href="/?Kontakt" class="text-light">Kontakt</a><br>
                            <span class="text-light text-decoration-none d-block d-md-none">
                                <a href="http://www.edp.swiss" target="_blank" class="text-light">Web</a><br>
                                <a href="/images/agb_de-CH.pdf" target="_blank" class="text-light">AGB</a><br>
                                <a href="/jobsportal/" class="text-light">Stellenmarkt</a>
                            </span>
                        </div>
                    </div>

                    <div class="col-12 col-sm-2 mx-auto mb-4 d-none d-md-block text-light text-decoration-none">
                        <br><br>
                        <a href="http://www.edp.swiss" target="_blank" class="text-light">Web</a><br>
                        <a href="/images/agb_de-CH.pdf" target="_blank" class="text-light">AGB</a><br>
                        <a href="/jobsportal/" class="text-light">Stellenmarkt</a>
                    </div>

                    <div class="col-5 col-sm-5 col-md-2 mx-auto mb-4 text-light text-decoration-none">
                        <p class="text-uppercase fw-bold mb-4 h5">
                            Adresse
                        </p>
                        <div>
                            <a class="text-light" target="_blank" href="https://www.google.ch/maps/place/Horwerstrasse+62,+6010+Kriens/@47.0288651,8.2904096,17z/data=!3m1!4b1!4m5!3m4!1s0x478ffaffaa1baca5:0x48e9d958fcf4!8m2!3d47.0288651!4d8.2925983">
                                edp-services ag<br>Horwerstrasse 62<br>CH-6010 Kriens
                            </a>
                        </div>
                    </div>

                    <div class="col-7 col-sm-5 col-md-2 mx-auto mb-md-0 mb-4 text-decoration-none">
                        <p class="h5 text-uppercase fw-bold mb-4">
                            Kontakt
                        </p>
                        <div>
                            <a class="text-light" href="tel:+41 41 349 17 17">Telefon: +41 41 349 17 17<br></a>
                            <a class="text-light" href="tel:+41 41 349 17 17">Hotline: +41 41 349 17 17<br></a>
                            <a class="text-light" href="mailto:info@edp.ch">Mail: info@edp.ch</a>
                        </div>
                    </div>

                </div>
            </div>
        </div>
        <div class="text-center pt-4">
            <hr>
            <small>Dies ist eine interaktive Demo-Anwendung zur Veranschaulichung von Design und Funktionalität. Alle Daten und Profile sind fiktiv.</small>
            <hr>
            <p>© edp-services ag <span id="aktuellesJahr">aktuelles Jahr</span> alle Rechte vorbehalten</p>
        </div>
    </footer>

    <!-- Navigtaion -->
    <div class="offcanvas offcanvas-end text-dark" tabindex="-1" id="navigation_canvas">
        <div class="offcanvas-header">
            <div>
                
                    <a class="offcanvas-title text-black text-decoration-none" href="/?login" aria-label="Profile/Login" data-bs-toggle="offcanvas" data-bs-target="#login_register"><i class="bi bi-person-fill"></i> Cockpit</a>
                
                
                <a href="#" class="text-black text-decoration-none ms-3" aria-label="Warenkorb" data-bs-toggle="offcanvas" data-bs-target="#basket">
                    
                        <span rel="tooltip" title="0 Artikel im Warenkorb">
                            <i class="bi bi-cart4 mb-3"></i>
                            <span>Warenkorb</span>
                            
                            
                            
                        </span>
                    
                </a>
            </div>
            <button type="button" class="btn-close" data-bs-dismiss="offcanvas" aria-label="Close"></button>
        </div>
        <div class="offcanvas-body p-0 mobile-navigation">
            <a href="https://demo-inserat.faros.ch/default" target="_blank" class="dropdown-item pb-4">Inserat aufgeben <i class="bi bi-arrow-right"></i></a>
            <a class="dropdown-item" href="/?home">Abos</a>
            
                <div>
                    <a class="dropdown-item d-flex" data-bs-toggle="collapse" href="#BUCH_collapse" role="button" aria-expanded="false" aria-controls="BUCH_collapse">
                        <span>Bücher</span>
                        <i class="bi bi-chevron-down ms-auto"></i>
                    </a>
                    <div class="collapse" id="BUCH_collapse">
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=BUCH&praessub=BUCH">Publikationen</a>
                        
                    </div>
                </div>
            
                <div>
                    <a class="dropdown-item d-flex" data-bs-toggle="collapse" href="#ARTN_collapse" role="button" aria-expanded="false" aria-controls="ARTN_collapse">
                        <span>Merchandise</span>
                        <i class="bi bi-chevron-down ms-auto"></i>
                    </a>
                    <div class="collapse" id="ARTN_collapse">
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=VERSCH&praessub=VERSCH">EDP-Artikel</a>
                        
                    </div>
                </div>
            
                <div>
                    <a class="dropdown-item d-flex" data-bs-toggle="collapse" href="#SPEZ_collapse" role="button" aria-expanded="false" aria-controls="SPEZ_collapse">
                        <span>Spezial</span>
                        <i class="bi bi-chevron-down ms-auto"></i>
                    </a>
                    <div class="collapse" id="SPEZ_collapse">
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=GUTSCH&praessub=GUTSCH">Gutscheine</a>
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=AUSFLUG&praessub=AUSFLUG">Ausflüge</a>
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=STM&praessub=STM">Online Stellenmarktplatz</a>
                        
                    </div>
                </div>
            
                <div>
                    <a class="dropdown-item d-flex" data-bs-toggle="collapse" href="#KURS_collapse" role="button" aria-expanded="false" aria-controls="KURS_collapse">
                        <span>Aus-/Weiterbildung</span>
                        <i class="bi bi-chevron-down ms-auto"></i>
                    </a>
                    <div class="collapse" id="KURS_collapse">
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=KURS&praessub=KURS">Kurse</a>
                        
                            <a class="dropdown-item ps-5" data-target="subnav-key2" href="/?artikelliste&praesgrp=WB&praessub=WB">Weiterbildung</a>
                        
                    </div>
                </div>
            
        </div>
    </div>

    <!-- Login -->
    <div class="offcanvas offcanvas-end text-dark" tabindex="-1" id="login_register">
        <div class="offcanvas-header pb-2">
            <h3 class="offcanvas-title d-none d-lg-block">Cockpit</h3>
            <p class="offcanvas-title d-lg-none d-block"><b><i class="bi bi-cart4"></i></b><a href="/?home" class="text-decoration-none text-black"> Shop</a></p>
            <button type="button" class="btn-close text-reset text-light" data-bs-dismiss="offcanvas" aria-label="Close"></button>
        </div>
        <div class="offcanvas-body">
            
                <div>

                    <form id="authForm" action="https://demo-api.faros.ch/japiform" method="POST" novalidate="">
                        <div class="form-group mb-1">
                            <p>Bitte geben Sie Ihre E-Mail-Adresse ein, um einen einmaligen Anmeldelink zu erhalten.</p>
                            <label for="login_user">E-Mail:</label>
                            <input type="email" class="form-control" id="login_user" name="login_user" required="">
                            <div id="emailError" style="color: red; display: none; font-size: 0.9em; margin-top: 4px;">
                                Bitte geben Sie eine gültige E-Mail-Adresse ein.
                            </div>
                        </div>
                        <!-- Verstecktes Feld für JSON Payload -->
                        <input type="hidden" name="payload" id="payload">

                        <div class="form-group">
                            <input type="submit" class="form-control btn btn-primary mb-2 mt-2 fw-bold" value="Anmeldelink anfordern">

                        </div>
                    </form>

                    <script>
                        document.getElementById('authForm').addEventListener('submit', function(event) {
                            event.preventDefault();

                            const emailInput = document.getElementById('login_user');
                            const email = emailInput.value.trim();
                            const errorBox = document.getElementById('emailError');

                            // E-Mail-Validierung mit regulärem Ausdruck
                            const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]{2,}$/;

                            if (!emailRegex.test(email)) {
                                errorBox.style.display = 'block';
                                emailInput.classList.add('is-invalid');
                                return; // stoppe Formularversand
                            } else {
                                errorBox.style.display = 'none';
                                emailInput.classList.remove('is-invalid');
                            }

                            const payload = {
                                action: "authlink",
                                email: email,
                                targetKey_return: "ReturnLoginUrl",
                                targetKey_success: "SuccessLoginUrl",
                                targetKey_error: "ErrorUrl",
                                targetKey_landingpage: "LandingPageUrl",
                                mailTemplateKey_AuthConfirm: "auth_de"
                            };

                            document.getElementById('payload').value = JSON.stringify(payload);

                            event.target.submit();
                        });
                    </script>

                </div>
            

            
        </div>
        
    </div>

    <!-- Warenkorb -->
    <div class="offcanvas offcanvas-end text-dark" tabindex="-1" id="basket">
        <div class="offcanvas-header">
            <h3 class="offcanvas-title d-none d-sm-block">Warenkorb</h3>
            <button type="button" class="btn-close text-reset" data-bs-dismiss="offcanvas" aria-label="Close"></button>
        </div>
        <div class="offcanvas-body">
            
                
                    <div class="text-center">
                        <div id="basketInner">
                            <div class="alert alert-danger">
                                <h5>
                                    <i class="bi bi-cart4 h4 me-2"></i>
                                    <span>Keine Artikel im Warenkorb</span>
                                </h5>
                            </div>
                        </div>
                        <button class="btn btn-primary w-100 mb-3" data-bs-dismiss="offcanvas">Weiter einkaufen</button>
                        
                            <hr class="mb-3">
                            <b>Sie haben bereits ein Konto?</b>
                            <p>Dann <a class="btn-link" href="#" data-bs-toggle="offcanvas" data-bs-target="#login_register">melden Sie sich hier an</a>, um die Bestellung später schneller abzuschliessen.</p>
                        
                    </div>
                
                
            
        </div>
    </div>

    <div id="benutzer_navigation_inner" class="col-lg-3 mb-5">
        <span><!-- Ungültiges Tag. Fehler: System.NullReferenceException: Object reference not set to an instance of an object.
   at Shop_Lib.GetEditRechnungsadresses() in c:\inetpub\demoshop.faros.ch\App_Code\Libraries\Shop_Lib.cs:line 1084
   at CMSParser.ParseHTML(String inputHTML, String arguments) in c:\inetpub\demoshop.faros.ch\App_Code\Libraries\CMSParser.cs:line 890--></span>
        <br>
        <h5 class="border-bottom border-dark">Benutzerdaten</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-adressen" aria-current="page" href="/?benutzerkonto/adresse">
                <i class="bi bi-house-door-fill me-3"></i> Meine Adresse
            </a>
            <a class="btn btn-account btn-email" href="/?benutzerkonto/email">
                <i class="bi bi-envelope me-3"></i> E-Mail
            </a>
            <a class="btn btn-account btn-kreditkarten" href="/?benutzerkonto/kreditkarten">
                <i class="bi bi-credit-card me-3"></i> Kreditkarte
            </a>
        </div>
        <br>
        <div class="firmanav">
            <div class="border-bottom border-dark d-flex">
                <h5 class="m-0">Organisation</h5>
                <span class="badge rounded-pill text-bg-secondary my-1 ms-2">Beta</span>
            </div>
            <div class="w-100 d-flex flex-column card-light fw-bold">
                <a class="btn btn-account btn-firma" href="/?benutzerkonto/organisation">
                    <i class="bi bi-building me-3"></i> Verwaltung
                </a>
            </div>
            <br>
        </div>
        <h5 class="border-bottom border-dark">Bestellungen</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-bestellungen" href="/?benutzerkonto/bestellungen">
                <i class="bi bi-cart4 me-3"></i> Meine Bestellungen
            </a>
            <a class="btn btn-account btn-rechnungen" href="/?benutzerkonto/rechnungen">
                <i class="bi bi-envelope-paper me-3"></i> Meine Rechnungen
            </a>
        </div>
        <br>
        <h5 class="border-bottom border-dark">Dienstleistungen</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-abos" href="/?benutzerkonto/abo/uebersicht">
                <i class="bi bi-newspaper me-3"></i> Meine Abos
            </a>
            <a class="btn btn-account btn-newsletter" href="/?benutzerkonto/newsletter">
                <i class="bi bi-postcard me-3"></i> Newsletter
            </a>
            <a class="btn btn-account btn-mitgliedschaft d-none" href="/?benutzerkonto/mitgliedschaft">
                <i class="bi bi-person me-3"></i> Mitgliedschaft
            </a>
        </div>
        <br>
        <div class="border-bottom border-dark d-flex align-items-center">
            <h5 class="m-0">Anlässe und Reisen</h5>
        </div>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-reisen" href="/?benutzerkonto/reisen">
                <i class="bi bi-briefcase me-3"></i> Anlässe und Reisen
            </a>
        </div>
        <br>
        <div class="border-bottom border-dark d-flex align-items-center">
            <h5 class="m-0">Aus- und Weiterbildungen</h5>
        </div>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-bildung" href="/?benutzerkonto/bildung">
                <i class="bi bi-briefcase me-3"></i> Meine Weiterbildungen
            </a>
        </div>
        <br>
        <h5 class="border-bottom border-dark">Medien</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-medien" href="/?benutzerkonto/medien">
                <i class="bi bi-file-image me-3"></i> Meine Medien
            </a>
        </div>
        <br>
        <h5 class="border-bottom border-dark">Werbeaufträge</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-inserate" href="/?benutzerkonto/inserat/uebersicht">
                <i class="bi bi-file-earmark-image me-3"></i> Meine Werbeaufträge
            </a>
            <a class="btn btn-account d-flex" href="https://demo-inserat.faros.ch/default?createnew=true">
                <i class="bi bi-window  me-3"></i> Inserat aufgeben<i class="bi bi-arrow-right ms-auto"></i>
            </a>
        </div>
        <br>
        <h5 class="border-bottom border-dark">Stellenmarktplatz</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <span><!-- Ungültiges Tag. Fehler: System.NullReferenceException: Object reference not set to an instance of an object.
   at CMSParser.ParseHTML(String inputHTML, String arguments) in c:\inetpub\demoshop.faros.ch\App_Code\Libraries\CMSParser.cs:line 449--></span>
        </div>
        <br>
        <h5 class="border-bottom border-dark">Häufige Fragen</h5>
        <div class="w-100 d-flex flex-column card-light fw-bold">
            <a class="btn btn-account btn-help" href="/?hilfe">
                <i class="bi bi-question-circle-fill me-3"></i> FAQ
            </a>
        </div>
        <br>
        <a href="/shop/logOffUser?startUrl=/?home" class="w-100 btn text-start m-0 p-0">Abmelden <i class="bi bi-box-arrow-right"></i></a>
    </div>

    <!-- allgemeiner Fehler Modal -->
    <div class="modal fade" id="errorModal" role="dialog" tabindex="-1" aria-labelledby="errorModal" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="alert alert-danger">
                        <div id="errorModalContent"></div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Schliessen</button>
                </div>
            </div>
        </div>
    </div>

    <!-- allgemeiner Info Modal -->
    <div class="modal fade" id="infoModal" tabindex="-1" aria-labelledby="infoModal" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body">
                    <div class="alert alert-success">
                        <div id="infoModalContent"></div>
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Schliessen</button>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal Warenkorb loeschen -->
    <div class="modal fade" id="confirmModalWarenkorb" tabindex="-1" aria-labelledby="confirmModalWarenkorb" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body confirmModalWarenkorbText">
                    <div class="alert alert-danger">
                        Alle Artikel im Warenkorb löschen?
                    </div>
                </div>
                <div class="modal-footer">
                    <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Nein</button>
                    <a href="/shop/killWarenkorb" class="btn btn-primary">Ja</a>
                </div>
            </div>
        </div>
    </div>

    <!-- Modal Login verifikation -->
    <div class="modal fade" id="resendActivation" tabindex="-1" aria-labelledby="resendActivation" aria-hidden="true">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-header">
                    <button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
                </div>
                <div class="modal-body resendActivationText">
                    <div class="alert alert-info">
                        Die E-Mail Adresse ist noch nicht verifiziert. Sollen wir dir eine neue Verifikation-E-Mail senden?
                    </div>
                </div>
                <div class="modal-footer">
                    <form action="/shop/resendActivation">
                        <input type="hidden" id="verifyEmail" name="verifyEmail" value="">
                        <button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Nein</button>
                        <input class="btn btn-primary" type="submit" value="ja">
                    </form>
                </div>
            </div>
        </div>
    </div>

    <noscript>
        <div style="position: fixed; top: 0px; left: 0px; z-index: 30000000; 
    height: 100%; width: 100%; background-color: #FFFFFF">
            <p style="margin-left: 10px">Bitte aktivieren Sie Javascript, um den Webshop nutzen zu können.</p>
        </div>
    </noscript>

    <script>
        window.onpagehide = (event) => {
            $("#loading_artikelseite").hide();
        };

        $("#loading_artikelseite").addClass("d-none");

        document.querySelectorAll(".btn-account").forEach(a => {
            a.addEventListener("click", () => {
                setTimeout(() => {
                    $("#loading_artikelseite").removeClass("d-none");
                }, 250);
            });
        });

        document.addEventListener("DOMContentLoaded", function() {
            bodyResize();
        });

        // Select Startdatum
        function startdate(element, itemID) {
            saveStartDate($(element).datepicker('getFormattedDate'), itemID);
            console.log(element);
        }

        function saveStartDate(date, itemID) {
            console.log(date, itemID);
            $.get("/shop/removeItem?itemid=" + itemID, function() {
                if (itemID != "") {
                    $.get("/shop/addItem?itemID=" + itemID + "&startDate=" + date, function() {
                        document.location.href = window.location.href;
                    });
                }
            });
        }

        //fügt navigation dynamisch ein
        if (document.getElementById("benutzer_navigation")) {
            if ($(".firmaname").length > 0) {
                $('.firmanav').show();
            } else {
                $('.firmanav').hide();
            }
            $('#benutzer_navigation_inner').addClass('d-none d-lg-block pe-0');
            const node = document.getElementById("benutzer_navigation_inner");
            document.getElementById("benutzer_navigation").replaceWith(node);
        } else {
            $('#benutzer_navigation_inner').hide();
        }

        //fügt basket dynamisch ein
        if (document.getElementById("offertBasket")) {
            const basket = document.getElementById("basketInner");
            const firstChildDiv = basketInner.firstElementChild;
            const clone = firstChildDiv.cloneNode(true)
            document.getElementById("offertBasket").appendChild(clone);
        }

        function StartPageFunction() {
            // für collapsible
            var coll = document.getElementsByClassName("collapsible");
            var i;

            for (i = 0; i < coll.length; i++) {
                coll[i].addEventListener("click", function() {
                    this.classList.toggle("active");
                    var content = this.nextElementSibling;
                    try {
                        if (content.style.display === "block") {
                            content.style.display = "none";
                        } else {
                            content.style.display = "block";
                        }
                    } catch (e) {}
                });
            }
        }

        // start function
        try {
            StartPageFunction();
        } catch (e) {}

        const mengenangabeMaster = document.querySelectorAll('.mengenangabeMaster');
        const mengenangabeMasterID = document.querySelectorAll('.mengenangabeMasterID');

        for (let i = 0; i < mengenangabeMaster.length; i++) {
            const element = mengenangabeMaster[i];
            element.addEventListener('blur', (event) => handleFormSubmitMaster(event, i));
            element.addEventListener('keypress', (event) => handleFormSubmitMaster(event, i));
        }

        function handleFormSubmitMaster(event, count) {
            if (event.type === "keypress" && event.key !== "Enter") {
                return;
            }
            event.preventDefault();
            window.location.href = "/shop/addItemMenge?itemID=" + mengenangabeMasterID[count].value +
                "&showCard=true&menge=" + mengenangabeMaster[count].value;
        }

        $('.navbar .dropdown').hover(function() {
            $(this).find('.dropdown-menu').first().stop(true, true).delay(250).slideDown();
        }, function() {
            $(this).find('.dropdown-menu').first().stop(true, true).delay(100).slideUp();
        });

        $(function() {
            $('.mengenangabeMaster').each(function() {
                var $input = $(this);
                // find the nearest container that holds the hidden max field for this item
                var $container = $input.closest('.card, .card-body, .row');
                var maxVal = $container.find('input[name="maxBasketMenge"]').val();

                if (!maxVal) {
                    // fallback: look in a slightly larger scope
                    maxVal = $input.closest('div').find('input[name="maxBasketMenge"]').val();
                }

                if (maxVal && $.isNumeric(maxVal) && maxVal > 0) {
                    var max = parseInt(maxVal, 10);
                    // prevent manual editing
                    $input.prop('readonly', true);

                    // find plus button for this item (title or class)
                    var $plus = $container.find('a[title="Menge erhöhen"], a.MengePlus');

                    var qty = parseInt($input.val(), 10) || 0;
                    if (qty >= max) {
                        // disable plus
                        $plus.addClass('disabled').attr('aria-disabled', 'true').removeAttr('href').css('pointer-events', 'none').css('opacity', '0.2').off('click');
                    } else {
                        // ensure plus is enabled (in case of re-run)
                        $plus.removeClass('disabled').removeAttr('aria-disabled').css('pointer-events', 'auto');
                    }
                }
            });
        });
    </script>

    <script>
        const checkoutForm = document.getElementById("checkoutForm");
        if (checkoutForm) {
            checkoutForm.addEventListener("submit", function(e) {
                const emailCheckout = document.getElementById("emailInput").value.trim();
                if (!emailCheckout) {
                    alert("Bitte gib eine gültige E-Mail-Adresse ein.");
                    e.preventDefault();
                    return;
                }

                const hiddenInputs = document.querySelectorAll("#myHiddenBasket input[type=hidden]");
                const basket = [];

                hiddenInputs.forEach(input => {
                    const valueParts = input.value.split("|");
                    const itemid = valueParts[0] || "";
                    const qty = parseInt(valueParts[1]) || 1;
                    const startdate = valueParts[2] || "";

                    basket.push({
                        itemid,
                        qty,
                        startdate
                    });
                });

                const payloadCheckout = {
                    action: "createcheckout",
                    email: emailCheckout,
                    targetKey_landingpage: "LandingPageUrl",
                    targetKey_return: "CheckoutConfirmPage",
                    targetKey_offer: "OfferUrl",
                    targetKey_error: "ErrorUrl",
                    mailTemplateKey_BuyConfirm: "buyconfirm_de",
                    basket: basket
                };

                document.getElementById("payloadInput").value = JSON.stringify(payloadCheckout);
            });
        }

    </script>

</body></html>