:root{
            --bg:#111214;
            --bg-soft:#18191c;
            --card:#1c1b1d;
            --card-2:#222124;
            --text:#d6d7d6;
            --muted:#adadad;
            --white:#ffffff;
            --gold:#fbb037;
            --gold-soft:#ffd17a;
            --red:#e2341d;
            --border:#35363a;
            --shadow:0 10px 30px rgba(0,0,0,.35);
            --radius:16px;
            --max:1180px;
        }

        *{box-sizing:border-box;margin:0;padding:0;}
        html{scroll-behavior:smooth;}
        body{
            font-family:'Montserrat',sans-serif;
            background:
                radial-gradient(circle at top right, rgba(251,176,55,.08), transparent 20%),
                radial-gradient(circle at top left, rgba(226,52,29,.06), transparent 20%),
                var(--bg);
            color:var(--text);
            line-height:1.65;
        }
        img{max-width:100%;display:block;}
        a{color:inherit;}
        .container{width:min(var(--max), calc(100% - 32px));margin:0 auto;}

        /* TOPBAR */
        .topbar{
            background:#060606;
            border-bottom:1px solid rgba(251,176,55,.18);
            font-size:14px;
        }
        .topbar-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:14px;
            padding:10px 0;
            flex-wrap:wrap;
        }
        .topbar a{color:var(--gold-soft);text-decoration:none;font-weight:600;}

        /* HEADER */
        header{
            position:sticky;
            top:0;
            z-index:1000;
            backdrop-filter:blur(8px);
            background:rgba(10,10,10,.92);
            border-bottom:1px solid rgba(255,255,255,.06);
        }
        .header-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            display:flex;
            justify-content:space-between;
            align-items:center;
            gap:20px;
            padding:14px 0;
        }
        .brand{
            display:flex;
            align-items:center;
            gap:14px;
            text-decoration:none;
            min-width:0;
        }
        .brand img{
            width:220px;
            height:auto;
            object-fit:contain;
            filter:drop-shadow(0 4px 14px rgba(0,0,0,.25));
        }
        .brand-text{min-width:0;}
        .brand-title{
            color:var(--white);
            font-size:30px;
            font-weight:800;
            letter-spacing:1px;
            text-transform:uppercase;
            line-height:1;
        }
        .brand-subtitle{
            color:var(--gold);
            font-size:13px;
            font-style:italic;
            margin-top:6px;
            letter-spacing:.3px;
        }

        nav ul{list-style:none;display:flex;gap:10px;flex-wrap:wrap;justify-content:flex-end;}
        nav li{display:flex;}
        nav a{
            text-decoration:none;
            color:var(--text);
            font-weight:700;
            font-size:18px;
            padding:12px 16px;
            border-radius:10px;
            transition:.2s ease;
            display:inline-flex;
            align-items:center;
            justify-content:center;
            min-height:48px;
            text-align:center;
        }
        nav a:hover,
        nav a.active{color:var(--gold);background:rgba(255,255,255,.04);}

        /* HERO */
        .hero{
            position:relative;
            overflow:hidden;
            border-bottom:3px solid var(--red);
            background:
                linear-gradient(90deg, rgba(0,0,0,.84) 0%, rgba(0,0,0,.68) 42%, rgba(0,0,0,.48) 100%),
                image-set(url('../images/hero-ekule-bg.webp') type('image/webp'), url('../images/hero-ekule-bg.jpg') type('image/jpeg')) center/cover no-repeat;
        }
        .hero-inner{
            width:min(var(--max), calc(100% - 32px));
            margin:0 auto;
            padding:82px 0 78px;
            text-align:center;
        }
        .eyebrow{
            display:inline-flex;
            align-items:center;
            gap:10px;
            background:rgba(251,176,55,.12);
            border:1px solid rgba(251,176,55,.28);
            color:var(--gold-soft);
            padding:8px 14px;
            border-radius:999px;
            font-size:13px;
            font-weight:700;
            letter-spacing:.4px;
            text-transform:uppercase;
            margin-bottom:18px;
        }
        .hero h1{
            font-size:clamp(34px, 5vw, 54px);
            line-height:1.05;
            color:var(--white);
            margin-bottom:18px;
            font-weight:800;
            text-shadow:0 3px 14px rgba(0,0,0,.45);
        }
        .hero h1 span{color:var(--gold);}
        .hero p{
            max-width:860px;
            margin:0 auto;
            font-size:18px;
            color:#ececec;
        }

        /* MAIN */
        main{padding:60px 0 70px;}
        section{margin-bottom:50px;}
        .section-title{
            text-align:center;
            font-size:34px;
            color:var(--white);
            line-height:1.15;
            margin-bottom:12px;
        }
        .section-title span{color:var(--gold);}
        .section-intro{
            text-align:center;
            color:var(--muted);
            font-size:17px;
            max-width:840px;
            margin:0 auto 40px auto;
        }

        /* FOOD GRID (Bilder 4:3) */
        .food-grid{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
            gap:26px;
        }
        .food-card,
        .price-card,
        .info-card,
        .contact-box{
            background:linear-gradient(180deg, var(--card), var(--card-2));
            border:1px solid var(--border);
            border-radius:var(--radius);
            box-shadow:var(--shadow);
        }
        .food-card{
            display:flex;
            flex-direction:column;
            overflow:hidden;
            transition:transform .25s ease, box-shadow .25s ease;
        }
        .food-card:hover{
            transform:translateY(-6px);
        }
        .food-media{
            width:100%;
            aspect-ratio:4 / 3;
            overflow:hidden;
            border-bottom:2px solid var(--gold);
        }
        .food-card img{
            width:100%;
            height:100%;
            object-fit:cover;
            transition:transform .35s ease;
        }
        .food-card:hover img{
            transform:scale(1.03);
        }
        .food-copy{
            padding:18px;
            flex-grow:1;
        }
        .food-copy h3{color:var(--white);font-size:20px;margin-bottom:8px;}
        .food-copy p{color:#bdbdbd;font-size:15px;}

        /* PRICE GRID */
        .price-wrap{
            display:grid;
            grid-template-columns:1.2fr 0.8fr;
            gap:26px;
        }
        .price-card{padding:32px;}
        .badge{
            display:inline-block;
            background:var(--red);
            color:#fff;
            padding:7px 12px;
            border-radius:999px;
            font-size:12px;
            font-weight:800;
            letter-spacing:.5px;
            text-transform:uppercase;
            margin-bottom:14px;
        }
        .price-card h3{color:var(--white);font-size:28px;margin-bottom:10px;}
        .price-big{
            font-size:46px;
            line-height:1;
            font-weight:800;
            color:var(--gold);
            margin-bottom:10px;
        }
        .subline{color:var(--white);font-weight:700;margin-bottom:16px;}
        .list{
            list-style:none;
            display:grid;
            gap:10px;
            margin-top:14px;
        }
        .list li{
            padding-left:28px;
            position:relative;
            color:#ececec;
        }
        .list li::before{
            content:'✓';
            position:absolute;
            left:0;
            top:0;
            color:var(--gold);
            font-weight:800;
        }

        .info-card{padding:32px; height:fit-content;}
        .info-card h3{color:var(--white);font-size:24px;margin-bottom:16px; border-bottom:2px solid var(--gold); padding-bottom:8px; display:inline-block;}
        .price-table{display:grid;gap:12px;}
        .price-row{
            display:flex;
            justify-content:space-between;
            gap:18px;
            padding:12px 0;
            border-bottom:1px dashed rgba(255,255,255,.08);
        }
        .price-row:last-child{border-bottom:none;}
        .price-row strong{color:var(--white);}
        .price-row span{color:var(--gold-soft);font-weight:700;white-space:nowrap;}

        .addons-grid{
            display:grid;
            grid-template-columns:repeat(auto-fit, minmax(320px, 1fr));
            gap:26px;
        }

        .contact-box{
            padding:40px 24px;
            text-align:center;
            margin-top:20px;
        }
        .contact-box h2{font-size:32px;color:var(--white);margin-bottom:10px;}
        .contact-box p{color:var(--muted);margin-bottom:24px; max-width:700px; margin-left:auto; margin-right:auto;}
        .hero-buttons{display:flex;gap:14px;flex-wrap:wrap;justify-content:center;}
        .btn{
            display:inline-flex;
            align-items:center;
            justify-content:center;
            gap:10px;
            min-height:56px;
            padding:15px 26px;
            border-radius:12px;
            text-decoration:none;
            font-weight:800;
            font-size:18px;
            letter-spacing:.2px;
            transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
            box-shadow:var(--shadow);
        }
        .btn:hover{transform:translateY(-2px);}
        .btn-primary{background:var(--gold);color:#111;}
        .btn-primary:hover{background:#ffc04f;}
        .btn-secondary{background:var(--red);color:#fff;}
        .btn-secondary:hover{background:#f0432d;}

        footer{
            background:#090909;
            border-top:1px solid rgba(255,255,255,.06);
            padding:32px 0;
            margin-top:18px;
        }
        .footer-inner{width:min(var(--max), calc(100% - 32px));margin:0 auto;text-align:center;}
        .footer-inner p{margin:8px 0;color:#9d9d9d;font-size:14px;}
        .footer-inner a{color:var(--gold);text-decoration:none;font-weight:700;}

        @media (max-width: 1080px){
            .header-inner{flex-direction:column;align-items:flex-start;}
            nav ul{justify-content:flex-start;}
            .price-wrap{grid-template-columns:1fr;}
        }
        @media (max-width: 680px){
            .brand img{width:170px;}
            .brand-title{font-size:24px;}
            .hero-inner{padding:68px 0 64px;}
            .hero h1{font-size:34px;}
            .section-title{font-size:28px;}
            nav a{font-size:16px;padding:10px 12px;min-height:44px;}
            .btn{width:100%;}
            .price-row{flex-direction:column;gap:6px;}
            .topbar-inner{font-size:13px;}
        }
.inline-fix-speisekarte-1{color:var(--muted); margin-bottom:16px;}

@font-face{font-family:'Montserrat';font-style:normal;font-weight:400;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:500;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:600;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:700;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}
@font-face{font-family:'Montserrat';font-style:normal;font-weight:800;font-display:swap;src:url('../fonts/montserrat-latin-v31.woff2') format('woff2');}


/* Technische Reparaturen ohne Aenderung der Desktop-Designidentitaet. */
:focus-visible{outline:3px solid #7fb6ff;outline-offset:3px;}
.skip-link{position:fixed;left:12px;top:-100px;z-index:10000;background:#fff;color:#111;padding:10px 14px;border-radius:8px;font-weight:800;text-decoration:none;}
.skip-link:focus{top:12px;}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
.external-consent{min-height:420px;display:grid;place-items:center;padding:28px;text-align:center;background:#f4f4f4;color:#222;border:1px solid #777;}
.external-consent-inner{max-width:620px;}
.external-consent h3{margin-bottom:10px;color:#111;}
.external-consent p{margin-bottom:18px;color:#444;}
.external-consent .btn{display:inline-flex;width:auto;}
.external-widget-note{display:block;margin:12px 0;color:#adadad;font-size:14px;}
.form-note{margin:0 0 18px;color:#adadad;font-size:13px;line-height:1.55;}
.form-note a{color:#ffd17a;}
.center-buttons{justify-content:center;}
.lightbox-close{border:0;background:transparent;font:inherit;line-height:1;cursor:pointer;}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto!important;}*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;}}
@media (max-width:680px){header{position:static;}nav{width:100%;}nav ul{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;}nav li,nav a{width:100%;}.topbar-inner{align-items:flex-start;}.external-consent{min-height:360px;padding:20px;}}
